syslog-ngの導入と設定:新世代syslogデーモン徹底活用(2)(2/3 ページ)
UNIX系OSのシステムロギングをおよそ20年の長きにわたって支えてきた「syslogd」にも、限界が見えつつあります。その限界を打ち破る機能を備えた新しいシスログデーモンを紹介します。(編集部)
syslog-ngの設定(syslogdの設定ファイルを再利用)
syslog-ng単体で新たに設定する方法は次ページで解説します。その前にここでは、syslogdで使用していた「syslogd.conf」を変換して利用する方法を紹介します。変換には「syslog2ng」スクリプトを使用します。
syslog2ngスクリプトは、ソースからインストールした場合は、ソースディレクトリ中の「contrib/」に見つけることができます。バイナリパッケージを使った場合は「/usr/share/doc/syslog-ng-2.0.9」などにあります。
(既存ファイルがある場合は、事前にバックアップを作成しておく) # mv /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf.org (syslog2ngスクリプトの実行:yumやrpmを使ってインストールした場合) # awk -f /usr/share/doc/syslog-ng-2.0.9/syslog2ng /etc/syslogd.conf > /etc/syslog-ng/syslog-ng.conf (syslog2ngスクリプトの実行:ソースアーカイブを使ってインストールした場合) # awk -f /...syslog-ng-2.0.9のソース.../contrib/syslog2ng /etc/syslogd.conf > /etc/syslog-ng/syslog-ng.conf
変換されたsyslog-ng.confに対しては、syslog-ngを起動する前に必ず構文チェックを実施しておきましょう。
# syslog-ng -s
syslog-ngの起動、停止、再起動
次に、syslog-ngを起動します。
syslogdなどほかのデーモンを使用している場合には、デーモンを停止し、自動起動も解除する必要があります。CentOSなど、標準シスログデーモンとしてsyslogdを使用している場合の解除方法は、次のとおりです。
# /etc/init.d/syslog stop ←syslogの停止 # chkconfig --list syslog ←syslogdの自動起動解除 syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off ←ランレベル2、3、4、5で自動起動が登録されていることを確認 # chkconfig --level 2345 syslog off ←ランレベル2、3、4、5で自動起動解除
なお、Fedoraのようにrsyslogを使用しているディストリビューションでは、「/etc/init.d/syslog」の代わりに、「/etc/init.d/rsyslog」に対し、停止と自動起動解除を行います。UbuntuやDebianでは「サービスの設定」やsysv-rc-confコマンドなどを利用します。
続いて、syslog-ngのインストールで用意した「/etc/init.d/syslog-ng」スクリプトを使って、syslog-ngを自動起動するように登録します。chkconfigコマンドを利用した自動起動の登録/解除は次のとおりです。先ほどと同様、UbuntuやDebianでは「サービスの設定」を利用します。
# chkconfig --add syslog-ng ←自動起動登録 # chkconfig --list syslog-ng ←設定確認 syslog-ng 0:off 1:off 2:on 3:on 4:on 5:on 6:off ←ランレベル2、3、4、5で「on」になっていない場合は「# chkconfig --level 2345 syslog-ng on」を実行
手動でsyslog-ngデーモンの起動や停止、再起動を行う場合も「/etc/init.d/syslog-ng」スクリプトを利用します。設定を修正するたびに、再起動が必要になります。
# /etc/init.d/syslog-ng start ←syslog-ngの起動 # /etc/init.d/syslog-ng stop ←syslog-ngの停止 # /etc/init.d/syslog-ng restart ←syslog-ngの再起動
動作確認
syslog-ngの動作を確認するためにloggerコマンドを使用します。loggerコマンドでシスログを意図的に発生させ、ログファイルにログが書き込まれていることを確認します。
# logger -p daemon.crit syslog-ng install ok ←「-p」でファシリティとプライオリティを指定 # tail /var/log/messages(または/var/log/syslog) Aug 5 05:07:29 ○○ ○○: syslog-ng install ok
Copyright © ITmedia, Inc. All Rights Reserved.