20160205230817

Datadogとは、監視のSaaSで、様々な形式でグラフ表示できたりします。 タグなどでグルーピングもできるので、簡単なデータ解析にも役立ちます。

AWSとの親和性も高く、簡単な設定でCloudWatchのデータを監視することができちゃいます。 そして、CloudWatchでは最大2週間しかデータを保持しませんが、 Datadogに登録することでより以前のデータをみることもできます。

詳しくは本家サイトで。

今回は、CloudWatchのカスタムメトリクスをDatadogで表示してみようと思います。 以下、手順です。

カスタムメトリクスを設定する

メモリ監視を追加してみます。 導入環境はAmazon Linuxで。

$ uname -a
Linux ip-10-0-0-194 4.1.10-17.31.amzn1.x86_64 #1 SMP Sat Oct 24 01:31:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

AWSがスクリプトを公開してくれているのでそちらを拝借。
http://aws.amazon.com/code/8720044071969977

perlのライブラリが諸々必要なのでインストール。

$ wget http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.1.zip
$ unzip CloudWatchMonitoringScripts-1.2.1.zip
$ cd aws-scripts-mon/
$ sudo yum -y install perl-core perl-URI perl-DateTime-TimeZone perl-Bundle-LWP

問題なくインストールができたかを確認!

$ ./mon-put-instance-data.pl --mem-util --verify --verbose
MemoryUtilization: 11.7104374428861 (Percent)
No credential methods are specified. Trying default IAM role.
Using IAM role 
Endpoint: https://monitoring.ap-northeast-1.amazonaws.com
Payload: {"MetricData":[{"Timestamp":1454679988,"Dimensions":[{"Value":"i-0b1dfb233a07e0d4f","Name":"InstanceId"}],"Value":11.7104374428861,"Unit":"Percent","MetricName":"MemoryUtilization"}],"Namespace":"System/Linux","__type":"com.amazonaws.cloudwatch.v2010_08_01#PutMetricDataInput"}

Verification completed successfully. No actual metrics sent to CloudWatch.

cronに登録して、CloudWatchにデータが積まれることを確認します。

$ crontab -l
*/5 * * * * ~/aws-scripts-mon/mon-put-instance-data.pl --mem-util --mem-used --mem-avail --from-cron

OK!!

20160205225243

Datadogを設定する

アカウントを登録します。

ご覧のとおり、たくさんのリソースに対応しています。

20160205225655

今回はcredentialで登録します。 全体的にカスタムメトリクスを受けてもいいですが、 アカウントを限定してカスタムメトリクスを取ることもできます。

20160205230000

以上! 実に簡単。

しばらくすると、Metrics ExplorerからDatadogでグラフ表示可能に。

20160205230411

Datadog、いろいろ試していこうと思います!

元記事はこちら

AWS CloudWatchのカスタムメトリクスをDatadogで確認【cloudpack大阪BLOG】