日本語アラートメールスクリプトについて

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 の写真

少し調べてみましたが、アラートスクリプトを呼び出す部分で、
シェルにコマンドの引数として宛先、タイトル、本文などを引き
渡すようになっています。
その呼び出しの部分で、バックスラッシュがシェルに解釈されて
しまっているように見受けられます。

もし、この原因で障害となっているのであれば、シェルを呼び出
す部分の変更が必要になりますので、単純に設定だけでは回避で
きないと思われます。

ご参考までに、標準のメール送信のメディア(Email)を利用すれ
ば、バックスラッシュが含まれていてもメールで送信できるはず
です。
最近のメールシステムは、UTF-8でも正常に取り扱えるメールシ
ステムも増えているようですので、そのようなメールシステムを
利用されているのであれば、標準のメール送信のメディアを利用
してみてはいかがでしょうか。

ユーザー ma34 の写真

標準のメール送信のメディア(Email)を利用して、
該当メッセージを正常に受信できることを確認しました。

当面はこの設定で回避出来そうです。

ただ、様々なシステム上で動いており
ユーザ認証が必要なSMTPサーバもあることから、
日本語アラートメールスクリプトは大変重宝していますので、
主にこちらを使いたいと考えています。

sendmessage_smtp_php.sh を直してみようか、
それともスクリプト全体を見直してみようかと思いましたが、
如何せん手がかりが無いことにはなあと。

標準のメール送信のメディアでOKということは、このへんに直すヒントが有ります?
(GPLなので、改修はOKですよね。)

ユーザ定義マクロでエスケープ処理を書いて回避出来ればと思いましたが、
障害通知用アクションには使えないんですよね。

あと、バックスラッシュではなくバッククオートです。

ユーザー TNK の写真

バックスラッシュとバッククォートとを間違えてました。
私の回答内のバックスラッシュは、バッククォートです。

スクリプト呼び出し部分の問題なので、その呼び出し部分(C言語)の
修正が必要だと思われます。
スクリプトだけでは改善できません。

ユーザー ma34 の写真

ソースを眺めてみましたが、手に負えそうにありません・・・。

・標準のメール送信のメディア(Email)のSMTPユーザ認証対応
・スクリプト呼び出し部分の修正

これらを Zabbix の改善要望として出したいと思います。
(要望が聞き入れられない可能性があることは承知してます)

どこにどのように出せばいいのか教えて下さい。

ユーザー TNK の写真

新機能として追加依頼をするのであれば、以下の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 の写真

バッククォートが含まれたときの問題についてはこちらでZBXに登録されていました。
https://support.zabbix.com/browse/ZBX-4529

Voteしておくと修正される可能性が高くなります。確実に修正を入れて欲しい場合は開発サービスを利用するという方法もあります。