ZabbixサーバとZabbixエージェントの通信方式について
お世話になります。
ZabbixサーバからZabbixエージェントとZabbixエージェントからZabbixサーバの双方向でのトラフィック量を算出しようとしています。
teratermのiftopを使用して確認したところ2秒間隔で1つずつ、総計30個の固定されたデータが送られてきていることを確認しました。
Zabbixエージェントのアプリケーションの数を増やしてみたところ、
元々0バイトで固定されていた数値に変動が起きる場合と、
元々送られていた数値に変動が起きる場合の2種類が存在しました。
どのような条件で上記の振り分けをしているのかわかりません。
振り分けの条件はどのような条件なのでしょうか。
以上、よろしくお願いします。
TNK - 投稿数: 4769
ご質問内容がよくわからないのですが、監視のアイテムを追加した
ら、トラフィック量として計測されるパケット数が0であったのが
数値が計測されたということでしょうか?
teratermのiftopというものはありませんので、Linux上などで以下
のURLにあるiftopコマンドを利用されたと仮定させて頂きます。
http://www.ex-parrot.com/~pdw/iftop/
恐らく、特に引数を指定されなかったのだと思われますが、epelか
ら取得して実行してみたところ、引数を特に指定しない場合、2秒
に1回程度、その2秒の間にどのくらいの通信を行ったかを、どのサ
ーバ間で通信されたかと一緒にバイト数で表示しているようです。
アイテムを追加した場合、そのアイテムの監視間隔や登録された順
序(内部での管理IDの違い)にもよりますが、それぞれのアイテムご
とに指定された間隔で値の取得処理が実行されます。
常に通信し続けるわけではありませんので、タイミングによっては
まったく通信しないタイミングもあります。
まったく通信をしないタイミングでは、0と計測されるでしょう。
通信先ごとに分けて計測されるようですので、気になる部分がある
のであれば、どのサーバとどのサーバとの間の通信がどう変化する
ことが理解できないのかを、どのようにZabbixの設定を変更したの
かと合わせてご質問ください。
最後に、Zabbixで「アプリケーション」といった場合、監視するア
イテムの分類項目のことを示します。
そうすると「アプリケーションの数を増やした」という表現では、
アイテムの種別や分類を増やしたと解釈されてしまう場合がありま
すので、具体的に何をどうしたのかが正確に伝わりません。
ご質問頂く時には、より詳細に何をどう変更して、何をどのように
して計測を行ったのか、何がどうなることが疑問であるのかを具体
的にご提示頂きますようお願いいたします。
ooba - 投稿数: 2
詳しい説明ありがとうございます。
アイテムを追加した場合なのですが、取得処理の実行が監視間隔以外にも「内部での管理IDの違い」とありますが、
内部での管理IDというのはZabbixの画面上など、何らかの方法で確認することはできるのでしょうか?
以上、よろしくお願いします。
TNK - 投稿数: 4769
Webインターフェース上で操作してZabbixを利用する際には必要な
いので、Webインターフェース上では見ることができません。
Zabbixの内部で、シーケンシャルに振られている番号で、処理を負
荷分散させる際の計算する際にも参照しているだけで、ユーザがこ
のIDを故意に変更することはできません。
Zabbix APIを利用する場合には意識することになります。
heya - 投稿数: 319
こんにちは。
サーバー-エージェント間の通信量は、アイテムの数とそれぞれのアイテムの更新間隔で大きく変わってきます。
Zabbixエージェント、とのことなのでそれ以外(ICMP とか SNMP とか)は考えないとして、
https://www.zabbix.com/documentation/2.2/jp/manual/appendix/items/active...
この辺りを参考にして計算してみるといいんじゃないでしょうか。ただ、アイテムのデータ型がログやテキストの場合は、取得した値によってデータ量も大きく変わってくるので正確な見積もりは難しいと思います。
また、アクションでリモートコマンドを実行する場合は、そのコマンドを実行するときにはサーバーからエージェントに「実行しろ」というメッセージが送られるはずなので、その分通信量も増えるはずです(普通はアイテムの取得と比べると微々たるものだとは思いますが)。
・・・質問の意図がいまいちよく分からないのですが、これで答えになってますかね?
>内部での管理IDというのはZabbixの画面上など、何らかの方法で確認することはできるのでしょうか?
例えばアイテムの設定画面など、ある一つのアイテムを指定して何か表示する画面だと URL に itemid=XXXX というのが含まれているはずです。この XXXX がアイテムのIDです。が、これを知ったところでユーザー(人間)が何かを制御できるわけではないので、あまり気にする必要はありません。
基本的に、アイテムの更新間隔で指定した間隔でデータを取得=通信が発生するはずです。ただ、これも絶対というわけではなく、サーバーやエージェントのそのときどきの負荷などによって多少前後することはあります(更新間隔を60秒としていても、実際は59秒や61秒になったりすることもある)。