LoginSignup
9
7

More than 5 years have passed since last update.

GrafanaでCloudWatch見る(接続設定編)

Posted at

Grafana2.5がリリースされ、CloudWatchが正式にサポートされたので設定を行ってみる。

インストール

インストールの説明は割愛。
http://docs.grafana.org/installation/

データストアを持たないので、インストールして起動できさえすればOK。
デフォルトポートは3000
ユーザー/パスワードはadmin

CloudWatch設定

基本的にはこの設定通り
http://docs.grafana.org/datasources/cloudwatch/

CloudWatch部分のコードはcloudwatch.goで見ることができる。
AWS SDK for Goが使われている。
※PRにProfileの設定を追加したものが取り込まれたので、今後はマルチアカウントに対応できそう。(2015/11/01時点)

CloudWatch接続の為の認証はGrafanaの設定ではなく、サーバ側で行えるようにする必要がある。
方法は2種類。

IAM Roles

EC2で使用する場合はこの方法が一番セキュアで楽。
デメリットとして
* インスタンス起動時に設定しないといけない
* マルチアカウントに対応された時でも、1アカウント分の認証設定しかできない

AWS credentials file

サーバ内に${HOME}/.aws/credencialsを置き、
下記の形式でアクセスキー/シークレットアクセスキーを記載。

${HOME}/.aws/credencials
[default]
aws_access_key_id = asdsadasdasdasd
aws_secret_access_key = dasdasdsadasdasdasdsa
region = us-west-2

今回はこの方法で少し詰まったのでメモとして残す。

AWS credentials fileの置き場所について

公式の設定情報では下記の様に書いてある。

Create a file at ~/.aws/credentials. That is the HOME path for user running grafana-server.

grafana-serverを動かしているuserの${HOME}/.aws/credentialsに置けと。

grafana-serverを動かしているuser?

yum / aptでインストールしている場合はgrafanaユーザーで起動しているはず。
initスクリプトでも確認ができる。

/etc/init.d/grafana-server
PATH=/bin:/usr/bin:/sbin:/usr/sbin
NAME=grafana-server
DESC="Grafana Server"

GRAFANA_USER=grafana
GRAFANA_GROUP=grafana
GRAFANA_HOME=/usr/share/grafana
CONF_DIR=/etc/grafana
WORK_DIR=$GRAFANA_HOME
DATA_DIR=/var/lib/grafana
LOG_DIR=/var/log/grafana
CONF_FILE=$CONF_DIR/grafana.ini
MAX_OPEN_FILES=10000
PID_FILE=/var/run/$NAME.pid
DAEMON=/usr/sbin/$NAME

psコマンドで確認

[root@localhost grafana]# ps aux |grep grafana
grafana   7032  0.0  3.3 498112 15560 ?        Sl   12:20   0:02 /usr/sbin/grafana-server --pidfile=/var/run/grafana-server.pid --config=/etc/grafana/grafana.ini cfg:default.paths.data=/var/lib/grafana cfg:default.paths.logs=/var/log/grafana

この場合はUSER:grafana GROUP:grafanaで起動させている
その為、当然ファイルの権限もUSER:grafana GROUP:grafanaとする必要がある。

結局どうする?

/usr/share/grafana/.aws/credentialsにgrafanaユーザー/グループの権限でファイルを置く
* ファイルの置き場所 :
/usr/share/grafana/.aws/credentials
* ファイルの権限 : -rw-------. 1 grafana grafana 140 Oct 29 17:15 credentials

[root@localhost grafana]# pwd
/usr/share/grafana
[root@localhost grafana]# ls -al
total 24
drwxr-xr-x.  6 root    root    4096 Oct 29 16:43 .
drwxr-xr-x. 67 root    root    4096 Oct 29 16:29 ..
drwxr-xr-x.  2 grafana grafana 4096 Oct 29 17:15 .aws
drwxr-xr-x.  2 root    root    4096 Oct 29 17:12 conf
drwxr-xr-x. 12 root    root    4096 Oct 29 16:28 public
drwxr-xr-x.  3 root    root    4096 Oct 29 16:28 vendor
[root@localhost grafana]# ls -al .aws/
total 16
drwxr-xr-x. 2 grafana grafana 4096 Oct 29 17:15 .
drwxr-xr-x. 6 root    root    4096 Oct 29 16:43 ..
-rw-------. 1 grafana grafana   34 Oct 29 16:34 config
-rw-------. 1 grafana grafana  140 Oct 29 17:15 credentials

結果

Test Connectionを押して下記画面のようになれば接続完了

grafana2.5_cw_success.png

9
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
7