syslogを押さえよう!

2008年12月9日(火)
菊地 宏一郎

ログの出力方法

「第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と表記します。

株式会社アールワークス

大学在学時に FreeBSDユーザーになり、その流れで非Windows 系の仕事を求め 2006年アールワークス入社。 現在はネットワークインテグレーション部に在籍し、日々顧客システムの問題を解決すべく奮闘中。http://www.rworks.jp/index.php

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています