CloudForecastを使っていて、EC2インスタンスに構築したRedisサーバのメトリクスを可視化しています。 CloudForecastには、既存のRedisモジュールがあるのですが、他に取得したいメトリクスがあったので拡張しました。 本家のモジュールを元に追加しただけです。
使い方は簡単で、以下のようにすればすぐ使えます。
- Redisextend.pmを
<CloudForecast Root path>/site-lib/CloudForecast/Data
に置く - CloudForecastの設定を以下のように行う
# host_config/redis.yaml
component_config:
resources:
- redisextend:6379
# server_list.yaml
servers:
- config: redis.yaml
- xxx.xxx.xxx.xxx redis server
取得できるメトリクスは以下のとおりです。
メトリクス | 説明 |
---|---|
Keys | キーの数。info コマンドのdb0:keys=<Keys> から取得 |
Total Command | 処理されたコマンド総数。info コマンドのtotal_commands_processed から取得 |
Get Command | get がつく、すべてのコマンド総数。info commandstats から算出 |
Set Command | set がつく、すべてのコマンド総数。info commandstats から算出 |
Del Command | del がつく、すべてのコマンド総数。info commandstats から算出 |
Connections(Received) | Redisサーバが受けつけたコネクション総数。info コマンドのtotal_connections_received から取得 |
Connections(Clients) | クライアントからのコネクション数。info コマンドのconnected_clients から取得 |
Connections(Slaves) | スレーブからのコネクション数。info コマンドのconnected_slaves から取得 |
Memory Usage(Used) | Redisサーバに割り当てられたメモリ容量。info コマンドのused_memory から取得 |
CacheHits | 検索に成功したキー数。info コマンドのkeyspace_hits から取得 |
CacheMisses | 検索に失敗したキー数。info コマンドのkeyspace_misses から取得 |
Evicted Keys | maxmemory の制限のため排除されたキーの数。info コマンドのevicted_keys から取得 |
Fragmentation Ratio | フラグメンテーション率。info コマンドのmem_fragmentation_ratio から取得 |
Pub/Sub Channels | Pub/Sub で通知を送った数。info コマンドのpubsub_channels から取得 |
Slowlog | スローログの数。slowlog len コマンドから取得 |