zabbix-serverクラスター化について

毎々、お世話になっております。

早速ですが、以下の用なzabbix-serverのクラスター構成を考えております。

zabbix-server? 設置場所:社内 
zabbix-server? 設置場所:社外

?各zabbix-agent.confのServerにzabbix-server?、?のIPを指定すると、zabbix-agentの情報収集をzabbix-server?、?は行うのでしょうか??

?仮に行えるのであれば、パフォーマンス的(CPU使用率、HDD使用率)にどれくらい使用するでしょうか??

?zabbix-serverのクラスター化を行っている実績例等、ご存知であればご教授ください。
※有償な機能は使用できません。。。。

以上、お手数お掛けしますがご教示願います。

コメント表示オプション

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

robinmasukさん

?各zabbix-agent.confのServerにzabbix-server?、?のIPを指定すると、zabbix-agentの情報収集をzabbix-server?、?は行うのでしょうか??

可能です。(と、kodaiさんに教えてもらた事があります。)
が、Zabbixエージェント(ACTIVE)は1つ目のZabbixサーバに情報を送信します。
つまり、ログ監視やイベントログ監視は1つ目のサーバでしかできません。

?仮に行えるのであれば、パフォーマンス的(CPU使用率、HDD使用率)にどれくらい使用するでしょうか??

CPU使用率は不明ですが、大したことないかと。
以前、1.1系のZabbixエージェントと1.4系のZabbixエージェントを1つのサーバで動かしたり、1.4系の普通のエージェントとZabbixアカウント以外で起動できる様に改造したZabbixエージェントを同時に動かしてもあまり問題がなかったように思えます。

HDD使用量は推測ですが変わらないと思います。

?zabbix-serverのクラスター化を行っている実績例等、ご存知であればご教授ください。
※有償な機能は使用できません。。。。

実際にやったことはなく、できると聞いただけの話なので…A(^^;

ユーザー kodai の写真

こんにちは。

zabbix_agentd.confのServer=に複数IPアドレスを,(カンマ)区切りで指定すれば、複数サーバからの接続を許可できたはずです。

ただ、KAZさんの返信の通り、ログ監視(アクティブチェック)は先頭に記載したIPアドレスのZabbixサーバでしか行えません。

Zabbixサーバが社内と社外に別れているようなので、単純なクラスタ構成は難しいんじゃないでしょうか。Zabbixはデータベースがそれなりの大きさになるのでミラーディスク構成は難しいでしょうし。

heartbeatとMySQLの双方向レプリケーションを利用した冗長化を検討しているという話を聞いたことはありますが、実際に試したことはないです。

ユーザー robinmasuk の写真

KAZ様
kodai様

お忙しい中、返信頂きありがとうございます。
大変、貴重な情報ありがとうございます。

kodai様に質問ですが・・・

heartbeatとMySQLの双方向レプリケーションを利用した冗長化を検討しているという話を聞いたことはありますが、実際に試したことはないです。

zabbix-serverのクラスター構成は以下の用にしようかと考えております。

・zabbix-serverを2台用意しheartbeat構築
・zabbix-agent.confのserverにheartbeatサーバのIPを指定

上記の用に設定を行えば、SQLの双方向レプリケーション設定も不要と考えております。

マスター側の障害発生時に管理者にメールを送付する機能が、スレーブに切り替わったときにメールを送付すると思いますか?
事前に設定すればいけそうですが、常時2通きてしまいます。
(マスター、スレーブから)

一通だけくる設定とかできませんかねー??

お手数ですがご教示願います。

ユーザー robinmasuk の写真

追加です。

実際にテストしてやってみました。

【インストール環境】
OS:CentOS
ver:1.8.1

VMwareの内部でzabbix-serverを2台構築し、zabbix-agentを1台構築しました。

ところがzabbix-server1台は監視しますが、もう1台が監視しません。

zabbix-agentd.confのserverにzabbix-server2台のIPを設定しました。
zabbix-agent.logに怪しいログがでてたのでのせておきます。

Listener error: Connection from [zabbix-server?のIP] rejected. Allowed server is [zabbix-server?のIP]

単純にconfファイルが間違ってる気がしますが・・・

ユーザー TNK の写真

zabbix-agentd.conf内のServerにどのように設定されましたか?

私も試してみましたが、
<code>
Server=[zabbix-server?のIP],[zabbix-server?のIP]
</code>
とサーバ2台のIPアドレスをカンマ(,)で区切って指定していれば、両方のサーバで「Zabbixエージェント」の監視項目は監視できています。

もしかして、zabbix-agentd.conf内にServerの行を2行書いたりしていませんか?

ユーザー robinmasuk の写真

TNK様

お世話になっております。

もしかして、zabbix-agentd.conf内にServerの行を2行書いたりしていませんか?

恥ずかしながらおっしゃる通りです。。。。
設定したら監視できました。
大変、ご迷惑をおかけしました。

ユーザー kodai の写真

zabbix-serverのクラスター構成は以下の用にしようかと考えております。

・zabbix-serverを2台用意しheartbeat構築
・zabbix-agent.confのserverにheartbeatサーバのIPを指定

上記の用に設定を行えば、SQLの双方向レプリケーション設定も不要と考えております。

上記の構成だと、単にZabbixサーバ(MySQL含む)の2台構成でクラスタリングするということでしょうか?

もしZabbixサーバが切り替わると、MySQLに保存されているデータは双方で異なるので監視設定や監視データが引き継がれないことに注意してください。

MySQLを別サーバで構築して、という話なら特に問題はないです。

ユーザー robinmasuk の写真

kodai様

お世話になっております。
返信頂いたことに気付かず、返信送れました。
申し訳ありません。

もしZabbixサーバが切り替わると、MySQLに保存されているデータは双方で異なるので監視設定や監視データが引き継がれないことに注意してください。

そうですね・・・
方針を変えて以下の設定にて行おうと思います。

・社内と社外にzabbixを一台ずつ
・ハートビートはせずに、単純にzabbix-serverを2台あるものとする
・zabbix-agent側にはserverのIPを2つ指定

これで、監視設定を同じにしておけば、同じ値を監視するのかと・・・
(アクティブチェックはできませんが)