Tech Sketch Bucket of Technical Chips by TIS Inc.

フリーで使える統合監視の鬼、Zabbixでナウい監視をする〜監視ホストを自動で登録する〜

Pocket

この記事はeXcale Developer's Blogから移転されたものです。


eXcale 開発チームの泉谷(@syguer)です。
今回は、Discoveryを使って新しく作られたホストに自動で監視設定を追加する方法を紹介します。


過去のナウい監視シリーズ一覧

1. インストール編
2. 監視対象を追加しよう
3. Triggerを設定してActionを実行する
4. Amazon SESでアラートを送る
5. 独自のkeyを設定する


Discoveryについて

Discoveryとは、ZabbixのDiscoveryプロセスがネットワークを走査し、ホストを探してくれる機能です。
これを使うことで、指定したネットワーク上にあるホストの状況を常に把握することができます。
また、Discoveryのイベントをトリガーにしたアクションを設定することもできるため、ホストが見つかったorいなくなった際に通知する、などといったこともできます。

eXcaleのインフラはスケーラブルであることを重視して設計しているため、基本的にインスタンスの数が流動的です。このような状況では「どのIPがどのホストに使われているか」という情報が刻々と変化し続けているため、人による管理は実質的に不可能です。(朝確認したIPを使っていたホストは夕方にはいないかもしれません)
また、eXcaleではホストの増減は基本的に自動で行われます。そのため必然的に監視対象の追加も自動で行う必要がでてきます。
Discoveryを使えばこのような課題を解決できるので重宝しています。


Discoveryを設定する

では実際にDiscoveryを設定する方法について紹介していきます。
設定はWebインターフェースから行います。
まずは[Configuration] => [Discovery]を開き、右上の[Create discovery rules]をクリックします

Nameに任意の名前を入力し。IP rangeを指定します。


IP rangeには上図の例の他にも以下のようなフォーマットで指定することが可能です。
単一のIPを指定 => 192.168.1.33
ネットワークセグメントを指定 => 192.168.4.0/24
カンマ区切りで複数指定 => 192.168.1.1-255,192.168.2.1-100,192.168.2.200,192.168.4.0/24

続いて、NewをクリックしてCheckのタイプを指定します。
Discoveryはこのチェックが通るかどうかで、そのIPが使用されているか否かを判別します。
今回はチェックを一つしか設定しませんが、複数設定することもできます。

Saveで保存します。

以下のように表示されていれば設定が追加されています。

ここまでで設定は完了です。
設定したネットワークにホストを追加してZabbix agentを起動してみてください。
Discoveryの状況は[Monitoring] => [Discovery]から確認できます。
以下のようにホストが見つかっていれば成功です。


監視を自動で設定する

ここまででネットワーク上で新規に追加されたホストを見つけることができるようになりました。
次に、Discoveryのイベントをトリガーにしてアクションを設定することで、自動で監視設定が追加されるようにします。

まずは[Configuration] => [Actions]を開き、右上のプルダウンでDiscoveryを選択します。

DiscoveryのAction一覧が開いたら右上の[Create action]をクリックします。

任意の名前を入力します。

Conditionsをクリックし、先ほど追加したDiscoveryを選択し、Addをクリックします。

StatusがUpであるものに監視設定を入れたいので、「Discovery StatusがUpであること」を条件に追加します。

Operationsをクリックし、更にnewをクリックします。

Operation Typeに Link to templateを選択し、LinkするTemplateを選択します。今回はTemplate App Zabbix Agentを選択します。

もう一つoperationを追加します。

Operation typeにAdd hostを選択し、Addをクリックします。

Saveをクリックし、保存します。

Actionが追加されていればOKです。

お疲れ様でした。これで設定は完了です。
設定がうまく行っていれば、以下のようにDiscoveryで見つかったホストに自動でTemplateが適用されます。


最後に

今回はZabbixのDiscoveryについて紹介しました。
最近はサーバーを使い捨てにするImmutable Infrastructureが注目されるなど、クラウドの恩恵によってインフラは必ずしも固定的ではなくなりました。
ZabbixのDiscoveryを使うことでそういった環境に適応することができます。ぜひ試してみてください。

エンジニア採用中!私たちと一緒に働いてみませんか?