こんにちは、モリモルです。syslog(ロギングデーモン)のメモです。
サーバープログラムには、ログの出力に「syslogを利用するもの」「使用しないもの」の2種類がある。
Apacheはsyslogを利用しない。
/sbin/syslogd
syslogデーモン
/etc/init.d/sysklogd
起動スクリプト
/var/run/syslogd.pid
pidファイル
/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,morimoru
rootとmorimoruのターミナルへ出力
*
全てのオンラインユーザーのターミナルへ出力
syslogdの設定を変えたら再起動
$sudo /etc/init.d/sysklogd restart