2015年8月14日金曜日

zbx_redis_template を使ってみた

概要

Zabbix で Redis の監視を簡単にできないかなと探していたら便利そうなテンプレートがあったので使ってみました
ということで zbx_redis_template を使ってみました

環境

  • CentOS 6.6
  • Redis 3.0.3
  • Zabbix 2.0.3
  • Python 2.6.3
  • pip 7.1.0

事前作業

Zabbix Agent および Server のインストールと設定
Redis のインストールと設定

は完了させておいてください
ここでは紹介しません
Zabbix Agent は公式から rpm を取得してインストールしました、Redis は Remi を追加して yum インストールしています
Redis サーバを Zabbix ですでに監視可能な状態であることを前提にしています

Redis 側の設定

監視対象の Redis サーバ上に監視に必要な設定をしていきます

pip インストール

  • yum -y install python-pip
  • pip install redis
  • pip install redis argparse

zabbix_agentd.conf 修正

Zabbix Server 設定

Zabbix Server の GUI を操作していきます
GUI が操作できるマシン上で作業してください

git clone https://github.com/blacked/zbx_redis_template.git
でテンプレートをダウンロードしてください

テンプレートをダウンロードしたら GUI を開いて

設定 -> テンプレート -> インポート

で参照からダンロードテンプレートの中からzbx_redis_templates.xml を選択してください

これで作業自体は完了です
問題なく動作すれば Redis の情報が Zabbix Server に登録されはじめます

トラブルシュート

自分が遭遇したトラブルシュートを紹介します

Not supported by Zabbix Agent

多くはこれにハマると思います

監視対象に配置した python スクリプトを直接実行してエラーにならないようにしましょう
python スクリプトは以下のように実行できます

/etc/zabbix/script/redis/zbx_redis_stats.py -p 16379 $1 $2 $3

まずこれでエラーが出なくならないようにしましょう
エラーになる場合大抵の理由は

  • pipでライブラリのインストールが足りていない
  • zbx_redis.confでポートの指定が足りていない

かなと思います
ライブラリのインストールは必要なものを pip intall してください
ポートの指定は zbx_redis.conf 内を以下のように変更することで可能です

/etc/zabbix/script/redis/zbx_redis_stats.py -p 16379 $1 $2 $3

エラーが出なくなったら再度テンプレートの監視設定を有効にする必要があるので、テンプレートから全アイテムにチェックして一括更新でステータスを無効 -> 有効にしてください
こうすることで再度アイテムのチェックが走ります

監視できない項目もある

おそらくバージョンの違いによるものだと思いますが自分の場合は「redis[{HOSTNAME}, dbsize, none]」の値が取得できませんでした
取得できない値は Zabbix Server 側に値があっても仕方ないのでテンプレートから削除しちゃってOKです

0 件のコメント:

コメントを投稿