Elasticsearchのクラスタ監視をZabbixでする

ZabbixでElasticsearchのクラスタを監視したい、したくない?

Elasticsearchのノードを先日1つ追加しましたので、ちょい傾向とかを確認しようと思いZabbixで監視できるテンプレートとかを作ってみました。

 

Elastic_zab

 

使い方

Zabbixには外部チェックという自作で用意したスクリプトをキックしてその実行結果を取得する機能があります。今回はそれを使ってみます。

 

シェルスクリプトをZabbixサーバに配置する

Elastic_zabに同梱しているelastic.shをZabbixサーバのexternalscriptsディレクトリに配置します。実行権限もZabbixユーザにします。

$ git clone https://github.com/tubone24/Elastic_zab

$  cp -p Elastic_zab/elastic.sh /usr/lib/zabbix/externalscripts/

$ chown zabbix. /usr/lib/zabbix/externalscripts/elastic.sh

$ chmod 751 /usr/lib/zabbix/externalscripts/elastic.sh

 

Zabbixにテンプレートをインストールする

Zabbix画面の設定のテンプレートからelasticsearch_zab.xmlをインポートします。

 

うまくインストールできれば、テンプレート一覧にElastic clusterが出現します。

 

Elasticsearchのノードにテンプレートを当てる

Elasticsearchのノードにテンプレートを当てます。

 

合わせて、ElasticsearchのIPとポートをマクロで設定しておきます。

設定するマクロは以下の2つです。

  • {$ESIP} = ElasticsearchのIPもしくはDNSネームを設定します。
  • {$ESPORT} = Elasticsearchのポートを設定します。

 

監視する

うまく監視できるとこんなグラフができます。

 

おまけ Zabbixの予測関数を使ってみた

いくつかの監視アイテムはforecastやtimeleftといったZabbixの関数を利用しています。

予測は線形としています。

予測値はトリガー設定していないのでお好みでトリガーを設定するのもいいのではないでしょうか。

こんな感じで計算アイテムで簡単に実装できるのが魅力ですね。

 

 

[ Elasticsearchのクラスタ監視をZabbixでする ]Server,Tech, , 2017/07/23 21:27