AutoScalingも怖くない、Zabbix自動登録

AWS運用自動化サービス「Cloud Automator」
この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。

4月から劇団サーバーワークスに加わりました。伊藤です。
社内ではくりゅーと呼ばれております。

AWS環境では、わずか数クリックでサーバーができたり、AutoScalingで自動的にサーバーが増えたり、
オンプレミスの監視運用のスピードでは全く追いつけません。

そこで、今回はAuto Scalingなどで監視対象のインスタンスが自動で増えたり減ったりしても、Zabbixで常に対象インスタンスを自動登録し、監視対象にする方法をご紹介します。
自動構成ツールなどには依存しないので、どんな方法で(マネージメントコンソール、SDK、CLI、API、Elastic Beanstalk等々)構築、運用していても適用できます。

監視対象インスタンスのAgent側設定

zabbix_agentd.confにおいて、以下の点を設定します。

この設定を行ったEC2インスタンスからAMIを作成し、Auto Scalingや自動デプロイで使用するAMIとして指定します。

サーバ側設定

  1. [設定]-[アクション]の画面でイベントソースに[自動登録]を選択し、[アクションの作成]をクリックします。
    screenshot_01
  2. [アクションの設定]画面の[アクション]タブでアクションの[名前]を設定します。
    screenshot_02
  3. [アクションの実行条件]タブで新規条件で[ホストメタデータ]を指定し、zabbix_agentd.confでHostMetadataに指定した文字列を設定します。
    この設定により、Agentの設定ごとに、アクションを分けることができるようになります。
    ※忘れずに[追加]メニューをクリックして、[アクションの実行条件]ボックスに登録してください。
    screenshot_03
  4. [アクションの実行内容]を設定します。
    [ホストの追加]設定を登録します。
    screenshot_05
  5. 所属させるホストグループを指定します。(指定しない場合:自動的にDiscovered hostsに登録されます。)
    screenshot_08
  6. リンクさせたいテンプレートを指定します。
    screenshot_09
  7. [アクション]タブ、[アクションの実行条件]タブ、[アクションの実行内容]タブの設定が完了したらアクション設定を[保存]します。
    screenshot_07

以上でAgent自動登録の設定は完了です。リンクさせるテンプレートを分けたい、
登録するホストグループを分けたい等の場合は分岐の分だけ、自動登録の設定を作成します。

おすすめ!

Zabbix2.2から新たに追加された「HostMetadata」を活用することで、AutoScalingやElastic Beanstalkによるデプロイの際に自動的にアプリケーションに合わせた監視を始めたり、
既存環境にZabbix-Agentをインストールするだけで、Zabbixサーバ側での新たな設定をせずに自動的に監視が開始されるシステムを構築することができます。
先日リリースされたZabbix2.3.0 (Zabbix2.4に向けての開発版アルファリリース)ではディスカバリーによる自動削除機能の強化も発表されており
スケールインも想定した監視自動化にさらに夢が広がりますね。

 

AWS運用自動化サービス「Cloud Automator」