zabbixエージェントを入れたVMをコピーして2つの同一VMを同時に起動した場合、サーバ側はどのような状態になりますか?

kirill-sh-eVWWr6nmDf8-unsplash.jpg

質問

zabbixエージェントを入れたVMをコピーして2つの同一VMを同時に起動した場合、サーバ側はどのような状態になりますか?
エージェントサーバ側の設定ファイルを直せば解決しますか?


解答

とても実務的で、Zabbixを触っている人が一度は踏むポイントです。
結論から言います。


結論(先に)

  • 同一設定の Zabbix agent を入れたVMをコピーして同時起動すると、サーバ側では「同一ホストが2台からデータを送ってくる」状態になります

  • 結果として、監視データは壊れます(上書き・揺れ・誤判定)

  • エージェント側の設定ファイルを直せば解決できます(ただし直すポイントが重要)


1. 何が起きるのか(Zabbixサーバ視点)

前提

  • VM A をコピーして VM B を作成

  • 両方に同じ zabbix_agent.conf

  • 同じ Hostname(または自動登録名)

  • 同じIP or 異なるIPだが同一ホスト名

Zabbixサーバ側の状態

Zabbixは 「ホスト名」を主キーとしてデータを管理します。

そのため、

  • VM A からCPU使用率が来る

  • 直後に VM B からCPU使用率が来る

  • Zabbixは「同じホストの最新データ」として上書き

結果:

  • CPU使用率が上下に激しく揺れる

  • メモリ・ディスク・プロセス数が実体と合わない

  • トリガーが誤発火・誤復旧する

  • ログ上はエラーが出ない(これが厄介)

Zabbix的には
「異常ではないが、意味が壊れている」状態です。


2. なぜZabbixは混乱するのか

Zabbixの識別構造は基本的に:

Host(ホスト名) └ Item(CPU, Memory, Disk…)     └ History / Trend

つまり、

  • IPアドレスではなく

  • VMのUUIDでもなく

  • Host名が絶対

同じHost名で複数エージェントが来ると、
「多重人格ホスト」になります。


3. エージェント側設定を直せば解決するか?

はい、正しく直せば解決します。

ただし、「どこを直すか」が重要です。


4. 必ず確認・修正すべきポイント(agent側)

Hostname(最重要)

Hostname=web01

これが2台で同じだとアウトです。

対策:

  • VMごとに一意な名前にする

Hostname=web01Hostname=web02

または

HostnameItem=system.hostname

(OSのホスト名を自動使用)


② OSのホスト名

HostnameItem を使う場合:

  • VMコピー後に OSホスト名を変更していないと意味がない

Linux例:

hostnamectl set-hostname web02

③ Auto Registration を使っている場合

自動登録を使っていると、

  • 同じ Hostname

  • 同じ Metadata

同一ホストとして再登録される

対策:

  • HostMetadata にVM固有情報を入れる

  • HostMetadataItem=system.hostname


5. Zabbix Server 側の設定は?

サーバ側設定ファイルを直しても 根本解決にはなりません

理由:

  • Zabbix Server は「来たデータを信じる」設計

  • ホスト識別はエージェント申告ベース

やるとしたら:

  • 同名ホストがいたら気づける運用ルール

  • Auto Registration ルールの厳密化


6. 典型的な事故パターン

  • ゴールデンイメージからVM量産

  • agent設定も丸コピー

  • 数十台が「同一ホスト」として監視

  • CPU 100% → 0% → 100% を繰り返す

  • 原因調査に時間が溶ける

Zabbixあるあるです。


7. ベストプラクティス(実務)

VMコピー前提なら

  • HostnameItem=system.hostname

  • cloud-init等で初回起動時にhostname生成

  • Auto Registration 使用

どうしても固定名を使うなら

  • コピー後、起動前に必ず修正

  • Ansible等で差し替え


まとめ

  • 同一VMをコピーして同時起動すると
    Zabbixサーバは「1台のホストが分裂した」と認識する

  • 監視は壊れるが、エラーは出ない

  • 解決策はエージェント側の Hostname 一意化

  • サーバ側設定だけでは直らない





Efficient Linuxコマンドライン 開発と自分に磨きをかけるLinuxのテクノロジー [ Daniel J. Barrett ]

価格:3300円
(2024/11/2 00:37時点)
感想(0件)


 



この記事へのコメント

広告です。クリックいただけると励みになります。