NAT越え環境のエージェント利用監視について

NAT越しの環境にzabbixエージェントを導入し監視する場合にリソース値が正常に取得できないなどの制限はあるのでしょうか?

宜しくお願い致します。

コメント表示オプション

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

鈴木です。

NAT越しと言った場合に、以下2つのようなケースがあると思います。
それぞれについて記述します。

(1.) 監視サーバがNAT越しでプライベートIP、監視対象がパブリックIPをもつ

通常の「Zabbixエージェント」監視ができますが、「Zabbixエージェント(アクティブ)」監視はできません。
ログファイル監視は「Zabbixエージェント(アクティブ)」監視でのみ可能なので、つまり、この環境ではログファイル監視ができないという制限が出てきます。

(2.) 監視サーバがパブリックIP、監視対象がNAT越しでプライベートIPをもつ

「Zabbixエージェント(アクティブ)」監視ができますが、「Zabbixエージェント」監視はできません。
大きな問題として、「Zabbixエージェント(アクティブ)」監視では監視対象が停止した場合に、それを直接検知することができません。
一定時間以上データが送られてこないことから間接的に検知は可能ですが、その分の設定が必要になり、設定が煩雑になるかと思います。(一定時間以上データが送られてこないことの検知は、NODATA関数を使うことで実現できます。)

よろしくお願いします。

ユーザー TNK の写真

ポートフォワーディングなどの設定が行われていて、Zabbixサーバ
から監視対象上のZabbixエージェントのポート番号へのTCPでの接
続が可能であれば、タイプが「Zabbixエージェント」のアイテムを
利用することができます。

さらに、監視対象のサーバからZabbixサーバのポート番号へTCPで
の接続ができると、ログ監視等で利用する、タイプが「Zabbixエー
ジェント(アクティブ)」のアイテムも利用できるようになります。

ただし、監視対象がNATの内側にある場合、監視対象上のZabbixエ
ージェントの設定の「Server」の値の設定に注意が必要です。
zabbix_agentdを利用する場合は、設定ファイルが

 /etc/zabbix/zabbix_agentd.conf

になりますが、この中のServerの値を、
<code>
Server=Zabbixサーバへ接続するためのグローバルIP
</code>
だけで動く場合もありますが、
<code>
Server=Zabbixサーバへ接続するためのグローバルIP,Zabbixサーバから接続される際のソースIP
</code>
としないと、Zabbixサーバからの要求をZabbixエージェントが拒否
してしまう場合があります。

どのような設定が必要になるかは、ネットワーク構成に関する詳細
情報をご提供頂けていませんし、頂いたとしても利用したことのな
い機器などを利用されている環境であれば、どう設定すればよいか
を判断できませんので概要のみお伝えいたします。

ネットワークの設定は誤っていないのに、Zabbixエージェントから
の値が取得できないような場合は、一時的にZabbixエージェントを
デバッグモードに切り替えて起動しなおして、Zabbixエージェント
のログをご確認下さい。

ユーザー cggf の写真

鈴木様、TNK様

ご回答いただき、ありがとうございます。
条件によってZabbixエージェントとZabbixエージェント(アクティブ)での監視可否が変わることを理解しました。

ご教授下さり、誠にありがとうございました。