こんにちは、モリモルです。syslog(ロギングデーモン)のメモです。
サーバープログラムには、ログの出力に「syslogを利用するもの」「使用しないもの」の2種類がある。
Apacheはsyslogを利用しない。
/sbin/syslogdsyslogデーモン
/etc/init.d/sysklogd起動スクリプト
/var/run/syslogd.pidpidファイル
/etc/syslog.conf設定ファイル
設定ファイルの書式[ファシリティ].[プライオリティ] [アクション]
ファシリティauth、authpriv、cron、daemon、kern、mail、syslog、local0 ~ local7など
デーモンがどのファシリティを使うかは、ソフト開発者が指定
プライオリティログの重要度を示す
低 <-- debug、info、、notice、warning、err、crit、alert、emerg --> 高
ソフト開発者が指定
アクション「ファシリティ」「プライオリティ」で分類されたログをどのように処理するかを指定
・ファイル出力
・コンソール出力
・パイプでプログラムへ渡す
・ユーザーに通知 など
ファシリティ・プライオリティの指定例
mail,ftp.warnファシリティ「mail」と「ftp」の「warn」以上を処理
mail.errファシリティ「mail」の「err」以上を処理
mail.*;mail.!warnファシリティ「mail」の「warn」以下を処理
「*」----全てのプライオリティ
kern.=warnファシリティ「kern」の「warn」のみを処理
.;daemon.noneファシリティ「daemon」以外の全てを処理
アクションの指定例
/var/log/sample.logファイルへ出力
| /usr/bin/***.shパイプで他のプログラムへ渡す
/dev/consoleローカルコンソールへ出力
@remotehostリモートホストのsyslogdへ送信
root,morimorurootとmorimoruのターミナルへ出力
*全てのオンラインユーザーのターミナルへ出力
syslogdの設定を変えたら再起動$sudo /etc/init.d/sysklogd restart