前回の投稿でAWS上のZabbix Proxyが出来たので、Hyclopsについても検証してみました。
やりたいこと
各リージョンにZabbixProxy+Hyclopsを導入し、監視をものすごく楽にしたい。
AutoScaleなんかも気にしないでいきたい。
Zabbix-ServerにHyclopsを入れた場合
Zabbix Proxy経由で上手くHyclopsが連動してくれるかなぁと思ったのですが、Zabbix-Serverが主となります。(そりゃそうだ)
①CloudWatch等からAWS APIを用いて全リージョンのEC2を取得し、Zabbix-Serverに登録します。その時に以下のように登録されます。
Zabbixの表示:[Hyclops用ホスト名][AWSコンソール上で見えるName][Instance ID]
ホスト名 :Public DNS
IPアドレス :Public IP
ただし、標準がホスト名となっているので、ホスト名を使って通信に行くと思われます。そうするとAWSの仕様上PrivateIPで返ってきちゃいます。
②登録したEC2を監視しようとします。
【結論】
TOKYO、EUともにZabbix-Serverから監視しに行ってしまい、狙ったとおりになりません。
Zabbix-ProxyにHyclopsを入れた場合
◆Hyclopsの設定
そもそも入るかどうか不安でしたがいけました。手順は私の過去の投稿をごらんください。
違いは/opt/hyclops/hyclops.confのZabbixServerの指定にきちんとZabbix-ServerのIPを書いてあげることです。
◆Zabbix-Agentの設定
PrivateIPでの通信なので、Zabbix-ProxyのPrivateIPを/etc/zabbix/zabbix_agentd.confに記述してください。
◆セキュリティグループの設定
Zabbix-ProxyとZabbix-Agentそれぞれについてお互いのセキュリティグループで10050-10051を許可するようにしてください。セキュリティグループを許可した場合は、所属EC2のPrivateIP通信を許可します(過去の実験)。
◆挙動
①CloudWatch等からAWS APIを用いて全リージョンのEC2を取得し、Zabbix-Serverに登録します。(Zabbix-ServerにHyclopsを入れた場合と同じ)
②登録したEC2を監視しようとします。無事Zabbix-Proxyから各Agentの値を取り、Zabbix-Serverに返してくれます。
が・・・・・
EU以外の国も監視してしまいます。
【結論】
嬉:Zabbix-Proxy+HyclopsでEUのEC2を自動監視できた
悲:狙ってないリージョン(TOKYO)もにZabbix-Proxyから監視しに行ってしう。
→リージョン毎にZabbix-Proxy+Hyclopsにすると全リージョンEC2がめっちゃ登録
される
これも今後の検討事項となりました。