AWS CLI を使って CloudWatch のメトリクスを取得するメモ

セットアップ

AWS CLIPython 版を使う。

$ sudo pip install awscli

AWSAPI キーやリージョンを設定する。

$ aws configure
AWS Access Key ID [None]: <アクセスキーを入力する>
AWS Secret Access Key [None]: <シークレットキーを入力する>
Default region name [None]: ap-northeast-1
Default output format [None]: json

取得できるメトリクスの一覧を表示

例えば

$ aws cloudwatch list-metric --namespace AWS/RDS

Amazon RDS のメトリクス一覧を取得できる。

後述するメトリクスの値を取得するときに指定が必要な dimensions が分からないときは

$ aws cloudwatch list-metric --namespace AWS/RDS --metric-name <メトリクス名>

で調べることができる。

メトリクスを取得

Amazon RDS の CPUUtilization を取得するならこんな感じ。 5 分間ごとの平均値を取得している。

$ aws cloudwatch get-metric-statistics \
    --namespace AWS/RDS \
    --dimensions Name=DBInstanceIdentifier,Value=<DBインスタンス名> \
    --metric-name CPUUtilization \
    --statistics Average \
    --start-time `date -u -d `date -u -d '5 minutes ago' +%Y-%m-%dT%%TZ` \
    --end-time `date -u +%Y-%m-%dT%%TZ` \
    --period 300