Slide 1

Slide 1 text

A M P 等 、 A W S マ ネ ー ジ ド サ ー ビ ス を 活 用 し た 監 視 環 境 構 築 2 0 2 2 年 2 月 2 2 日 李 俊 起

Slide 2

Slide 2 text

自己紹介 い じゅんぎ 李 俊起 ・ KDDI株式会社/SRE(with 御田) ・ 運用自動化、運用共通機能提供 ・ AWS歴1年半 ・ 好きなAWSサービス - EKS - AMP - X-Ray @minorun365

Slide 3

Slide 3 text

本日のアジェンダ ・ DatadogからOSS監視ツールへの移行(PoC) ・ PoC中に気づいた課題 ・ AMP等、マネージドサービスを活用した構成への見直し ・ AMP、AMG利用時の注意点 ・ まとめ

Slide 4

Slide 4 text

クラウドネイティブ環境の監視 ・ オンプレ/モノリシックアーキテクチャの環境で 使っていたZabbix等、従来の監視ツールでは不十分 ・ CloudWatchだけでやっているところもあれば、 New RelicやDatadog等のSaaSを使っているところもある。 ・ KDDIではDatadogを採用

Slide 5

Slide 5 text

を使ってみて - Metrics、Logs、Traces、ダッシュボード等、All-In-One - SaaSのため、管理が楽 - サブスクリプションモデルで、 監視対象が増えるにつれ料金が高くなる

Slide 6

Slide 6 text

Datadog以外の OSS監視ツールを探してみよう!

Slide 7

Slide 7 text

OSS監視ツールが多い・・ 何を使えば良いの?

Slide 8

Slide 8 text

選択したOSSツール Grafana Prometheus VictoriaMetrics OpenTelemetry Grafana Tempo DashBoard メトリクス長期保存 ログ保存 ログ転送 トレース取得 トレース保存 メトリクス取得 データ可視化 Grafana promtail Grafana Loki

Slide 9

Slide 9 text

vmalert 構成 Remote Write Prometheus Pull VictoriaMetrics アラート 連携 クエリー SNS Lambda アラートシステム Push Grafana Tempo OpenTelemetry Push Metrics Logs Traces EC2 Instance 各exporter アプリ 運用共通基盤 監視対象システム EKS Cluster Grafana EKS Cluster 各exporter EC2 Instance 各exporter Alertmanager クエリー

Slide 10

Slide 10 text

機能的には検証できたものの・・ ・ ツールが多く、学習コストが高い ・ 少人数のチームメンバーで構築/運用するには負担が高い Architecture Grafana Tempo すべて別のPODとして 起動し、各コンポーネント ごとにスケーリング可能

Slide 11

Slide 11 text

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提供ディストリビューション

Slide 12

Slide 12 text

AMPはPrometheusの代替ではない!? ・ AMPはPrometheus自体に置き換わるものではなく、 メトリクス長期保存のためのRemote Write先を提供するもの メトリクスをスクレイピングするためにPrometheusは必要 運用共通基盤 EKS Cluster EC2 Instance 各exporter 監視対象システム EKS Cluster vmalert VictoriaMetrics Prometheus 各exporter Remote Write この部分が AMPの対応範囲 Alertmanager

Slide 13

Slide 13 text

AMGはまだ制約が多い印象 ・ 現在利用できる認証方式は①AWS SSO②SAML認証の2つ。 しかし、Root以外のアカウントは②SAML認証しか使えず、 SAML認証基盤を用意する必要がある。 ・ AMGからプライベートサブネット上のツールにクエリーできない 運用共通基盤 EKS Cluster 監視対象システム EKS Cluster Private Subnet AMG Grafana Loki AMGは Global Serviceで、 VPCの外側にある Push

Slide 14

Slide 14 text

Grafana Alertmanager たどり着いた構成 Remote Write Prometheus Pull アラート 連携 クエリー SNS Lambda アラートシステム Push Push Metrics Logs Traces EC2 Instance 各exporter アプリ 運用共通基盤 監視対象システム EKS Cluster EKS Cluster 各exporter EC2 Instance 各exporter クエリー ADOT Collector ADOT クエリー 変更となった箇所

Slide 15

Slide 15 text

AMP、AMG利用時注意点 サービス 注意点 備考 AMP メトリクス保存期間が 150日固定 ハードリミットのため上限緩和不可。 150日より前のデータが必要な場合は、 別のツールと組み合わせた利用を検討。 取込可能サンプル/sの上限 ※70,000/s 下記PromQLでPrometheusのサンプル数を確認 prometheus_tsdb_head_samples_appended_total AMG 認証方式 AWS SSOとSAML認証のみ ※SAML認証の場合はAzure AD等、 Third Partyと連携した方が手っ取り早い Private Subnetへのクエリー不可 どうしてもAMGを使いたい場合はPublic Subnetに するか、AWSサービスのみの構成を検討 1アカウントで利用可能な WorkSpaceは5つまで ハードリミットのため上限緩和不可。 ※AMPのservice quotas https://docs.aws.amazon.com/ja_jp/prometheus/latest/userguide/AMP_quotas.html ※AMGのservice quotas https://docs.aws.amazon.com/ja_jp/grafana/latest/userguide/AMG_quotas.html

Slide 16

Slide 16 text

まとめ ・ マネージドサービスを活用して煩雑な運用業務から解放 ・ ツールを選定する前にまず監視項目を整理して、 要件を満たすツールを選択 ・ 各システムの状況に適した監視ツールを選択

Slide 17

Slide 17 text

ご清聴ありがとうございました。