「DataDogで始めるモニタリング基盤」を読んだ
業務でDataDogを使っているのだが、今あるログやダッシュボードがパフォーマンス管理のために本当に十分なのか検証する必要性が生じてきた。その前提としてDataDog自体の知識を得たいと思っていたところ、 id:sadayoshi_tada さんのブログでこの本を知った。
DataDogの機能
一口に監視と言っても、DataDogが対応している監視は外形監視、サーバー監視、アプリケーション監視、ログ監視と幅広い。それぞれ、Datadog Synthetics, DataDog Monitors, DataDog APM, DataDog Logsという機能名になっている。
外形監視は、監視対象のサービスのAPIに対してリクエストを投げ、そのレスポンスを確認するというシンプルなもの。サーバー監視は、サービスを動かしているクラウド/オンプレミスのサーバの状況をモニタリングする。しかし今回メインで知りたかったのは、アプリケーション監視とログ監視のメカニズムだった。
DataDog APMを活用する
APMとはApplication Performance Managementの略で、アプリケーションへのリクエストや、アプリケーションからミドルウェアへのリクエストに着目することで、アプリケーション上の処理自体のパフォーマンスを確認できるサービスを指す。
DataDog APMの場合、アプリケーションを動かしているのと同じサーバ・クラスター上でDataDog Agentを動かす必要がある。このDataDog Agentが、アプリケーションが送受信するリクエストを検知してDataDogのサーバに送っている。例えばKubernetesの場合、DaemonSetとして動かすことで、同じCluster上のnodeにあるアプリケーションPodを監視することができる。
また、DataDog Logsを使うと、DataDog Agentからログを取得して表示できる。CloudWatchのようなことができるわけだが、DataDog Agentの情報と合わせることで、エラー発生時近くのリクエストが特定しやすくなりそうだ。
DataDogの運用担当ではないので、何かアラートが飛んできた時に試行錯誤してログを探すことが多かったが、この本でDataDog自体の概要を知ることができた。次は公式ドキュメントで個々のダッシュボードの機能を掴んでいきたい。