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