syslogを押さえよう!
ログの出力方法
「第1回:必読!ログファイルとディレクトリ」では、CentOS 5.2の/var/logディレクトリ以下に存在する、ログファイルとディレクトリについて説明しました。第2回は、このさまざまなログファイルの管理について説明します。
ログの出力方法という観点からみた場合、ログは、アプリケーションが独自の方法で出力したものと、Unix/Linuxにおける標準的なログ出力方法であるsyslogを利用して出力されたものとに大別できます。
アプリケーション独自の方法で記録されたログファイルとしては、/var/log/wtmpや/var/log/lastlogといったバイナリ形式のファイルがあります。また、ApacheやSamba、Squidなど、独自のログディレクトリを持つアプリケーションの多くも、独自の方法でログを記録しています。
一方、syslog は、独自のログ出力方法を持たない、非常に多くのアプリケーションが利用しています。syslogを利用して出力されたログメッセージが記録されるログファイルは、/var/log/boot.log、/var/log /cron、/var/log/maillog、/var/log/messages、/var/log/secure、/var/log/spoolなどですが、特定のアプリケーションを除き、多くのアプリケーションのログメッセージは、デフォルトで/var/log/messagesに記録されます。
このため、syslogを使うアプリケーションがたくさん稼働しているシステムや、syslogを使って大量のログメッセージを出力するアプリケーションが稼働しているようなシステムでは、適切な設定を行わないと、/var/log/messagesが大量のログメッセージ埋め尽くされてしまいます。場合によっては、重要なメッセージを見落としてしまうかもしれません。よってsyslogは、適切に設定する必要があります。
syslogとは
syslogは、OSやアプリケーション、サービスが情報をログとして記録するための仕組みで、現在のUNIX/Linuxシステムには標準的に備わっています。syslogには、1983年に発表された4.2 BSDで導入されて以来20年以上の歴史があり、2001年には、そのプロトコルとメッセージフォーマットがRFC3164として定義されています。
syslogにおいては、ログメッセージを出力するアプリケーションとは別に、出力されたログメッセージを受けとるアプリケーションが存在し、このログ受信アプリケーションが、受け取ったログメッセージをファイルに保存するなどの処理しています。また、ログ受信アプリケーションによっては、受け取ったログメッセージをネットワーク越しに別サーバーに送信することができ、この機能を使うことで、複数サーバーのログを1台のサーバーに集約することが可能になります。なお、CentOSでは、ログ受信アプリケーションとして、syslogdというプログラムが採用されています。
また、syslogでは、ログの種類をfacility、ログの重大度をseverityという、数字で表されるコードで指定します。Facilityは全部で0~23の24種類ありますが、さまざまなOSで同じ用途に異なる番号を使っているという事情があり、Linuxでは図1に示した20種類が使われています。Serverityは、図1に示した通り、0~7の8種類あり、こちらは、OSによって異なるということはありません。
なお、図1には「syslog.confでのキーワード」として、syslogdの設定ファイルでfacilityおよびseverityを指定する際に使うキーワードも併せて掲載しています。表中の priorityは、syslog(8)とsyslog.conf(5)において重大度を表すために用いられている用語です。次ページからはsyslogdの設定になりますので、以降は、重大度を severityではなくpriorityと表記します。
この記事の続きをお読みいただくには、会員登録が必要です。
Think IT会員募集中(登録無料)
会員限定特典の一例
- 記事の内容を補足する解説動画
- 解説内で使用した全ソースコード
- 連載記事をまとめた電子書籍(通常は有償販売)
- 記事や関連する製品・サービスのメルマガ
- 1
- 2
- 次 ›
- 最後 »