質問があります。 ipmiを外部チェックにて、監視を行おうと想うのですが、 アイテムにipmi_check.sh[引数1,引数2,引数3]のように設定し、 ipmi_check.shの中で、$2 $3 $4として利用したいのですが、 $2に「引数1,引数2,引数3」と全部入ってきてしまうのですが、、、 なぜでしょうか。
okazabbixさん
マニュアル等に例が載ってます。 参考にどうぞ。
↓マニュアル https://www.zabbix.com/documentation/jp/1.8/manual/config/user_parameters
↓こんな使い方です。 UserParameter=wc[*],grep “$2” $1|wc -l
シェルスクリプトの記述方法に誤りがあるかもしれません。 どのように引数を処理しようとされているかをご提示ください。
あと、利用されているZabbixのバージョンもお教えください。
よろしくお願いいたします。
zabbix server 1.8.15です。
外部ファイル場所:/etc/zabbix/externalscripts/ipmitool-sdr-errorlist-include.sh
アイテムにて、次のように取得、「ipmitool-sdr-errorlist-include.sh[{$IPMI_IP},{$IPMI_USER},{$IPMI_PASS}]
「 #!/bin/sh # 概要: # SDR(Sensor Data Repository)の結果にokかns以外のステータスがあったら出力する。 #
PATH="/bin:/usr/sbin:/usr/bin"
RESULT=$(ipmitool -I lanplus -C 1 -H $2 -U $3 -P $4 sdr 2>&1 | \grep -vE "(ok|ns)$" | sed -r 's/\s+/ /g' | tr "\n" "#" | sed 's/#/ # /g') echo ${RESULT:-"NO Errors"} 」 になります。
外部チェックは引数の渡し方が通常のアイテムのキーの書き方とは異なります。オプションは$2や$3といった引数で渡されるのではなく、記載した内容がそのままシェルのオプションとして渡されるようになっています。アイテムのキーに
ipmi_check.sh[引数1,引数2,引数3]
と設定した場合、Zabbix 1.8では
ipmi_check.sh ホストのIPアドレス 引数1,引数2,引数3
Zabbix 2.0では
ipmi_check.sh 引数1,引数2,引数3
とシェルが実行されます。シェルスクリプト側で$2や$3などで処理したい場合はカンマ区切りではなくスペースで区切ってみてください。
外部チェックのマニュアルもご参考ください。 https://www.zabbix.com/documentation/jp/1.8/manual/config/items#外部チェック
失礼しました。 ユーザパラメータではなく、外部チェックについての質問でしたね。 すいません、取り違えました。
TNKさん、kodaiさん フォローすいません。m(__)m 下記の違いで良かったでしたっけ?
■外部チェック Zabbixサーバに登録したシェルをssh接続して実行する
■ユーザパラメータ Zabbixエージェントに登録したシェルを実行する
外部チェックでssh接続はしていなかったと思います。 Zabbixサーバ上でシェルスクリプトをexecで呼び出していただけで はなかったでしょうか。
ユーザパラメータは、書かれている通りだと思います。
TNKさん、返信ありがとうございます。
現在、手元にZabbixいじれる環境がないので、もう一度マニュアルを読み直してみます。A(^^; ありがとうございました。
アカウント名 okazabbix
本名 hajime
居住地 埼玉県
Twitter twhajime
Zabbix関連
KAZ - 投稿数: 1085
okazabbixさん
マニュアル等に例が載ってます。
参考にどうぞ。
↓マニュアル
https://www.zabbix.com/documentation/jp/1.8/manual/config/user_parameters
↓こんな使い方です。
UserParameter=wc[*],grep “$2” $1|wc -l
TNK - 投稿数: 4742
シェルスクリプトの記述方法に誤りがあるかもしれません。
どのように引数を処理しようとされているかをご提示ください。
あと、利用されているZabbixのバージョンもお教えください。
よろしくお願いいたします。
okazabbix - 投稿数: 12
zabbix server 1.8.15です。
外部ファイル場所:/etc/zabbix/externalscripts/ipmitool-sdr-errorlist-include.sh
アイテムにて、次のように取得、「ipmitool-sdr-errorlist-include.sh[{$IPMI_IP},{$IPMI_USER},{$IPMI_PASS}]
「
#!/bin/sh
# 概要:
# SDR(Sensor Data Repository)の結果にokかns以外のステータスがあったら出力する。
#
PATH="/bin:/usr/sbin:/usr/bin"
RESULT=$(ipmitool -I lanplus -C 1 -H $2 -U $3 -P $4 sdr 2>&1 | \grep -vE "(ok|ns)$" | sed -r 's/\s+/ /g' | tr "\n" "#" | sed 's/#/ # /g')
echo ${RESULT:-"NO Errors"}
」
になります。
kodai - 投稿数: 1341
外部チェックは引数の渡し方が通常のアイテムのキーの書き方とは異なります。オプションは$2や$3といった引数で渡されるのではなく、記載した内容がそのままシェルのオプションとして渡されるようになっています。アイテムのキーに
ipmi_check.sh[引数1,引数2,引数3]
と設定した場合、Zabbix 1.8では
ipmi_check.sh ホストのIPアドレス 引数1,引数2,引数3
Zabbix 2.0では
ipmi_check.sh 引数1,引数2,引数3
とシェルが実行されます。シェルスクリプト側で$2や$3などで処理したい場合はカンマ区切りではなくスペースで区切ってみてください。
外部チェックのマニュアルもご参考ください。
https://www.zabbix.com/documentation/jp/1.8/manual/config/items#外部チェック
KAZ - 投稿数: 1085
okazabbixさん
失礼しました。
ユーザパラメータではなく、外部チェックについての質問でしたね。
すいません、取り違えました。
TNKさん、kodaiさん
フォローすいません。m(__)m
下記の違いで良かったでしたっけ?
■外部チェック
Zabbixサーバに登録したシェルをssh接続して実行する
■ユーザパラメータ
Zabbixエージェントに登録したシェルを実行する
TNK - 投稿数: 4742
外部チェックでssh接続はしていなかったと思います。
Zabbixサーバ上でシェルスクリプトをexecで呼び出していただけで
はなかったでしょうか。
ユーザパラメータは、書かれている通りだと思います。
KAZ - 投稿数: 1085
TNKさん、返信ありがとうございます。
現在、手元にZabbixいじれる環境がないので、もう一度マニュアルを読み直してみます。A(^^;
ありがとうございました。