外部チェックを複数実行する際の実行順序制御について
お世話になっております。
OS:CentOS5.3
Zabbix:1.6.8
表題の件についてお伺いします。
外部チェックの機能を利用して、外部のサーバ(VMWare ESXi)のリソース監視を行おうと考えております。
そこで、
1・複数のリソースデータをまとめて取得するスクリプトを実行。結果をファイルに書き出す(外部チェックを使用)
2・書き出したファイルから個々のデータを取り出すスクリプトを順次実行(外部チェックを使用)
という流れで処理を行いたいのですが、
「他の外部チェック項目より先に、1の外部チェックが必ず実行されるように」といったような実行順序の制御は可能でしょうか?
外部チェックスクリプトがキックされる順序について一定のルール(例えば「アイテム名の昇順で順次キックされる」「キーの昇順で順次実行」等)がもしあれば制御可能かと考えていますが、現状それらのルールも見つけられていません。
以上よろしくお願いします。
TNK - 投稿数: 4754
ソースを見ると、次にチェックする時刻でのソートをしているように見受けられます。
つまり、アイテム名などでそれぞれのアイテムの順番を指定することはできないと思われるので、
のスクリプトの最初に「結果を出力するファイル」の作成時刻を確認して、古いファイルであった場合は、「複数のリソースデータをまとめて取得するスクリプト」を実行するようにしたらいかがでしょうか?
ただし、複数のリソースデータを取得する処理に時間がかかってしまう場合、処理中に他のチェックが入った時の排他処理に注意が必要だと思われます。
tomita_s - 投稿数: 2
TNK様
アドバイスありがとうございます。
こちらをヒントにスクリプトの作り込みで対処したいと思います。
スクリプト1がログイン処理を伴う重たいスクリプトの為、「作成時刻確認後のスクリプト1の実行」はせず、「外部チェックにてスクリプト1の実行が済んでいるかどうか」を数秒おきにチェックするような形で頑張ってみます。