vague memory

うろ覚えを無くしていこうともがき苦しむ人の備忘録

Mackerel事始め agent-plugin ELB RDS

agent-pluginを使ってELB、RDSの監視設定を追加していきます。

IAM Policy

mackerel-plugin-aws-elb は GetMetricStatistics に加え、ListMetrics も必要とのことです。

  • cloudwatch:GetMetricStatistics
  • cloudwatch:ListMetrics

CLI で IAM User 作成

専用の IAM User を作成するなら以下のような感じでしょうか。

$ USER=mackerel_agent
# IAMユーザ作成
$ aws iam create-user --user-name $USER
{
    "User": {
        "UserName": "mackerel_agent",
        "Path": "/",
        "CreateDate": "2016-03-28T10:04:13.381Z",
        "UserId": "XXXXXXXXXXXXXXXXXXXXX",
        "Arn": "arn:aws:iam::999999999999:user/mackerel_agent"
    }
}
# IAMポリシー付与
$ aws iam attach-user-policy --user-name $USER --policy-arn arn:aws:iam::aws:policy/CloudWatchReadOnlyAccess
# AccessKey生成
$ aws iam create-access-key --user-name $USER
{
    "AccessKey": {
        "UserName": "mackerel_agent",
        "Status": "Active",
        "CreateDate": "2016-03-28T10:06:33.644Z",
        "SecretAccessKey": "YYYYYYYYYYYYYYYYYYYYYYYYYYYY/zzzzzzzzzzz",
        "AccessKeyId": "WWWWWWWWWWWWWWWWWWWW"
    }
}

ELB

mackerel-plugin-aws-elb

aws-elb.conf

# mackerel-plugin-aws-elb [-lbname=<aws-load-blancer-name>] [-region=<aws-region>] [-access-key-id=<id>] [-secret-access-key=<key>] [-tempfile=<tempfile>]

[plugin.metrics.aws-elb]
command = "/usr/local/bin/mackerel-plugin-aws-elb -access-key-id=AWS_ACCESS_KEY_ID -secret-access-key=AWS_SECRET_ACCESS_KEY -lbname=ELB_NAME"

f:id:htnosm:20160423024441p:plain

lbnameを指定しない場合は参照可能なELBの平均値が取得されるようです。

RDS

aws-rds.conf

# mackerel-plugin-aws-rds -identifier=<db-instance-identifer> [-region=<aws-region>] [-access-key-id=<id>] [-secret-access-key=<key>] [-tempfile=<tempfile>] [-metric-key-prefix=<prefix>] [-metric-label-prefix=<label-prefix>]

[plugin.metrics.aws-rds]
command = "/usr/local/bin/mackerel-plugin-aws-rds -identifier=DBIDENTIFIER -access-key-id=AWS_ACCESS_KEY_ID -secret-access-key=AWS_SECRET_ACCESS_KEY"

f:id:htnosm:20160423024452p:plain

identifierは必須オプションになっており、指定しない場合は値取得不可(0)になります。 コマンド実行結果を確認すると以下の様なエラーが出力されます。

The parameter Dimensions.member.1.Value is required.


惜しむべきはカスタムメトリックとして登録されることでしょうか。 台数が少ない構成であれば問題無さそうですが、ELB/RDS等はホストとサービスメトリックとして登録したい所です。
公式よりfluentdを介することで実現するようです。