大量監視エージェントに対するZabbiサーバの負荷試験方法

はじめまして。いつも参考にさせていただいております。

Zabbixの導入にて、監視エージェントの台数が大量にある場合を
想定してZabbixサーバ側の負荷試験を行いたいのですが、
どのように皆さんやられているのでしょうか。

監視エージェントの数としては、
場合によりけりなのですが、100台から1000台と幅があります。
ただ、100台でもそんな簡単には用意できないので、
どうしたものかと。

たとえば、
・仮想マシンで複数台エージェントを起動する
・1台のマシンに複数台のZabbixエージェントを起動できる
・複数台のエージェントをシミュレートするシミュレータがある
など何か皆さんが行われている手段がありましたら
ぜひご教授願います。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー kodai の写真

単純にエージェントから大量のデータを受け取ることをテストされるのでしたら、

1. 数台のサーバ(例えばA, B, C)を用意して、それぞれにエージェントをインストールする
2. Zabbixにホストを大量に登録し、監視対象のIPアドレスをA, B, Cのいずれかに設定する

この場合、1つのエージェントが複数台ホストの監視を受け持つことになりますが、
エージェントは動作が軽いので数千や数万といった監視を行ってもボトルネックにはならないです。
(もちろん監視間隔に依存しますし、限度はありますが)

レスありがとうございます。

> 1. 数台のサーバ(例えばA, B, C)を用意して、それぞれにエージェントをインストールする
> 2. Zabbixにホストを大量に登録し、監視対象のIPアドレスをA, B, Cのいずれかに設定する
>
> この場合、1つのエージェントが複数台ホストの監視を受け持つことになりますが、
> エージェントは動作が軽いので数千や数万といった監視を行ってもボトルネックにはならないです。

なるほど、
まずは、これで大量の監視項目を想定した負荷にはなるわけですね。
試してみようと思います。

少し気になるのは、
少ないエージェントで、一つのエージェントに多くの監視項目がある場合と、
多数のエージェントがあり、一つ一つのエージェントの監視項目が少ない場合では、
ネットワークの負荷は影響しないものなのでしょうか?

多数のエージェントだとそれだけネットワークのコネクションが生成されるため
負荷がかかりそうに思います。

#そういえば、サーバとエージェント間ってコネクション張りっぱなしでしたでしょうか。
#実際に動いている環境を利用してnetstatで確認できそうですね。
#今度試してみようと思います。

このネットワークの影響あたりで、何か分かることがあれば
ご教授願います。

ユーザー kodai の写真

ポーリング監視(アイテムで「Zabbixエージェント」を選択)の場合、Zabbixサーバは1アイテムで1TCPコネクションを張ろうとしますので、ネットワークの部分ではそれほど違いは出ないと思います。

アクティブチェック(アイテムで「Zabbixエージェント(アクティブ)」)の場合、エージェントは1TCPコネクションで複数のデータを送りますので、この場合は実際の環境と違いが出ると思います。

返信ありがとうございます。

たしかに、サーバとエージェント間はアイテムのデータを取得する度に
コネクションを接続して、切断を繰り返しているわけですね。

エージェント側でnetstatを実行してみた結果からも
TiME_WAIT(だったはず)のコネクションがならんでいました。

アクティブでないデフォルトのエージェントの場合は、
1エージェントにつき一つのコネクションを張ってデータのやり取りをするのではなく、
サーバから毎回コネクションをはってデータ取得しているんですね。