agentd.confで設定するZABBIXサーバの指定にCNAMEを利用することは可能でしょうか
ZABBIX Agentで指定するパラメータについて教えてください。
以下のような環境構成と監視対象から正常にDNSが利用できるとして
[ZABBIX Server]
ホスト名:server01.example.com
IPアドレス:192.168.10.1
OS:CentOS 6.5 (x64)
バージョン:Zabbix 2.4.3
[監視対象(agent)]
ホスト名:agent02.example.com
IPアドレス:192.168.10.5
OS:CentOS 6.5 (x64)
バージョン:Zabbix Agent 2.4.1
[DNS情報]
ドメイン:example.com
server01 IN A 192.168.10.1
192.168.10.1 IN PTR server01.example.com.
server01 IN CNAME zabbix01.example.com.
server01 IN CNAME zabbix02.example.com.
質問1.agentd.confで設定するZABBIXサーバの指定にCNAMEを利用することは可能でしょうか。
[設定例]
Server = zabbix01.example.com
ServerActive = zabbix02.example.com
↑どちらもserver01(192.168.10.1)を指定したものと同じである認識です。
※ZabbixDocumentationを読む限り、名前解決(resolve hostname->IP,IP->hostname)ができればよい。
とだけあるのでCNAMEの使用は問題ないという認識なのですが
https://www.zabbix.com/documentation/2.4/manual/appendix/config/zabbix_a...
"Note that hostnames must resolve hostname→IP address and IP address→hostname."
質問2.上記の設定を行った場合、なにか監視上制約を受けるのでしょうか。
いろいろ深読みしすぎなんだろうなと思っています。。。
よろしくおねがいします。
TNK - 投稿数: 4731
同じDNSサーバを参照しているのであれば問題なかったと思います。
Serverの値は、ZabbixサーバからZabbixエージェントに接続した際に、
Zabbixエージェントが正しいZabbixサーバからの値取得要求であるか
を判定するために利用されます。
Zabbixサーバが稼働しているサーバとZabbixエージェントが稼働して
いるサーバが異なるDNSサーバを参照している場合は、レコードが変更
された直後に両方のサーバが名前解決をしようとした際に異なる結果
となる場合が考えられますので、その時点でZabbixサーバから値を取
得しようとした際にエラーとなって値が取得できなくなる状態が発生
するかもしれません。
再度、ZabbixサーバからZabbixエージェントに接続しようとした時に
名前解決で正しいIPが取得できて正しいZabbixサーバからのアクセス
だと判定できれば、そこから値を取得できるようになります。
一度値が取得できない状態が発生した場合は、デフォルトだと10分間
値が取得できなくなったと思いますのでご注意ください。
ServerActiveの値は、アイテムのタイプが「Zabbixエージェント(アク
ティブ)」のものを、Zabbixエージェント側からZabbixサーバ側に接続
して通知するために利用されます。
ここで値を送信する際に、ホスト名から引いたアドレスで本当のZabbix
サーバに接続できない場合は、接続できなければリトライされますが、
本来送るべきホストではないけれども接続できてしまった場合には、
その送るべきではなかったサーバに値が送信されてしまいます。
つまり、短期間で済むとは思いますが、DNSのレコードの更新と参照す
るタイミングによっては、エラーとなるかデータが破棄される可能性
が考えられると思います。
tomopa2 - 投稿数: 23
TNK様
リプライありがとうございます。
DNSレコード情報の伝搬が行きわたるまでの挙動について考えていませんでした。
新しい気づきをいただき、ありがとうございます。
ZABBIXサーバのDNSレコードが変わることは少ないと思いますが、
DNS情報の伝搬が終わるまでにデータ破壊の可能性がゼロではないことも
頭に入れておきたいと思います。
ありがとうございました。