syslog-ng には、特定の条件にマッチしたログメッセージを出力する機能があります。filter の match() や host() などを使用します。たとえば ssh によるリモートログインのうち失敗をしたもののみを出力するには次の例のように指定します。ssh ログインで失敗した際に出力されるログメッセージにマッチするように match を指定しています。
destination d_ssh_alert { { file("/var/log/ssh-alert"); };;
filter f_failed_ssh { program("sshd") and match("Failed password "); };
log { source(s_sys); filter(f_failed-ssh); destination(d_ssh_alert); };
|
![]() | 出力先を変えるには destination の指定を編集します。例えば、管理者へメールを送信するにはシェルスクリプトなどを用意して program として指定します。 |