見出し画像

TWSNMP FCフィードバック対応:判定スクリプトから障害レベルを設定する機能追加とタイムアウトとリトライの上限を増やした

ワールドカップ なでしこジャパン 大勝!
相手が気の毒になる試合でした。

さて、今朝はTWSNMP FCの開発に戻りました。先週頂いたフィードバックの対応です。
1つ目、判定スクリプトから障害レベルを設定する機能の追加です。先週いいアイデアが浮かんでいたので作ってみました。

if (load1m <  0.5) {
   setLevel("normal");
} else if (load1m < 0.8) { 
   setLevel("warn");
 } else if (load1m < 1.0) {
   setLevel("low") ;
 } else {
   setLevel("high");
}
true 

のような判定スクリプトでload1mの値によって障害レベルが変わります。

のようにポーリングに設定しているレベルは情報ですが、load1mが1.0以上になれば、重度になります。
setLevelのパラメータはチェックしていないので、normal,warn,low.high,infoなどのTWSNMP FCの内部で使っているもの以外を設定すると不明になります。あと、復帰の判定も使いたい場合は、setLevel を使わないでtrueだけ返すます。上記の例なら"noraml"を設定してるところ削除すればよいと思います。

2つ目、タイムアウトとリトライの上限を大きくする。
元々、両方とも小さめに設定していたのは、タイムアウトとリトライが長いとポーリング間隔の間に終わらなくて、同じポーリングが複数実行されることを心配していたからです。この問題はポーリングの処理を改善した時に実行中のポーリングを除外する処理をつけたので、心配無用になりました。
なので、安心して大きくできました。とは言ってもスライダーで設定しにくくなるので60秒と20回にしました。

先日見つけたポーリングの自動設定のバグも修正しました。

といりあえず、Dcoker版を更新しました。

明日に続く

開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。