ども、cloudpack の かっぱ (@inokara) です。
はじめに
ElastiCache for Redis を弄る機会があったので ElastiCache for Redis を Datadog で監視してみた。
監視する
必要なもの
- EC2 インスタンス一台(t2.micro で十分かも)
EC2 インスタンスは ElastiCache for Redis の Redis の内部情報を収集する際に datadog-agent
を動かす為に必要。
パターン 1(CloudWatch の情報を取得する)
CloudWatch から API を利用して情報を収集する。
手順としては…
- IAM ユーザーを作成(CloudWatch と CloudTrail に対する Read Only の権限を付与)
- IAM ユーザーの credential な情報(アクセスキー、シークレットアクセスキー)を生成
- Integrations にてアクセスキーとシークレットアクセスーを設定
CloudWatch のメトリクスから取得したいサービスを選択することも可能。
暫くするとメトリクスの収集が開始され、Metrics Explorer から収集したメトリクスを確認することが出来る。
適当なメトリクスを選択すると以下のようにグラフが表示される。
パターン 2(Redis の内部情報を取得する)
datadog のエージェントを利用して ElastiCache for Redis の Redis 自体から取得出来る情報を収集してみる。
手順としては…
- datadog のエージェントをインストール
- Redis 用の設定ファイルを修正する(エージェントをインストールすると設定ファイルのひな形もインストールされる)
init_config: instances: - host: xxxxxxxxxx-001.yyyyyy.0001.zzzz1.cache.amazonaws.com port: 6379 - host: xxxxxxxxxx-002.yyyyyy.0001.zzzz1.cache.amazonaws.com port: 6379 - host: xxxxxxxxxx-003.yyyyyy.0001.zzzz1.cache.amazonaws.com port: 6379
修正したら datadog-agent
を再起動する。
sudo /etc/init.d/datadog-agent restart
暫くするとメトリクスの収集が開始され、Integration Dashboards
に Redis - Overview
が現れる。
Redis - Overview
をクリックすると上図のような各種メトリクスが表示される。
パターン 3(ダッシュボードを作ってみると…)
Dashboard
から任意のメトリクスを配置してオリジナルのダッシュボードを作成することが出来るので作ってみた。
なんかカッコイイ。
ちゃんと見るべき値のみを厳選してダッシュボードに掲載すれば一つの画面でクラスタの状態が把握出来るのは嬉しい。さらに、ダッシュボードを共有するオプションもあるのでお客さんに見せる際にも全部を見せる必要が無いのも嬉しいかも。
おわり
自前で munin とか Cacti とか Graphite もいいけど、datadog のようなサービスであればエージェントをインストールしさえすればすぐに可視化出来るので、サクッとメトリクスを見たい時とかにはいいかも。また、CloudWatch の情報と Redis 自体の情報を横断して収集、確認出来るのも嬉しい。
元記事はこちらです。
「ElastiCache for Redis を datadog で監視するメモ」