CentOS 6 標準の syslogd は rsyslog なんだけど、CentOS 5 の頃に syslog-ng を使ってたので、それに切り替える手順。番号が連続してないけど気にしない。
- EPELのリポジトリを追加する
# wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm # rpm -ivh epel-release-6-5.noarch.rpm
- syslog-ng を yum install する
# yum --enablerepo=epel install syslog-ng eventlog syslog-ng-libdbi
- 設定変更
# vi /etc/syslog-ng/syslog-ng.conf
- syslogd を入れ替える
# /etc/init.d/rsyslog stop # /etc/init.d/syslog-ng start
- syslog-ng を自動起動、rsyslog をお休みさせる
# chkconfig rsyslog off # chkconfig syslog-ng on
tips 的なもの
- CentOS 5 時代から設定ファイルの位置が変わってる
- /etc/syslog-ng.conf → /etc/syslog-ng/syslog-ng.conf
- filterのmatchの構文が変わってて起動時に WARNING がでる
WARNING: the match() filter without the use of the value() option is deprecated and hinders performance, please update your configuration;
-
- syslog-ng 3.0 あたりで match が match と message に分かれた模様。単純なmatchはmessageに置換でOKっぽい
- 起動時にプラグインが無いと怒られる
# /etc/init.d/syslog-ng restart syslog-ng を停止中: [ OK ] Plugin module not found in 'module-path'; module-path='/lib64/syslog-ng', module='afsql' syslog-ng を起動中: Plugin module not found in 'module-path'; module-path='/lib64/syslog-ng', module='afsql' [ OK ]
-
- SQL バックエンド周りの依存性の問題らしい。 syslog-ng-libdbi を入れたらおとなしくなる。
# yum install syslog-ng-libdbi