連載
» 2008年10月31日 00時00分 公開

rsyslogの導入新世代syslogデーモン徹底活用(4)(2/2 ページ)

[Shin.鶴長,@IT]
前のページへ 1|2       

導入に必要な設定

  • syslogdの停止

 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」になっています
リスト4 syslogdの停止、自動起動の解除

 ログファイルを定期的にローテションするのにlogrotateを使用している場合、ログファイルを置き換えた後に、syslogdの再起動が行われます。誤動作しないよう設定ファイルを削除(または任意のディレクトリに待避)します。なおrsyslog用のlogrotate設定ファイルは先ほどの作業でインストールされています。

# cd /etc/logrotate.d/
# mv syslog /..backup../syslog.log
   ←syslogd用のlogrotate設定ファイルの待避(または削除します)
リスト5 syslogdの停止、自動起動の解除
  • rsyslogの起動、動作確認、自動起動の登録

 rsyslogを起動します。設定はデフォルトのまま使用することにします。起動には先ほどインストールした/etc/init.d/rsyslogを利用します。起動後、動作を確認します。確認作業ではloggerコマンドでシスログを発生させ、/var/log/messagesにログが出力されていることを確認します。

# /etc/init.d/rsyslog start
# /etc/init.d/rsyslog status
rsyslogd (pid 14609) を実行中...
リスト6 rsyslogの起動
# logger -p daemon.crit syslog-ng install ok
(「-p」でファシリティとプライオリティを指定しています)
 
# tail /var/log/messages
Oct 10 05:07:29 △△ ○○: syslog-ng install ok
   ←loggerコマンドで入力したメッセージがそのまま出力されています
リスト7 loggerコマンドを使ったrsyslogの動作確認

 rsyslogを停止させる場合も/etc/init.d/rsyslogを利用します。

# /etc/init.d/rsyslog stop
リスト8 rsyslogの停止

 問題なく動作していることが確認できた後、自動起動の登録を行います。これによりサーバ起動時に自動で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」になっています
リスト9 ryslogの自動起動登録

バイナリパッケージを利用したインストール

 rsyslogは多くのディストリビューションに対応しており、各ディストリビューションに用意されているパッケージ管理ツールを使ってインストールできます。

 Fedoraではrsyslogが標準採用されているため、作業の必要はありません。CentOSでもyumコマンドを使って、オンラインインストールを実行できます。ただし、パッケージとして用意されているrsyslogのバージョンが古いため、最新のものを利用するには、先に紹介したようにソースファイルからインストールする必要があります。

 ではUbuntuを例に、バイナリパッケージを利用して導入する方法を解説します。UbuntuではSynapticを使って、すべての処理を自動的に行うことができます。

 デスクトップメニューの「システム→システム管理→Synaptic パッケージ・マネージャ」でSynapticを起動し、「rsyslog」をキーワードに検索を実行します。表示されたパッケージを右クリックし「インストール指定」を選択します。そして上部メニューから「適用」をクリックし、インストールを完了します。

 このインストール処理では、競合するパッケージ(klogdやsysklogd)の削除、デーモンの起動と自動起動の登録までが一括して行われます。

画面1 UbuntuのSynaptic(デスクトップメニューの「システム→システム管理→Synaptic パッケージ・マネージャ」で起動、クリックすると拡大します) 画面1 UbuntuのSynaptic(デスクトップメニューの「システム→システム管理→Synaptic パッケージ・マネージャ」で起動、クリックすると拡大します)
画面2 競合するパッケージの削除(パッケージの競合が自動で解決されます) 画面2 競合するパッケージの削除(パッケージの競合が自動で解決されます)

 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コマンドで入力したメッセージがそのまま出力されています
リスト10 loggerコマンドを使ったrsyslogの動作確認

 Ubuntuのほか、DebianでもSynapticを利用できます。またopenSUSEでは、YaST2といったパッケージ管理ツールを使ってrsyslogをオンラインインストールします。


 rsyslogで使用する設定ファイルはsyslogdのものと互換性があり、syslogdの設定方法がそのまま使用できます。

 次回は、TCPを使ったログの転送やデータベースと接続してログを保存するなど、rsyslogならではの利用方法を解説します。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。