| | 1 | = Syslogメモ = |
| | 2 | Syslogを使うと複数のサーバのログをログサーバに集約することができます。ここでは、RedHat系OSで利用されているSyslogの実装の一つであるrsyslogの使い方を紹介します。 |
| | 3 | |
| | 4 | == rsyslogの設定 == |
| | 5 | syslogでは、ファシリティと呼ばれるログのグループにより、カーネルのログやアプリケーションなどログの種類を指定します。アプリケーションのログをlocal0という名前のファシリティで出力するには、 |
| | 6 | |
| | 7 | '''/etc/rsyslog.conf''' |
| | 8 | {{{ |
| | 9 | local0.* /var/log/application.log |
| | 10 | }}} |
| | 11 | |
| | 12 | 複数のサーバのログを集約するには、UDP(もしくはTCP)を利用してログを受け取る設定を行う必要があります。ネットワーク経由でログを受け取る設定は、rsyslogのSYSLOGD_OPTIONSを下記のように変更します。 |
| | 13 | |
| | 14 | '''/etc/sysconfig/rsyslog''' |
| | 15 | {{{ |
| | 16 | SYSLOGD_OPTIONS="-m 0 -r514" |
| | 17 | }}} |
| | 18 | |
| | 19 | 設定が終わったら下記のコマンドによりrsyslogdを再起動すれば有効になります。 |
| | 20 | {{{ |
| | 21 | # /etc/init.d/rsyslogd restart |
| | 22 | }}} |
| | 23 | |
| | 24 | CentOSやRedHatではデフォルトでは、ファイアウォールの設定によりsyslog(514ポート)のメッセージを受け付けないようになっています。 |
| | 25 | 下記のようにREJECTルールの手前に514番のUDPを有効にする設定を記述します。 |
| | 26 | |
| | 27 | '''/etc/sysconfig/iptables''' |
| | 28 | {{{ |
| | 29 | -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT |
| | 30 | -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 514 -j ACCEPT |
| | 31 | -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited |
| | 32 | }}} |
| | 33 | 変更したファイアウォールの設定を有効にするには、下記のコマンドを実行します。 |
| | 34 | {{{ |
| | 35 | # service iptables restart |
| | 36 | }}} |