はじめまして。 snmptrapをZABBIXで受信するところまでは来たのですが、 それをとりあえず全部トリガー(致命的障害)に上げる方法 はどのようにするのでしょうか。
最新データではtrap受信データが見れるので、トリガーの 書き方がわかりません。
こんにちは。
トリガーはアイテムのキーを利用して、
{<ホスト名>:<キー>.<関数>(<パラメータ>)}<比較演算子><値>
と設定します。
利用できる関数や比較演算子の詳細はマニュアルを参照してみてください。
とりあえず、自分で色々やっているうちにできるようになったのですが、新たな問題に直面しました。 snmptrapデータ全部を「最新のデータ」でモニタすると、全部表示されません。 全部表示されないとトリガーで任意の箇所に対して引っかけられないため不便です。 snmptrap.shを適当に変えてみるとデバッグ用に書き込みしたファイルにはフルデータが記載されます。なのでここは問題ない。 問題は、zabbix_sender.cのMAX_STRING_LENだと思われるが、common.hをみると2048もある。 1回のsnmptrapローデータは500バイト前後のため問題無いように見える。 解決方法ご存知の方いますか?
skywaveさん
snmptrap.shの下記の箇所をコメントアウトして見て下さい。
<code> read enterprise
#oid=`echo $oid|cut -f2 -d' '` #address=`echo $address|cut -f2 -d' '` #community=`echo $community|cut -f2 -d' '` #enterprise=`echo $enterprise|cut -f2 -d' '`
#oid=`echo $oid|cut -f11 -d'.'` #community=`echo $community|cut -f2 -d'"'`
str="$hostname $address $community $enterprise $oid" </code>
実はすでにそれやっています。 それだけでなくて、while文使って文字変数に全部ローデータを取得できてます。 snmptrap.shの問題ではないんです。
「最新データ」でみると296文字前後で尻切れ状態になります。
試しに、zabbix_senderを手動で必要なローデータを含めて実行すると正常に終了します。 だけど、やっぱり「最新データ」上の表示は全部出力されません。
どこ直すのが最も良い手段でしょうかねぇ。
はじめまして。
アイテムのデータ型には何を設定していらっしゃいますか?
確か、「キャラクター」だと文字数制限があったはずなので、 私は「テキスト」を設定していたと思います。
;-)
はじめまして。 ご指摘の通りでした。 本当にどうもありがとうございました。 感謝です。 :-D
お世話になります。
私もtrapを受信してアクションを発生させようとしておりますが 文字数制限(ではないかと予測)ではまっております。
zabbix 1.4.5でsnmptrapdでtrapを受取りアクションとして メール送信とリモートコマンドを実行しようとした時 zabbix_senderの-oオプションで指定したテキスト文字列が 141バイトを超えた場合、リモートコマンドが実行されない という現象が発生しております。
リモートコマンドで指定している文字列全体での制限かもしれませんが・・・。
アイテムをchar指定とした場合、マニュアルによると255バイトまでという指定がありましたが、これとは別問題ではないかと考えております。
リモートコマンドの制限があるのでしょうか? ご存じの方返信を宜しくお願いいたします。
whinemosさん、こんにちは。
内容が異なる質問の場合は、別スレッドを立てるようにお願いします。回答が入れ子になってしい、どの質問に対する回答かが分かりにくくなってしまいますので。
まずはリモートコマンドの文字数制限から追いかけていくのが解決の近道だと思います。以下のことを試してみて頂けるでしょうか。
1. 他のアイテムで同じリモートコマンドを実行した場合はどうなるか 2. zabbix_server.conf、zabbix_agentd.confでDebugLevel=4を設定してログを見てみる
skywaveさんは書きました: はじめまして。 ご指摘の通りでした。 本当にどうもありがとうございました。 感謝です。 :-D
まだ、若干問題残ってました。 属性を「テキスト」に変更すると、その後定義済みのトリガーが修正できなくなりました。 属性を「文字」に戻すと問題ありません。 いったん全部削除して、再登録すればいいのでしょうが結構な数を定義してしまったので、修正方法ご存知の方があればお願いします。 とりあえず、待ってないで全部再登録しますが・・・今後のために。
アカウント名 skywave
Zabbix関連
kodai - 投稿数: 1341
こんにちは。
トリガーはアイテムのキーを利用して、
{<ホスト名>:<キー>.<関数>(<パラメータ>)}<比較演算子><値>
と設定します。
利用できる関数や比較演算子の詳細はマニュアルを参照してみてください。
skywave - 投稿数: 17
とりあえず、自分で色々やっているうちにできるようになったのですが、新たな問題に直面しました。
snmptrapデータ全部を「最新のデータ」でモニタすると、全部表示されません。
全部表示されないとトリガーで任意の箇所に対して引っかけられないため不便です。
snmptrap.shを適当に変えてみるとデバッグ用に書き込みしたファイルにはフルデータが記載されます。なのでここは問題ない。
問題は、zabbix_sender.cのMAX_STRING_LENだと思われるが、common.hをみると2048もある。
1回のsnmptrapローデータは500バイト前後のため問題無いように見える。
解決方法ご存知の方いますか?
KAZ - 投稿数: 1085
skywaveさん
snmptrap.shの下記の箇所をコメントアウトして見て下さい。
<code>
read enterprise
#oid=`echo $oid|cut -f2 -d' '`
#address=`echo $address|cut -f2 -d' '`
#community=`echo $community|cut -f2 -d' '`
#enterprise=`echo $enterprise|cut -f2 -d' '`
#oid=`echo $oid|cut -f11 -d'.'`
#community=`echo $community|cut -f2 -d'"'`
str="$hostname $address $community $enterprise $oid"
</code>
skywave - 投稿数: 17
実はすでにそれやっています。
それだけでなくて、while文使って文字変数に全部ローデータを取得できてます。
snmptrap.shの問題ではないんです。
「最新データ」でみると296文字前後で尻切れ状態になります。
試しに、zabbix_senderを手動で必要なローデータを含めて実行すると正常に終了します。
だけど、やっぱり「最新データ」上の表示は全部出力されません。
どこ直すのが最も良い手段でしょうかねぇ。
angel - 投稿数: 9
はじめまして。
アイテムのデータ型には何を設定していらっしゃいますか?
確か、「キャラクター」だと文字数制限があったはずなので、
私は「テキスト」を設定していたと思います。
;-)
skywave - 投稿数: 17
はじめまして。
ご指摘の通りでした。
本当にどうもありがとうございました。
感謝です。 :-D
whinemos - 投稿数: 6
お世話になります。
私もtrapを受信してアクションを発生させようとしておりますが
文字数制限(ではないかと予測)ではまっております。
zabbix 1.4.5でsnmptrapdでtrapを受取りアクションとして
メール送信とリモートコマンドを実行しようとした時
zabbix_senderの-oオプションで指定したテキスト文字列が
141バイトを超えた場合、リモートコマンドが実行されない
という現象が発生しております。
リモートコマンドで指定している文字列全体での制限かもしれませんが・・・。
アイテムをchar指定とした場合、マニュアルによると255バイトまでという指定がありましたが、これとは別問題ではないかと考えております。
リモートコマンドの制限があるのでしょうか?
ご存じの方返信を宜しくお願いいたします。
kodai - 投稿数: 1341
whinemosさん、こんにちは。
内容が異なる質問の場合は、別スレッドを立てるようにお願いします。回答が入れ子になってしい、どの質問に対する回答かが分かりにくくなってしまいますので。
まずはリモートコマンドの文字数制限から追いかけていくのが解決の近道だと思います。以下のことを試してみて頂けるでしょうか。
1. 他のアイテムで同じリモートコマンドを実行した場合はどうなるか
2. zabbix_server.conf、zabbix_agentd.confでDebugLevel=4を設定してログを見てみる
skywave - 投稿数: 17
まだ、若干問題残ってました。
属性を「テキスト」に変更すると、その後定義済みのトリガーが修正できなくなりました。
属性を「文字」に戻すと問題ありません。
いったん全部削除して、再登録すればいいのでしょうが結構な数を定義してしまったので、修正方法ご存知の方があればお願いします。
とりあえず、待ってないで全部再登録しますが・・・今後のために。