マクロで外部スクリプトを実施するとQuery failedのエラーとなる

IWAMOです。

Zabbix1.8.3 CentOS5.6で稼働中です。

ZabbixにてRTMPの動作を確認しようとRTMPDUMPコマンドでがいとうURLのファイルを取得するスクリプトを作成しました。

それをテンプレートに登録してアクションを作成、

呼び出すホストの引数のマクロに
{$RTMP_URL} = "rtmp://hogehoge:1935/vod/media/kanshi.flv

テンプレートのアイテムに
タイプ :外部チェック
キー  :check_rtmp[{$RTMP_URL}]

と登録したのですが、実行結果が返らずログを確認すると
21930:20120116:150307.449 [Z3005] Query failed: [2006] MySQL server has gone away [select macro,value from hostmacro where hostid=13694]
21927:20120116:150706.716 [Z3005] Query failed: [2006] MySQL server has gone away [select macro,value from hostmacro where hostid=13694]
21921:20120116:151202.393 [Z3005] Query failed: [2006] MySQL server has gone away [select macro,value from hostmacro where hostid=13694]
21923:20120116:151410.956 [Z3005] Query failed: [2006] MySQL server has gone away [select macro,value from hostmacro where hostid=13694]

このようにエラーとなります。DBのエラーかと確認したのですがDBにログオンして確認しても正常でした。

教えていただけますか。

スクリプト
check_rtmp
#!/bin/bash

/etc/zabbix/externalscripts/check_rtmp.sh $1 $2 | grep -c CHECK_OK

check_rtmp.sh
#!/bin/bash

if [ $# -lt 2 ]; then
echo "Usage: $0 host URL"
echo 0
exit 1
fi

## host: dummy var
host=$1
URL=$2

# rtmp監視チェック
if [ "$URL" != "" ] ; then
/usr/bin/env rtmpdump --timeout 5 -r $URL -o /dev/null 2>&1
ret=$?
else
echo "0"
exit 1
fi

if [ $ret -eq 0 ]; then
echo "CHECK_OK"
exit 0
else
echo "0"
exit 1
fi

以上、よろしくお願いいたします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

{$RTMP_URL} = "rtmp://hogehoge:1935/vod/media/kanshi.flv

と書かれていますが、「"」で閉じていないように見受けられます。

実際に設定されている値がこのままであるならば、まずは最後に
「"」を付加してみてはいかがでしょうか?

ユーザー iwamo の写真

すいません。単なるコピペミスで実際には末尾の「"」はついています。
urlの"/"等が問題なのかと「"」で括ったもためです。
「"」の有無で変化はありませんでした。

ユーザー TNK の写真

1.8.9の環境に、外部チェックを利用して同様のマクロを引数とし
た呼び出し設定を行ってみましたが、正常にホストのマクロに設定
した

 rtmp://hogehoge:1935/vod/media/kanshi.flv

を引数として渡すことができています。

1.8.3の環境は新規に作成しないとないので、作成できたら確認し
てみますが、とりあえず、1.8.9であれば問題なくマクロが利用で
きそうです。

ユーザー kodai の写真

手元にある1.8.3のwebインターフェースで登録できるかどうかだけ試してみたところ、ホストマクロとして登録し、データベースに正しく登録できているところまでは確認できました。

ユーザ定義マクロはpollerプロセスに5分間キャッシュされるので、設定を変更して試す場合は一度Zabbixサーバを再起動してみてください。

追記:

すいません、必ずZabbixサーバを再起動する必要があるわけではないです。本番環境でしたらユーザ定義マクロを設定変更後、最低5分は待たないと設定が反映されていない可能性があります。

ユーザー iwamo の写真

TNK様、kodai様

ありがとうございます。
Zabbixのサーバの再起動、日を改めて実施して確認いたします。