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 roleEndpoint: 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!!
Datadogを設定する
アカウントを登録します。
ご覧のとおり、たくさんのリソースに対応しています。
今回はcredentialで登録します。 全体的にカスタムメトリクスを受けてもいいですが、 アカウントを限定してカスタムメトリクスを取ることもできます。
以上! 実に簡単。
しばらくすると、Metrics ExplorerからDatadogでグラフ表示可能に。
Datadog、いろいろ試していこうと思います!