syslogdの設定方法

syslogdの設定方法

syslodの設定ファイルは別途コマンドラインで指定されない限り/etc/syslog.confです。設定ファイルは行志向のファイルで、1行ごとに、facilityとpriorityのペアを記したselector部と、selectorにマッチしたログの出力先を記したaction部とを、スペースまたはTABで区切って記述します(図2-1)。selectorに指定されたpriority以上のpriority(selectorに指定されたpriorityより値の小さいpriority)を持つログメッセージが、そのselectorにマッチします。

selectorには、図1に示したキーワードを、facility、priorityの順にピリオド(.)で区切って記述します。また、キーワードのほかに、すべてを表すアスタリスク(*)をfacilityとpriorityの両方に、何にもマッチしないことを表すnoneをpriorityに記述することができます。例えば、「facilityがmailでpriorityがinfo以上のログメッセージ」にマッチするselectorは「mail.*」、「emerg以上のpriorityを持つすべてのログメッセージ」にマッチするselectorは「*.emerg」と書きます。

また、priorityの前にイコール(=)を置くことで、マッチするpriorityを、指定したもののみに限定することができます。同様に、エクスクラメーションマーク(!)をpriorityの前に置くと否定の意味になり、指定したpriority以外のすべてのpriorityがマッチするようになります。例えば、「priorityがdebugであるすべてのログメッセージ」にマッチするselectorは「*.=debug」と書きます。

このほか、1つのactionに対し複数のselectorをセミコロン(;)で区切って書くこともできます。また、1つのpriorityに対し複数のfacilityをカンマ(,)で区切って書くこともできます。例えば、「facilityがmail、authpriv、cron以外のinfo以上のpriorityを持つメッセージ」にマッチするselectorは「*.info;mail.none;authpriv.none;cron.none」と書きます。

actionには、selectorにマッチしたログメッセージの出力方法を記述します。出力先としては、通常ファイル、特定のコマンド、リモートのsyslogd、ローカルユーザが指定できます。

通常ファイルにログ出力する場合は、actionに「/var/log/messages」のように、ファイル名をフルパスで記述します。特定のコマンドにログメッセージを渡す場合には、「|/usr/sbin/rotatelogs」のように、actionを「パイプ(|)」で始めます。ログメッセージはパイプで特定のコマンドに渡されます。ローカルユーザにログメッセージを送る場合には、actionに「root,user1」のように、ユーザ名をカンマ(,)で区切って記述します。また、actionにアスタリスク(*)を書くと、すべてのログインユーザにログメッセージが送られます。図2-2は、actionに指定できるログ出力方法のまとめです。

facility、priorityの確認方法とsyslogdの設定確認方法

続いて、ログメッセージのfacilityとpriorityの確認方法と、syslogdの設定を変更した際の確認方法について説明します。

まず、ログメッセージのfacilityとpriorityの確認方法ですが、これは、syslogdの起動オプションに-Sを指定することで確認できます。-Sを1つ指定すると、以下のように、ログファイルにfacilityとpriorityが数値で記録されるようになります。

Nov 17 05:58:31 <5.6> localhost syslogd 1.4.1: restart.

また、-Sを2つ指定すると、以下のように、ログファイルにfacilityとpriorityが、syslog.confに指定するキーワードと同様の文字列として記録されます。

Nov 17 06:00:23 <syslog.info> localhost syslogd 1.4.1: restart.

なお、起動スクリプト(/etc/rc.d/init.d/syslog)を使ってsyslogdの起動/停止を行っている場合、syslogd の起動オプションは/etc/sysconfig/syslog中のSYSLOGD_OPTIONSにて指定されていますので、これを編集してください。

続いて、syslogdの設定確認方法ですが、これにはloggerコマンドが利用できます。local0.infoの「test」というメッセージを出力するには以下のコマンドを実行します。

$ logger -p local0.info test

ログメッセージをファイルに保存するように設定した場合には、指定したログファイルに、以下のようなメッセージが記録されていれば、正しく設定が行われたことになります。

Nov 19 08:31:28 <local0.info> localhost root: test

以上で、syslogの基本的な説明は終了です。次ページではlogrotateの説明を行います。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30