AWSのCloudWatchのメトリクスをCLIからカジュアルに確認したいと思ってツールを作り始めている - Copy/Cut/Paste/Hatena
の続きです。kumome
という名前でリリースしました。
github.com
これは何?
AWS CloudWatchのメトリクスをCLIから確認するためのツールです。特徴としてコマンドオプションをYAMLファイルで拡張できます。
インストールは
$ gem install kumome
デフォルトの設定では ec2
rds
elb
のメトリクスを取得可能になっています。
$ kumome --ec2=i-123ab45c,i-890ed12c --rds=my-rds --elb=my-elb --profile mycreds
デフォルトの設定は以下。kumome config
で現在の設定を出力可能です。
---
resources:
ec2:
namespace: AWS/EC2
dimensions_name: InstanceId
metrics:
cpu:
metric_name: CPUUtilization
statistic: Average
unit: Percent
alarm: '>=50'
netin:
metric_name: NetworkIn
statistic: Average
unit: Bytes
netout:
metric_name: NetworkOut
statistic: Average
unit: Bytes
rds:
namespace: AWS/RDS
dimensions_name: DBInstanceIdentifier
metrics:
cpu:
metric_name: CPUUtilization
statistic: Average
unit: Percent
alarm: '>=50'
read:
metric_name: ReadIOPS
statistic: Average
unit: Count/Second
write:
metric_name: WriteIOPS
statistic: Average
conn:
metric_name: DatabaseConnections
statistic: Average
unit: Count
alarm: '>=50'
elb:
namespace: AWS/ELB
dimensions_name: LoadBalancerName
metrics:
req:
metric_name: RequestCount
statistic: Sum
400:
metric_name: HTTPCode_Backend_4XX
statistic: Sum
500:
metric_name: HTTPCode_Backend_5XX
statistic: Sum
例えばAWS Lambdaのメトリクスを取得したいときには、以下のようなコンフィグを記述します。
---
resources:
lambda:
namespace: AWS/Lambda
dimensions_name: FunctionName
metrics:
count:
metric_name: Invocations
statistic: Sum
unit: Count
alarm: '>=100'
error:
metric_name: Errors
statistic: Sum
unit: Count
alarm: '>=5'
duration:
metric_name: Duration
statistic: Average
そうすれば新たに ---lambda
オプションをつくることができます。
$ kumome --config=./custom.yml --lambda=my-lambda-func-name,hook-lambda-func-name --profile mycreds
カスタムメトリクス用のコマンドオプションも作り放題です。
というわけで
自分は、プロジェクトごとにconfig.yml
を作成しておいて、何かあったときは、Amazon Management Consoleにログインして確認するのではなく、まず kumome
でざっと確認するようにしています。
カジュアルに確認できるので、心理的に良いです。
まだ、作り始めたばかりですので機能も少ないですが是非お試し下さい。
Pull Requestお待ちしています。