2021年9月にGAされたAMP(Amazon Managed Service for Prometheus)、AMG(Amazon Managed Grafana)やX-Ray等、AWSマネージドサービスの導入を検討されている方のお役に立てばと思います。
A M P 等 、 A W S マ ネ ー ジ ド サ ー ビ スを 活 用 し た 監 視 環 境 構 築2 0 2 2 年 2 月 2 2 日李 俊 起
View Slide
自己紹介い じゅんぎ李 俊起・ KDDI株式会社/SRE(with 御田)・ 運用自動化、運用共通機能提供・ AWS歴1年半・ 好きなAWSサービス- EKS- AMP- X-Ray@minorun365
本日のアジェンダ・ DatadogからOSS監視ツールへの移行(PoC)・ PoC中に気づいた課題・ AMP等、マネージドサービスを活用した構成への見直し・ AMP、AMG利用時の注意点・ まとめ
クラウドネイティブ環境の監視・ オンプレ/モノリシックアーキテクチャの環境で使っていたZabbix等、従来の監視ツールでは不十分・ CloudWatchだけでやっているところもあれば、New RelicやDatadog等のSaaSを使っているところもある。・ KDDIではDatadogを採用
を使ってみて- Metrics、Logs、Traces、ダッシュボード等、All-In-One- SaaSのため、管理が楽- サブスクリプションモデルで、監視対象が増えるにつれ料金が高くなる
Datadog以外のOSS監視ツールを探してみよう!
OSS監視ツールが多い・・何を使えば良いの?
選択したOSSツールGrafanaPrometheus VictoriaMetrics OpenTelemetry Grafana TempoDashBoardメトリクス長期保存 ログ保存 ログ転送 トレース取得 トレース保存メトリクス取得 データ可視化Grafana promtailGrafana Loki
vmalert構成Remote WritePrometheusPullVictoriaMetricsアラート連携クエリーSNSLambdaアラートシステムPushGrafana Tempo OpenTelemetryPushMetricsLogsTracesEC2 Instance各exporterアプリ運用共通基盤 監視対象システムEKS ClusterGrafanaEKS Cluster各exporterEC2 Instance各exporterAlertmanagerクエリー
機能的には検証できたものの・・・ ツールが多く、学習コストが高い・ 少人数のチームメンバーで構築/運用するには負担が高いArchitectureGrafana Tempoすべて別のPODとして起動し、各コンポーネントごとにスケーリング可能
AMP、AMG、ADOTがGA!・ AMP、AMG、ADOTが2021年9月にGAされ、東京リージョンから利用可能となったので、AWSマネージドサービスを活用した構成に再度見直しを実施※AMP(Amazon Managed Service for Prometheus)※AMG(Amazon Managed Grafana)※ADOT(AWS Distro for Opentelemetry)→ Opentelemetryから取得したトレースをX-Rayに連携できるように機能追加したAWS提供ディストリビューション
AMPはPrometheusの代替ではない!?・ AMPはPrometheus自体に置き換わるものではなく、メトリクス長期保存のためのRemote Write先を提供するものメトリクスをスクレイピングするためにPrometheusは必要運用共通基盤EKS Cluster EC2 Instance各exporter監視対象システムEKS Clustervmalert VictoriaMetrics Prometheus各exporterRemote Writeこの部分がAMPの対応範囲Alertmanager
AMGはまだ制約が多い印象・ 現在利用できる認証方式は①AWS SSO②SAML認証の2つ。しかし、Root以外のアカウントは②SAML認証しか使えず、SAML認証基盤を用意する必要がある。・ AMGからプライベートサブネット上のツールにクエリーできない運用共通基盤EKS Cluster監視対象システムEKS ClusterPrivate SubnetAMG Grafana LokiAMGはGlobal Serviceで、VPCの外側にあるPush
GrafanaAlertmanagerたどり着いた構成RemoteWritePrometheusPullアラート連携クエリーSNSLambdaアラートシステムPushPushMetricsLogsTracesEC2 Instance各exporterアプリ運用共通基盤 監視対象システムEKS ClusterEKS Cluster各exporterEC2 Instance各exporterクエリーADOT Collector ADOTクエリー変更となった箇所
AMP、AMG利用時注意点サービス 注意点 備考AMP メトリクス保存期間が150日固定ハードリミットのため上限緩和不可。150日より前のデータが必要な場合は、別のツールと組み合わせた利用を検討。取込可能サンプル/sの上限※70,000/s下記PromQLでPrometheusのサンプル数を確認prometheus_tsdb_head_samples_appended_totalAMG 認証方式 AWS SSOとSAML認証のみ※SAML認証の場合はAzure AD等、Third Partyと連携した方が手っ取り早いPrivate Subnetへのクエリー不可 どうしてもAMGを使いたい場合はPublic Subnetにするか、AWSサービスのみの構成を検討1アカウントで利用可能なWorkSpaceは5つまでハードリミットのため上限緩和不可。※AMPのservice quotashttps://docs.aws.amazon.com/ja_jp/prometheus/latest/userguide/AMP_quotas.html※AMGのservice quotashttps://docs.aws.amazon.com/ja_jp/grafana/latest/userguide/AMG_quotas.html
まとめ・ マネージドサービスを活用して煩雑な運用業務から解放・ ツールを選定する前にまず監視項目を整理して、要件を満たすツールを選択・ 各システムの状況に適した監視ツールを選択
ご清聴ありがとうございました。