pict3の日記

AWSネタを中心に

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

f:id:pict3:20160205230817j:plain

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 <ec2-basic>
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!! f:id:pict3:20160205225243j:plain

DataDogを設定する

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

ご覧のとおり、たくさんのリソースに対応しています。 f:id:pict3:20160205225655j:plain

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

以上! 実に簡単。

しばらくすると、Metrics ExplorerからDataDogでグラフ表示可能に。 f:id:pict3:20160205230411j:plain

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