- - PR -
syslog-ngを使用して、シェルスクリプトによる障害メール送付
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-09-08 21:52
みなさま、はじめまして。
新米SEのKYOと申します。 ほとほと困り果てて、これ以上工数もかけられないので すがる思いで投稿しました。 ご助言がありましたら、宜しくお願い致します。 === しようとしている事はsyslog-ngを使用して、障害ログがhitした際に障害メールを 管理者へメール送付することです。 NW機器からのログの採取、ホスト名によるディレクトリ振り分け、 コマンドによるroot及び外部へのメール送信は成功しています。 スクリプトによるメール送信ができずに困っております。 === 検証環境=== OS:RHEL ES4 MTA:sendmail NW機器ホスト名:Cat2950 /etc/hostsに書いてホスト名解決済み === syslog-ng.conf source s_cisco {udp(); }; destination d_alert {program("/usr/local/bin/alert-mail.sh"); }; filter f_match {host(cat2950); }; log {source("s_cisco"); destination("d_alert"); filter("f_match"); }; === alert-mail.sh #!/bin/bash while read line; do echo $line | mail -s "Syslog-Alert" root done === cat cat2950.log | mail -s "Syslog-Alert" root ではメール送付できます。 NW機器からのログはパケットを見ると、受信はしています。 /var/log/maillog には何もログが出ていないところを見ると、 スクリプトかsyslog-ng.confかなと思いますが、、さっぱり・・。 スクリプトの内容を touch test.log にしても、反応がないのでsyslog-ngのfilterが動いてないのかなとも 思いますが、、同じ構文でホスト名でのディレクトリの振り分けはできるので 何か別の問題があるのかもしれません(泣 syslog-ng関連のネットを漁ったり、書籍を読んでもわからず困り果てています。 何かご助言が頂ければ非常にありがたく思っております。 何卒宜しくお願い致します。m(__)m [ メッセージ編集済み 編集者: KYO 編集日時 2005-09-08 22:09 ] | ||||
|
投稿日時: 2005-09-08 23:28
こんばんわ.
まず「script が実行される状態か?」という意味で, alert-mail.sh をもっと簡単なものにして実行させてみては? それで実行されるなら script のほうに問題があるかも. alert-mail.sh そのものは問題ないのでしょうか? 答えになってなくてゴメンナサイ. | ||||
|
投稿日時: 2005-09-09 17:17
syslog-ngは使ったことないので仕様は分かりませんが コマンド呼び出す時にPATHは渡されるんですかね? http://www.atmarkit.co.jp/fsecurity/rensai/unix_sec10/unix_sec01.html ここでは、mailコマンドをFullパスで書いているので 仕様はどうなのかなと。。。 ああ、RHEL4であれば/bin/mailですね。 | ||||
|
投稿日時: 2005-09-09 23:04
Kaz様、anights様、レスありがとうございます。
自己解決しました・・。 えっと・・。 === alert-mail.sh rw-r--r-- => rwxr--r-- === で解決しました・・。 めっちゃ恥ずかしくて顔から火がでそうです(泣 [ メッセージ編集済み 編集者: KYO 編集日時 2005-09-09 23:04 ] |
1