Top Page: メイン
Previous Page: サーバ停止
Next Page: Clam AntiVirusでWARNING

syslog-ngで自動メール送信

以前からサーバにはsyslog-ngを導入していたのだがようやくアラートを自動でメール通知するようにした。
Perlでメール送信スクリプトを作ってsyslog-ngからこのスクリプトを呼び出すという方法。

作ったPerlスクリプト
alert_mail.pl
#!/usr/bin/perl

### For Sendmail
#$sendmail = '/usr/lib/sendmail';

### For Postfix
#$sendmail = '/usr/sbin/sendmail';

### For qmail
$sendmail = '/var/qmail/bin/sendmail';

$from = 'username@kajukaju.net';
$to = 'username@kajukaju.net';

$header = <<END;
From: $from
To: $to
Subject: Syslog-ng Alert!
Mime-Version: 1.0
Content-Type: text/plain; charset="ISO-2022-JP"
Content-Transfer-Encoding: 7bit
X-Mailer: syslog-ng auto sender program ver1.0 by kajukaju.net

END

while (<STDIN>) {
        if ($_) {
                  $body = $_;
                  $body =~ s/^<[0-9]*>//g;
                  open(MAIL, "| $sendmail -t -i");
                  print MAIL $header,$body;
                  close(MAIL);
        }
}
あとはsyslog-ng.confでalert_mail.plを呼び出す。
syslog-ng.conf
destination d_mailsend { program("/usr/local/bin/alert_mail.pl"); };
filter f_mailsend { match("messages"); };
log { source(s_sys); filter(f_mailsend); destination(d_mailsend); };

【syslog-ngの導入はこちら】
http://www.kajukaju.net/centos/syslogng.php

Trackback Pings

TrackBack URL for this entry:

No trackbacks found.

Comments

No comments found.

Post a Comment

Remember personal info?

Search this site