日本語アラートメールスクリプトについて
Zabbix1.8.4 を使用してログ監視を行なっています。
useradd / userdel コマンドでユーザアカウントの登録 / 削除が行われた際、
日本語アラートメールスクリプトを使用してメール通知を行うよう設定しています。
----------
監視対象OS RHEL 5
監視対象ログファイル /var/log/secure
アイテムキー log[/var/log/secure,delete\suser|new\suser]
トリガー ({Linux-server:log[/var/log/secure,delete\suser|new\suser].str(delete user)}=1)
----------
アクション
サブジェクト
{HOSTNAME}:{STATUS}
メッセージ
{DATE}{TIME}
{HOSTNAME}
{IPADDRESS}
{TRIGGER.NAME}
{STATUS}
{ITEM.NAME}
{ITEM.LASTVALUE}
----------
日本語アラートメールスクリプト
sendmessage_smtp_php.sh
を使ってメール通知を行うのですが、
アカウント削除を行った場合、
{ITEM.LASTVALUE} に入ってくる値が以下の通りで、
{Jan 11 00:00:00 hostname userdel[xxxxxx]: delete user `xxxxx'}
メッセージ中にバッククオート" ` " があるため、メールスクリプトが正常に動作しません。
メッセージをどうにかしようと思いましたが、OSコマンドのためどうにもなりません。
sendmessage_smtp_php.sh が正常動作する知恵をご教授いただければと思います。
TNK - 投稿数: 4769
少し調べてみましたが、アラートスクリプトを呼び出す部分で、
シェルにコマンドの引数として宛先、タイトル、本文などを引き
渡すようになっています。
その呼び出しの部分で、バックスラッシュがシェルに解釈されて
しまっているように見受けられます。
もし、この原因で障害となっているのであれば、シェルを呼び出
す部分の変更が必要になりますので、単純に設定だけでは回避で
きないと思われます。
ご参考までに、標準のメール送信のメディア(Email)を利用すれ
ば、バックスラッシュが含まれていてもメールで送信できるはず
です。
最近のメールシステムは、UTF-8でも正常に取り扱えるメールシ
ステムも増えているようですので、そのようなメールシステムを
利用されているのであれば、標準のメール送信のメディアを利用
してみてはいかがでしょうか。
ma34 - 投稿数: 16
標準のメール送信のメディア(Email)を利用して、
該当メッセージを正常に受信できることを確認しました。
当面はこの設定で回避出来そうです。
ただ、様々なシステム上で動いており
ユーザ認証が必要なSMTPサーバもあることから、
日本語アラートメールスクリプトは大変重宝していますので、
主にこちらを使いたいと考えています。
sendmessage_smtp_php.sh を直してみようか、
それともスクリプト全体を見直してみようかと思いましたが、
如何せん手がかりが無いことにはなあと。
標準のメール送信のメディアでOKということは、このへんに直すヒントが有ります?
(GPLなので、改修はOKですよね。)
ユーザ定義マクロでエスケープ処理を書いて回避出来ればと思いましたが、
障害通知用アクションには使えないんですよね。
あと、バックスラッシュではなくバッククオートです。
TNK - 投稿数: 4769
バックスラッシュとバッククォートとを間違えてました。
私の回答内のバックスラッシュは、バッククォートです。
スクリプト呼び出し部分の問題なので、その呼び出し部分(C言語)の
修正が必要だと思われます。
スクリプトだけでは改善できません。
ma34 - 投稿数: 16
ソースを眺めてみましたが、手に負えそうにありません・・・。
・標準のメール送信のメディア(Email)のSMTPユーザ認証対応
・スクリプト呼び出し部分の修正
これらを Zabbix の改善要望として出したいと思います。
(要望が聞き入れられない可能性があることは承知してます)
どこにどのように出せばいいのか教えて下さい。
TNK - 投稿数: 4769
新機能として追加依頼をするのであれば、以下のURLにある、
ZABBIX FEATURE REQUESTS(ZBXNEXT)に挙げれば良いと思います。
https://support.zabbix.com/browse/ZBXNEXT
ただ、SNMP Authに関しては既に要望が出ているようです。
SMTP authentication support
https://support.zabbix.com/browse/ZBXNEXT-679
こちらにVoteすればより早く実現されるかもしれません。
Action Scriptの実行時に、バッククォートが含まれた時に実行で
きない件に関しては、「ZABBIX BUGS AND ISSUES(ZBX)」「ZABBIX
FEATURE REQUESTS(ZBXNEXT)」の両方内に見つけることができませ
んでした。
もし登録されていないようであれば、バグだと思われるのならZBX
に。新機能だと思われるのであればZBXNEXTに投稿されてはいかが
でしょうか?
# もちろん英語です。 (^_^;)
より確実に取り上げてもらうためには、事前にircなどで担当者と
情報交換をした方が良いらしいです。
kodai - 投稿数: 1341
バッククォートが含まれたときの問題についてはこちらでZBXに登録されていました。
https://support.zabbix.com/browse/ZBX-4529
Voteしておくと修正される可能性が高くなります。確実に修正を入れて欲しい場合は開発サービスを利用するという方法もあります。