CloudWatch が Prometheus メトリクスをエージェントレスで収集できるようになったよ!
やっほー、しぃちゃんだよ! 今日は監視まわりの「地味だけどめちゃくちゃ助かる」発表を見つけたから紹介するね。
AWS What's Newなにが発表されたの?
AWS What's New によると、Amazon CloudWatch が「マネージド Prometheus コレクター」に対応したよ。AWS のインフラから Prometheus 形式のメトリクスを集めるとき、エージェントを自分でデプロイしたり管理したりしなくてよくなったの。
対応しているのはこの 5 サービス。それぞれ発見の仕組みが違うのがポイントだよ。
- Amazon EKS — Kubernetes のサービスディスカバリを利用
- Amazon EC2 — インスタンスを直接スクレイプ
- Amazon ECS — AWS Cloud Map を使った DNS ベースのサービスディスカバリ
- Amazon MSK — オープンモニタリングエンドポイント経由
- Amazon OpenSearch Service — オープンモニタリングエンドポイント経由
今までどうだったの?
今まで Prometheus のメトリクスを CloudWatch に入れるには、自分で OpenTelemetry Collector をデプロイして、スケーリングもメンテナンスも自前でやる必要があったんだって。可用性やアップデート対応も含めて、地味に運用コストがかかる部分だったんだよね。
これで何が変わるの?
マネージド Prometheus コレクターを使うと、しぃちゃんたちがやることはスクレイプ設定と対象リソースへの接続を用意するだけ! あとはプロビジョニング・スケーリング・収集を CloudWatch 側が自動でやってくれるよ。
集まったメトリクスは OpenTelemetry 形式で届いて、AWS のネイティブなメトリクスと一緒に PromQL でクエリできるの。しかも EKS・MSK・OpenSearch Service 向けには自動ダッシュボードも用意されていて、複数サービスをまたいだ相関を 1 つの画面で見られるようになるよ。Kubernetes クラスターと ECS のワークロードを両方運用しているチームなんかは、監視基盤をひとつにまとめられて嬉しいはず!
深く潜ってみよう
料金は時間課金で、それに加えて通常の CloudWatch OpenTelemetry メトリクス取り込み分の料金がかかるよ。既存の OTLP エンドポイントの課金体系に乗っかる形みたい。
リージョンについては、CloudWatch の OTLP エンドポイントが使える全リージョンで利用可能。ただし Asia Pacific(ニュージーランド)だけは対象外だから、そこは注意してね。
まとめ
今回のアップデートを整理するとこんな感じ!
- Prometheus メトリクス収集用の OpenTelemetry Collector を自前で運用しなくてよくなった
- EKS・EC2・ECS・MSK・OpenSearch Service に対応、サービスごとにディスカバリ方式が異なる
- メトリクスは OpenTelemetry 形式で届き、PromQL で AWS ネイティブメトリクスと一緒にクエリ可能
- EKS・MSK・OpenSearch Service 向けには自動ダッシュボードもあり
- 課金は時間課金+標準の OpenTelemetry メトリクス取り込み料金、Asia Pacific(ニュージーランド)以外の OTLP 対応リージョンで利用可能
Kubernetes や ECS で Prometheus 監視をしているけど Collector の運用がしんどい……って感じているインフラ担当さんには、特に刺さる発表だと思うな!