はじめに
- みなさん!メリークリスマス!Advent Calendar14日目は、Instana と Zabbix 連携機能を試してみた についての記事となります
公式ドキュメントのリンク
- 実際に設定するときは必ず公式ドキュメントをチェックしてください!
- 本記事執筆時点では、Instana と Zabbix 連携は、Public Previewであり、今後は仕様の大きな変更の可能性がありますため、最新情報は公式ドキュメントをご確認ください
設定の前提条件
構成図
- Instana Agentをインストールしたサーバは、API経由でZabbix Serverの情報を取得し、Instana バックエンドに情報を送ります
[Instana BackEnd] ----Agent通信---- [Instana Agent Server] ----API---- [Zabbix Server]
Zabbix Serverの諸元
| 設定項目 | 設定値 |
|---|---|
| Zabbix Version | 7.0 LTS |
| Web | Apache, PHP 8.2 |
| データベース | MySQL 8.0 |
| vCPU | 4 コア |
| Mem | 16 GB |
| OS | Rhel 9.4 |
- 本記事ではZabbixの構築方法は割愛いたします
- Zabbix Server自身を監視する設定とします
- Zabbix Serverとは別に、Instana Agentをインストールしたサーバを用意します
設定方法例
Zabbix API Token発行
- ユーザー設定から、API Tokenを発行します。このAPI Tokenは一度しか表示されないため、必ず控えておく必要があります
Instana Agent のconfiguraion設定
- 先ほど発行したAPI Tokenを用いて、Instana AgentのconfiguraionにZabbix連携のための設定をします
- なお、poll_rate と target_zone はオプションです
com.instana.plugin.zabbix:
enabled: true
endpoint: 'http://<Zabbix Host>/zabbix/api_jsonrpc.php'
token: 'API Token'
poll_rate: 30
target_zone: 'Zabbix Remote Zone'
- 設定反映後、Instana UIではInstana Agent Server(Zabbix Test Zone)とZabbix Server(Zabbix Remote Zone)の2つを確認することができます
- なお、Zabbix Serverの表示色が薄いのは、Zabbix Serverが中継サーバー経由で監視(リモート監視)しているためです
Instana と Zabbix の連携機能
- Instana と Zabbix の連携機能の1つとして、Zabbix Serverで発生したアラートをInstanaに通知させることができます
- これにより、Zabbixのみで監視しているシステムにおいても、Instana側で異常検知をすることができるため、アラート管理をInstana1つに集約することができ、さらにInstanaが持つ様々な通知サービス(チケッティングサービス、オンコールサービス、チャットサービス、WebHookなど)などと連携することができます
ZabbixのアラートをInstana経由でSlackに通知する例

アラート連携機能を試す
- Zabbixであえてアラートを発生させるために、CPU使用率が10%以下の時にアラートを発生させるようなTriggerを設定します
- TriggerのSeverity(深刻度)は、ひとまずHighとします
# Triggerの条件
max(/Zabbix server/system.cpu.util,1)<10
Zabbix側でのTriggerとInstanaでの見え方を確認
- Zabbixでアラートを検知した後、InstanaでもZabbix Serverのアラートを検知しました(なお、Instanaではアラートを「イベント」として通知します)
- Instana側のイベントは、重大度=クリティカルとして検知されることを確認しました
深掘り1: ZabbixのTriggerのSeverity(深刻度)とInstanaの重大度
- 先ほどはSeverityをHighに設定しましたが、ZabbixではそのほかにもいくつかのSeverityが存在します
- それぞれのSeverityのTriggerを設定して、Instana側で通知させると、SeverityによってInstanaで受け取るイベント種別が異なることがわかりました
- さらに、Not ClassifiedやInformationに設定すると、Instana側にはイベントとして通知されないこともわかりました
まとめ
| Zabbix TriggerのSeverity | Instanaイベントの重大度 |
|---|---|
| Not classified / Information | 通知なし |
| Warning / Average | 警告 |
| High / Disaster | クリティカル |
深掘り2: アラート発砲中にTriggerのSeverity(深刻度)を変更してみる
- まず、Zabbix Server側のTrigger設定でSeverityをDisasterに設定し、Instana側でイベント通知させます
- その後、Zabbix Server側でSeverityをDisasterからInformationに変更をすると、Instana側ではイベントがクローズされることがわかりました
最後に
- 今回は、Instana と Zabbix の連携機能について、簡単な検証を行いました
- 現在の運用では、どうしても Zabbixのみで監視せざるを得ないシステムがある場合でも、Instanaと組み合わせることで、ZabbixおよびInstana双方のアラートを一元管理し、画面を統合できる点は大きなメリットになると期待できます
- 一方で注意すべき点として、Zabbix Server側におけるTriggerのSeverityによって、Instana側で受信するイベント種別(重大度)が変化するため、設定時には十分な確認が必要となります
- 最後に繰り返しになりますが、本記事執筆時点では Instana と Zabbix の連携は Public Preview 段階です。今後、仕様が大きく変更される可能性がありますので、最新情報は必ず公式ドキュメントをご確認ください!良い年末を!











