share facebook facebook2 twitter menu hatena pocket slack

2016.05.24 TUE

Mackerel事始め agent-plugin EC2関連

WRITTEN BY大住 孝之

agent-pluginを使ってEC2関連の監視設定を追加していきます。

IAM Policy設定

CloudWatch経由の取得のため GetMetricStatistics を IAMrole または IAMuser へ付与します。

  • cloudwatch:GetMetricStatistics
  • IAM role で設定されていれば access-key-id、secret-access-key の指定は不要

CPU credit

  • mackerel-plugin-aws-ec2-cpucredit

aws-ec2-cpucredit.conf

# mackerel-plugin-aws-ec2-cpucredit [-instance-id= <id>] [-region= <aws-region>] [-access-key-id= <id>] [-secret-access-key= <key>] [-tempfile= <tempfile>]

[plugin.metrics.aws-ec2_cpucredit]
command = "/usr/local/bin/mackerel-plugin-aws-ec2-cpucredit -access-key-id AWS_ACCESS_KEY_ID -secret-access-key AWS_SECRET_ACCESS_KEY"

20160409180638

ダッシュボードへ反映

  • 置換文字列
__ORG__     = Organization
__SERVICE__ = Service
__ROLE___   = Role
__PERIOD__  = Period {m(分), h(時間), d(日), w(週), mo(月), y(年)}
[![graph](https://mackerel.io/embed/orgs/__ORG__/services/__SERVICE__/__ROLE__.png?graph=custom.ec2.cpucredit.usage&stacked=false&simplified=false&period=__PERIOD__)](https://mackerel.io/orgs/__ORG__/services/__SERVICE__/__ROLE__/-/graph?name=custom.ec2.cpucredit.usage)
[![graph](https://mackerel.io/embed/orgs/__ORG__/services/__SERVICE__/__ROLE__.png?graph=custom.ec2.cpucredit.balance&stacked=false&simplified=false&period=__PERIOD__)](https://mackerel.io/orgs/__ORG__/services/__SERVICE__/__ROLE__/-/graph?name=custom.ec2.cpucredit.balance)

20160409180639

EBS

  • mackerel-plugin-aws-ec2-ebs

aws-ec2-ebs.conf

# mackerel-plugin-aws-ec2-ebs [-instance-id=<id>] [-region=<aws-region>] [-access-key-id=<id>] [-secret-access-key=<key>] [-tempfile=<tempfile>]

[plugin.metrics.aws-ec2_ebs]
command = "/usr/local/bin/mackerel-plugin-aws-ec2-ebs -access-key-id AWS_ACCESS_KEY_ID -secret-access-key AWS_SECRET_ACCESS_KEY"

20160409180640

ダッシュボードへ反映

volume-id がメトリクス名として設定されてしまうため、同一グラフ上でまとめて表示させるには一手間掛かりそうです。
ホスト単位であれば複数ボリュームを纏めて表示できるようなので別途考えたいと思います。

mackerel-plugin-linux

  • type オプションのデフォルトはall
GLOBAL OPTIONS:
   --tempfile, -t "/tmp/mackerel-plugin-linux"  Set temporary file path. [$ENVVAR_TEMPFILE]
   --type, -p "all"             Select metrics: all, swap, netstat, diskstats, proc_stat, users [$ENVVAR_TYPE]
   --help, -h                   show help
   --version, -v                print the version
linux.conf
[plugin.metrics.linux]
command = "/usr/local/bin/mackerel-plugin-linux"
type = "metric"

20160409180641

ダッシュボードへ反映
# process
|:---|:---|
| **# context_switches** | **# Login users** |
| [![graph](https://mackerel.io/embed/orgs/__ORG__/services/__SERVICE__/__ROLE__.png?graph=custom.linux.context_switches.context_switches&stacked=false&simplified=false&period=__PERIOD__)](https://mackerel.io/orgs/__ORG__/services/__SERVICE__/__ROLE__/-/graph?name=custom.linux.context_switches.context_switches) | [![graph](https://mackerel.io/embed/orgs/__ORG__/services/__SERVICE__/__ROLE__.png?graph=custom.linux.users.users&stacked=false&simplified=false&period=__PERIOD__)](https://mackerel.io/orgs/__ORG__/services/__SERVICE__/__ROLE__/-/graph?name=custom.linux.users.users) |
| **# forks** | **# interrupts(proc_stat)** |
| [![graph](https://mackerel.io/embed/orgs/__ORG__/services/__SERVICE__/__ROLE__.png?graph=custom.linux.forks.forks&stacked=false&simplified=false&period=__PERIOD__)](https://mackerel.io/orgs/__ORG__/services/__SERVICE__/__ROLE__/-/graph?name=custom.linux.forks.forks) | [![graph](https://mackerel.io/embed/orgs/__ORG__/services/__SERVICE__/__ROLE__.png?graph=custom.linux.interrupts.interrupts&stacked=false&simplified=false&period=__PERIOD__)](https://mackerel.io/orgs/__ORG__/services/__SERVICE__/__ROLE__/-/graph?name=custom.linux.interrupts.interrupts) |

# netstat
|:---|:---|
| **# ESTABLISHED** | **# FIN-WAIT-1** |
| [![graph](https://mackerel.io/embed/orgs/__ORG__/services/__SERVICE__/__ROLE__.png?graph=custom.linux.ss.ESTAB&stacked=false&simplified=false&period=__PERIOD__)](https://mackerel.io/orgs/__ORG__/services/__SERVICE__/__ROLE__/-/graph?name=custom.linux.ss.ESTAB) | [![graph](https://mackerel.io/embed/orgs/__ORG__/services/__SERVICE__/__ROLE__.png?graph=custom.linux.ss.FIN-WAIT-1&stacked=false&simplified=false&period=__PERIOD__)](https://mackerel.io/orgs/__ORG__/services/__SERVICE__/__ROLE__/-/graph?name=custom.linux.ss.FIN-WAIT-1) |
| **# LISTEN** | **# TIME-WAIT** |
| [![graph](https://mackerel.io/embed/orgs/__ORG__/services/__SERVICE__/__ROLE__.png?graph=custom.linux.ss.LISTEN&stacked=false&simplified=false&period=__PERIOD__)](https://mackerel.io/orgs/__ORG__/services/__SERVICE__/__ROLE__/-/graph?name=custom.linux.ss.LISTEN) | [![graph](https://mackerel.io/embed/orgs/__ORG__/services/__SERVICE__/__ROLE__.png?graph=custom.linux.ss.TIME-WAIT&stacked=false&simplified=false&period=__PERIOD__)](https://mackerel.io/orgs/__ORG__/services/__SERVICE__/__ROLE__/-/graph?name=custom.linux.ss.TIME-WAIT) |
| **# SYN-RECV** | **# SYN-SENT** |
| [![graph](https://mackerel.io/embed/orgs/__ORG__/services/__SERVICE__/__ROLE__.png?graph=custom.linux.ss.SYN-RECV&stacked=false&simplified=false&period=__PERIOD__)](https://mackerel.io/orgs/__ORG__/services/__SERVICE__/__ROLE__/-/graph?name=custom.linux.ss.SYN-RECV) | [![graph](https://mackerel.io/embed/orgs/__ORG__/services/__SERVICE__/__ROLE__.png?graph=custom.linux.ss.SYN-SENT&stacked=false&simplified=false&period=__PERIOD__)](https://mackerel.io/orgs/__ORG__/services/__SERVICE__/__ROLE__/-/graph?name=custom.linux.ss.SYN-SENT) |

# swap
|:---|:---|
| **# sw__ROLE__n** | **# swapout** |
| [![graph](https://mackerel.io/embed/orgs/__ORG__/services/__SERVICE__/__ROLE__.png?graph=custom.linux.swap.pswpin&stacked=false&simplified=false&period=__PERIOD__)](https://mackerel.io/orgs/__ORG__/services/__SERVICE__/__ROLE__/-/graph?name=custom.linux.swap.pswpin) | [![graph](https://mackerel.io/embed/orgs/__ORG__/services/__SERVICE__/__ROLE__.png?graph=custom.linux.swap.pswpout&stacked=false&simplified=false&period=__PERIOD__)](https://mackerel.io/orgs/__ORG__/services/__SERVICE__/__ROLE__/-/graph?name=custom.linux.swap.pswpout) |

20160405195837

元記事はこちら

Mackerel事始め agent-plugin EC2関連

大住 孝之

構築運用担当。 個性的な面々の中で無個性という個性を打ち出していこうと画策中。