Docker+Grafanaでアカウントを横断してCloudWatchを可視化する

※当記事は2017年にQiitaに投稿した記事を再編集したものです

ちょっとしたモニタリングだったらCloudWatchでも十分。
ただ、普段コマンドラインツールで操作していることもあるし、複数アカウントを持っていたりするのでマネージメントコンソールだと使い勝手が悪い。
そんな悩みをGrafanaが解決してくれたので自分用にメモメモ。

必要なもの

  • AWSのIAM User
  • aws-cli
  • Docker for Mac(Docker Machineでも可)

credentialsの登録

自分が普段使っているMacでは、aws-cliを使ってprofileをいくつも登録してある。
登録するときはこんな感じ。
profile名は適宜変更すること。
すでに作成済みの場合は実施不要。

$ aws configure --profile hogehoge
AWS Access Key ID [None]: aaaaa
AWS Secret Access Key [None]: bbbbb
Default region name [None]:
Default output format [None]:

すると、以下の感じで必要な情報が登録されているはず。

$ cat ~/.aws/credentials
[hogehoge]
aws_access_key_id = aaaaa
aws_secret_access_key = bbbbb

credentialの取り扱いには気をつけること!

DockerでGrafanaを起動

上記で作成したcredentialsを-vオプションでGrafanaコンテナに渡す。
公式イメージあるので捗る。
Grafanaは3000ポートでListenしているのでそれもあわせてマッピング。

$ docker run -d -p 3000:3000 -v ~/.aws/credentials:/usr/share/grafana/.aws/credentials --name grafana grafana/grafana
3d7de10094f1d84dbedd8a77fb55ef5c997ccdde31722a114bcd25388b1a8b3d

起動した。

Grafanaにデータを追加

接続してみる。

$ open http://localhost:3000
screencapture-localhost-3000-login-1484041461957.png

デフォルトのログインID/PWはadmin/admin
ログインするとこんな感じ。
Kobito.cKv8Tt.png
なんか前見たときよりUIがよくなってるかも。
ちょっと目立つ感じになってるAdd data sourceボタンを押す。

Kobito.b6Dvv3.png
こんな画面になる。
Nameには任意のData Sourceの名前をつけてる。
TypeのプルダウンからCloudWatchを選択。
Auth ProviderはCredentials file以外にもAccess & secret keyやARNが選択できるが、変更せずにCredentials fileを指定する。
Default Regionは適宜選択すること。
Custom Metrics namespaceはなにかあれば入力するが、とりあえず空のままでOK。
左下のAddボタンを押して、Successと表示されれば登録できてるっぽい。

Kobito.KIPEF2.png
こんな感じで登録できた。

あとはdashboardでポチポチグラフを追加していい感じの画面を作ればOK。
Kobito.TV43uj.png


Dockerで起動しているのでこのままだとデータの永続化とかはできてないけど、とりあえず簡単に起動できて便利。

コメント

タイトルとURLをコピーしました