1.はじめに
Datadog データベース モニタリングとは(公式ページ参照)
Datadog Database Monitoring は、すべてのホストにわたるデータベースの詳細な可視性を提供します。データベースの正常性とパフォーマンスを理解し、問題が発生したときにトラブルシューティングを行うために、過去のクエリパフォーマンスメトリクスを掘り下げ、計画とホストレベルのメトリクスをすべて 1 か所で説明します。
今回、Datadogデータベースモニタリング(以降DBMと略す)をECSを利用して実装するにあたり、複数ホストを1つのエージェントで動作させるのに手間取ったため、やり方を本記事に記載する
2.構成
- Aurora マネージド MySQL (エンジンバージョン:8.0.mysql_aurora.3.04.1)
- ECS
3.DBMの準備
Aurora マネージド MySQL のデータベースモニタリングの設定を参考に設定を行なっていく。
- MySQL 設定を構成する
- 公式の手順通り実施
- Agent にアクセスを付与する
- 公式の手順通り実施
- ランタイムセットアップコンシューマー
- 公式の手順通り実施
- Agent のインストールと構成
- Dockerfileを作成する手順を参考に、ECSを構築する
ECSのcontainerdefinitions.dockerLabelsに対して、必要なdockerLabelを記述していく。その際に【Datadog】Docker and Integrationsに記載があるとおり、現在の記法を参考にすると、以下一つのラベルを設定すればよい
- Dockerfileを作成する手順を参考に、ECSを構築する
com.datadoghq.ad.checks: '{"mysql":{"instances":[{"ここにインスタンス情報を書く"}]}}'
上記の手順を実施すると、DatadogのDatabaseMonitoringから設定した接続先ホストの情報が確認できるようになる。
4.複数ホストの監視
先ほどの手順で、ECSのタスク定義にDockerLabelsを設定したと思うが、そのラベル情報を書き換えることで追加のホストを監視できる。
com.datadoghq.ad.checks: '{"mysql":{"instances":[{"1.ここにインスタンス情報を書く"}{"2.ここにインスタンス情報を書く"}{"3.ここにインスタンス情報を書く"}]}}'
5.まとめ
今回は、私が悩んだECS(Docker)を用いて複数ホストを1つのエージェントで監視する場合の設定方法について記載しました。
DBMを導入してどのような変化があったや、どのような効果があったは運用をしていく上でなにかネタがあったらまたそれについても書きたいと思います。