akishin999の日記

調べた事などを書いて行きます。

Munin で Redis のリソース監視

Munin で Redis のリソースをモニタリングするためのプラグインをいくつか試してみたんですが、個人的には以下のものが気に入りました。

bpineau/redis-munin · GitHub
https://github.com/bpineau/redis-munin

気に入った理由としては

  • シェルスクリプト製なので、必要なのは redis-cli コマンドだけ
  • 一枚のファイルで内容もシンプル
  • 監視項目が結構多い

といった辺りでしょうか。

このプラグインをインストールすると以下の監視項目が追加されます。

  • Redis blocked clients
  • Redis commands rate
  • Redis connected clients
  • Redis connections rate
  • Redis dbs
  • Redis evicted keys rate
  • Redis expired keys rate
  • Redis memory fragmentation
  • Redis memory usage
  • Redis pubsub channels

インストール

既に Redis、munin-node はインストールされているものとします。
環境は CentOS 6.3 で、munin-node は EPEL のものを使用しました。

プラグインをインストールします。

# cd /usr/share/munin/plugins/
# wget https://raw.github.com/bpineau/redis-munin/master/redis_
# chmod +x redis_
# ln -s /usr/share/munin/plugins/redis_ /etc/munin/plugins/redis_127.0.0.1_6379

シンボリックリンクの名前で接続先サーバを指定します。
以下のような形式で指定します。

/etc/munin/plugins/redis_IPアドレス_ポート番号

ここでは localhost(127.0.0.1) の Redis を監視対象としていますが、リモートを監視する事も出来ます。

requirepass で Redis への接続パスワードを設定している場合、以下のファイルを作成します。

# vi /etc/munin/plugin-conf.d/redis

以下のようにパスワードを書いておきます。

[redis_*]
env.password 設定した接続パスワード

これでプラグインのインストールは完了です。
munin-run で動作確認をしてみます。

# munin-run redis_127.0.0.1_6379
multigraph redis_clients
clients.value 1
multigraph redis_blocked_clients
blocked.value 0
multigraph redis_memory
memory.value 136797848
multigraph redis_fragmentation
frag.value 1.07
multigraph redis_total_connections
connections.value 14500
multigraph redis_expired_keys
expired.value 0
multigraph redis_evicted_keys
evicted.value 0
multigraph redis_pubsub_channels
channels.value 0
multigraph redis_commands
commands.value 931311
hits.value 269
misses.value 36
multigraph redis_dbs
db1keys.value 510799
db0keys.value 28
db0expires.value 0

上記のように値が取得できていればインストールは成功です。

問題なければ munin-node を再起動します。

# service munin-node restart

これで Web から確認すると以下のように Redis の各種リソースのグラフが追加されます。
こんな感じ。

プラグインの中身は redis-cli コマンドの結果を awk で解析して値を取り出しているだけなので、将来的に項目を追加したい場合などにも比較的簡単に対応できそうです。

これでリソース監視は良さそうなので、後は Monit で死活監視かな。


Redis Cookbook
Redis Cookbook
posted with amazlet at 13.06.05
Tiago Macedo Fred Oliveria
Oreilly & Associates Inc
売り上げランキング: 27,988

Redis in Action
Redis in Action
posted with amazlet at 13.06.05
Josiah L. Carlson
Manning Pubns Co
売り上げランキング: 43,263

Instant Munin Plugin Starter
Instant Munin Plugin Starter
posted with amazlet at 13.06.05
Bart ten Brinke
Packt Publishing