スクリプト作成から実行に待ち時間は必要か?
お世話になっております。
スクリプト実行について質問です。
Zabbix 2.0 APIを利用して下記処理を実装していますが、3の処理がエラーになってしまいます。
1. host.createでホストおよびインタフェースを作成
2. script.createでスクリプトを作成
3. script.executeでスクリプトを実行
3のリクエストボディ (パラメータの値は実際の値と置き換え済み)
{"jsonrpc":"2.0","method":"script.execute","params":{"scriptid":"1","hostid":"1"},"auth":"dc149fa3565fdb6e6114d87206c8abe1","id":1}
3のレスポンスボディ
{"jsonrpc":"2.0","result":{"response":"failed","value":"Get value from agent failed: cannot connect to [[hostaddress]]:10050: [4] Interrupted system call"},"id":1}
2~3に一定期間をおいた場合は当該のエラーが発生しないようです。
エラー発生時は2→3が直後に実行されます。
zabbix_server.confのCacheUpdateFrequencyは1に設定しています。
1~2はインタフェースの準備ができるまで待ち+リトライで解消しましたが、2~3も同じことが言えるでしょうか?
TNK - 投稿数: 4769
レスポンス内のメッセージを見る限り、エージェントにInterrupted
system callで接続できていないようですので、エージェントが正常
に起動してリクエストを受け付けられる状態ではないのではないで
しょうか?
エージェントの起動タイミングや、Firewall関連の設定方法とタイ
ミング、エージェント側のログも確認してみてください。
あと、登録されたスクリプトの内容も、もう少し、どのようなもの
であるのか開示していただくことはできませんか?
エージェント側で実行するようなスクリプトだとは思いますが、
そうであるならば、なおさら、エージェントに接続できない状態
になっている点の解決が必要だと思われます。
mkt - 投稿数: 41
コメントありがとうございます。
自己解決しました。
確認ミスで1~2のリトライを実現する前のAPで処理を行っていました。
ちなみにですが、スクリプトは「ls」コマンドをテストのために実行していました。
現在は問題なく実行できるようになっています。
お手数をかけて申し訳ありませんでした。