Zabbix 3.0 のカスタムインターバルを試してみたのだけど…

さて、前のエントリーで、最初考えていたのとは、違う方法で実現したところがあったりします。

スクリプト内で処理をしている HTTP/2 でのアクセス比率の計算、最初は各バージョンのアクセス数をカウントした値を使って、 Zabbix 側の計算アイテムを使う予定だったのですが…。

アクセス比率のデータは、スクリプトの計算結果が小数点以下5桁の数値が送られくるので、それに合わせてデータ形式を浮動小数点型を選択し、Zabbix 側でパーセンテージ変換するために、単位 (Units) と乗数 (Use custom multiplier) の設定も合わせて行います。

[From HTTP/2 でのアクセス比率を Zabbix で蓄積&グラフ化 - Soukaku's HENA-CHOKO Blog]

当初案は、計算アイテム と カスタムインターバルの組み合わせ

最初の目論見では、HTTPバージョンのアクセス数だけスクリプト側で集計して zabbix_sender で送信して、アクセス比率は計算アイテムにして、その計算アイテムをカスタムインターバルで設定してみよう、と。(3.0 で実装された機能なので、どう動くのかを見てみたかった、というのもありましたし。)

It is possible to create custom rules regarding the times when an item is checked. The two methods for that are Flexible intervals, which allow to redefine the default update interval, and Scheduling, whereby an item check can be executed at a specific time or sequence of times.

[From 2 Custom intervals [Zabbix Documentation 3.0]]

カスタムインターバル自体は、データの取得やポーリングを決められた時刻や特定のタイミングでで実行させたい時などに有用な設定なんで、これが実装されるのを待っている人もいると思うのですが、実行タイミングをかなり細かく制御(といっても秒単位まで)出来るようで、「毎時 0 分 0 秒に実行」という指定も可能になっています。
下の例の "m/5s10" だと 毎時 0 分 10 秒、5分 10 秒、10 分 10 秒、15 分 10 秒(以下略)というタイミングで実行するという設定になります。(細かいパラメータは、マニュアルページ参照。)

カスタムインターバルの設定

実際に設定したアイテムが、どういうタイミングで実行されたのか、というのが下の画像。

カスタムインターバル設定時のデータ取得状況

青枠で囲ったものが、 "m/5s10" の指定で実行されたもので、指定通りに実行されたのがわかります。

で、注意点その 1。通常の更新間隔とカスタムインターバルで設定した更新間隔、設定としては両方共有効になります。(画像で言うと赤枠の部分)
これは通常の更新間隔の方で "0" を指定することで無効化出来るので、カスタムインターバルを使いたい場合、必ず "0" を指定しましょう。

さて、注意点その 2、というか実はこれがカスタムインターバルの利用を断念した理由でもあるんですが、カスタムインターバルを設定したアイテムでグラフを描かせると、ラインではなくてドットで描画されてしまうという…。

下のグラフ、緑のラインがスクリプトでの計算結果を zabbix_sender で送信したもので、赤のドットが計算アイテムでアクセス比率を計算しつつカスタムインターバルを設定したもの。

HTTP/2アクセス比率のグラフ

グラフの表示範囲をズームアウトすれば、計算アイテムの方もラインで表示されるようにはなるんですけどね…。
ちなみに、「計算アイテムでカスタムインターバル設定したから?」とも考えてたのだけど、アイテムタイプが zabbix エージェントであっても同様のグラフになるので、バグなのかもとは思ってますが…。
#αだから、報告すれば直るのかしら?

トラックバック(0)

コメントする