rsyslogを標準syslogデーモンとして利用するため、syslogdを停止します。またsyslogdが自動起動しないよう、停止処理を行います。
自動起動の解除にはchkconfigコマンドを使用していますが、ntsysvやサービス設定ツールを使っても同じように自動起動解除ができます。サービス設定ツールは「デスクトップメニュー→システム→管理→サーバ設定→サービス」で実行できます。
# /etc/init.d/syslog stop ←syslogdの停止 # chkconfig --level 123456 syslog off ←syslogdの自動起動解除 # chkconfig --list syslog ←確認 syslog 0:off 1:off 2:off 3:off 4:off 5:off 6:off ←すべて「off」になっています
ログファイルを定期的にローテションするのにlogrotateを使用している場合、ログファイルを置き換えた後に、syslogdの再起動が行われます。誤動作しないよう設定ファイルを削除(または任意のディレクトリに待避)します。なおrsyslog用のlogrotate設定ファイルは先ほどの作業でインストールされています。
# cd /etc/logrotate.d/ # mv syslog /..backup../syslog.log ←syslogd用のlogrotate設定ファイルの待避(または削除します)
rsyslogを起動します。設定はデフォルトのまま使用することにします。起動には先ほどインストールした/etc/init.d/rsyslogを利用します。起動後、動作を確認します。確認作業ではloggerコマンドでシスログを発生させ、/var/log/messagesにログが出力されていることを確認します。
# /etc/init.d/rsyslog start # /etc/init.d/rsyslog status rsyslogd (pid 14609) を実行中...
# logger -p daemon.crit syslog-ng install ok (「-p」でファシリティとプライオリティを指定しています) # tail /var/log/messages Oct 10 05:07:29 △△ ○○: syslog-ng install ok ←loggerコマンドで入力したメッセージがそのまま出力されています
rsyslogを停止させる場合も/etc/init.d/rsyslogを利用します。
# /etc/init.d/rsyslog stop
問題なく動作していることが確認できた後、自動起動の登録を行います。これによりサーバ起動時に自動でrsyslogも起動します。
自動起動の登録にはchkconfigコマンドを使用していますが、ntsysvやサービス設定ツールを使っても同じように自動起動登録ができます。サービス設定ツールは「デスクトップメニュー→システム→管理→サーバ設定→サービス」で実行できます。
# chkconfig --add rsyslog ←自動起動登録 # chkconfig --list rsyslog ←確認 rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off ←2〜5で「on」になっています
rsyslogは多くのディストリビューションに対応しており、各ディストリビューションに用意されているパッケージ管理ツールを使ってインストールできます。
Fedoraではrsyslogが標準採用されているため、作業の必要はありません。CentOSでもyumコマンドを使って、オンラインインストールを実行できます。ただし、パッケージとして用意されているrsyslogのバージョンが古いため、最新のものを利用するには、先に紹介したようにソースファイルからインストールする必要があります。
ではUbuntuを例に、バイナリパッケージを利用して導入する方法を解説します。UbuntuではSynapticを使って、すべての処理を自動的に行うことができます。
デスクトップメニューの「システム→システム管理→Synaptic パッケージ・マネージャ」でSynapticを起動し、「rsyslog」をキーワードに検索を実行します。表示されたパッケージを右クリックし「インストール指定」を選択します。そして上部メニューから「適用」をクリックし、インストールを完了します。
このインストール処理では、競合するパッケージ(klogdやsysklogd)の削除、デーモンの起動と自動起動の登録までが一括して行われます。
rsyslogの動作を確認するために、loggerコマンドを使用します。loggerコマンドの使用法は、「ソースからインストールする」で紹介した方法と同様ですが、Ubuntuでは/var/log/syslogにテスト内容が出力されます。
# logger -p daemon.crit syslog-ng install ok (「-p」でファシリティとプライオリティを指定しています) # tail /var/log/syslog Oct 15 05:21:31 △△ ○○: syslog-ng install ok ←loggerコマンドで入力したメッセージがそのまま出力されています
Ubuntuのほか、DebianでもSynapticを利用できます。またopenSUSEでは、YaST2といったパッケージ管理ツールを使ってrsyslogをオンラインインストールします。
rsyslogで使用する設定ファイルはsyslogdのものと互換性があり、syslogdの設定方法がそのまま使用できます。
次回は、TCPを使ったログの転送やデータベースと接続してログを保存するなど、rsyslogならではの利用方法を解説します。
Copyright © ITmedia, Inc. All Rights Reserved.
Linux �ス�ス�ス�ス OSS 鬮ォ�ェ陋滂ソス�ス�コ闕オ譁溷クキ�ケ譎「�ス�ウ驛「�ァ�ス�ュ驛「譎「�ス�ウ驛「�ァ�ス�ー