SysdigでAWSの重要なメトリクスを迅速に収集する

By 清水 孝郎 - JULY 14, 2022
Topics: Sysdig機能

SHARE:

本文の内容は、2022年7月14日にAaron Newcombが投稿したブログ(https://sysdig.com/blog/aws-cloudwatch-stream-support-monitor/)を元に日本語に翻訳・再構成した内容となっております。

本日、Amazon CloudWatch Metric Streamsのサポートを発表しました。このサポートにより、お客様はAWS CloudWatchからリアルタイムでメトリクスを取り込み、メトリクスと状態の忠実度を高め、MTTRを減らしながら取り込みまでの時間を短縮し、新しいAWSサービスのメトリクスをカスタマイズまたは再設定する必要なく、スケールでクラウドメトリクスをサポートすることが可能になります。

このブログでは、以下を深く掘り下げています:

  • Amazon CloudWatch Metric StreamsによるAWSサービスのリアルタイムメトリクスのインジェストを新たにサポートします。
  • プッシュ型 vs. プル型によるイベントベースのメトリクス収集の価値
  • MTTRを改善するためのリアルタイムメトリクスの使用

過去数年間、Sysdig MonitorはAmazon CloudWatchからのプルによってAWSサービスからメトリクスとメタデータを取り込むことをサポートしてきました。これは、Sysdig Monitor のお客様が AWS CloudWatch のメトリクスをどのように取り込むかを細かく制御できる柔軟なモデルですが、取り込みの頻度が一定ではありません。より重要なシステム、またはアラートをできるだけリアルタイムに近い状態で提供する必要があるシステムを扱う場合、別のモデルが必要になります。監視対象のシステムが必要とする頻度に基づいて、基礎となるメトリクス取得エンジンが監視システムに通知することができるプッシュモデルです。Amazon CloudWatch Metric Streamsの登場です。

2021年に発表されたAmazon CloudWatch Metric Streamsは、Amazon CloudWatchの機能で、お客様が70以上のAWSサービスからSysdig Monitorなどの外部監視プラットフォームに、ほぼリアルタイムで継続的にメトリクスを送信できるようにするものです。これにより、AWSの管理者やオペレーターは、Kubernetes環境などインフラの他の部分の監視に使用されるシステムにそれらのほぼリアルタイムのメトリクスを集約し、アプリケーションの健全性とパフォーマンスの全体的なビューを作成するためにそれらのメトリクスを結び付けられます。Amazon CloudWatch Metric Streamsが提供するメトリクスとメタデータを用いたSysdig Monitorは、アプリケーションとインフラのメトリクスを、サービスとインフラのメタデータとともに継続的に取り込むことができ、AWSクラウドの使用状況、パフォーマンス、アプリケーションとサービスの全体的なシステムの健全性に関する洞察を提供します。

AWS architecture of how ASW Cloudwatch sends metrics to Sysdig monitor via KinesisASW CloudwatchがKinesis経由でSysdigモニターにメトリクスを送信する仕組みのAWSアーキテクチャー

ほぼリアルタイムの価値

監視とアラートのプラットフォームの究極の目標は、管理者とオペレーターにリアルタイムのシステム状態への即時アクセスを提供することです:

  • インフラストラクチャーは現在どのように負荷を処理しているか?
  • アプリケーションのパフォーマンスはどうか?
  • パフォーマンスと負荷の変化に対応するために、いつスケールイベントをデプロイする必要があるか、あるいは、自律的なスケールイベントがデプロイされたときに通知を受ける必要があるか?

これらの質問とその解決策を提供するシステムはすべて、あらゆるイベントの MTTR(解決までの平均時間)をいかに短縮するかという、非常に重要な指標を指し示しています。イベントとは、システムの故障や、負荷がかかった状態で応答が遅くなるアプリケーション、あるいはクラウドプラットフォームが管理する何らかの問題によるクラウド消費コストの急激な増加などが考えられます。あらゆるイベントのMTTRを削減できれば、コスト、システム解約、そして最終的には顧客の不幸を減らすことができるのです。

従来のプルベースのメトリクス収集はMTTRを改善するのに役立ちますが、そのシステムには常に固有のレイテンシーが存在します。まず、あるサービスがメトリクスを生成する必要があり、次に別のサービスがソース・サービスに最新のメトリクスの状態を問い合わせる必要があります。次に、受信側のサービスが、メトリクスセットの一部として検出されたイベントを処理し、分析し、対処する必要があります。通信チェーンの断片をできるだけ取り除くことで、待ち時間を最小限に抑えることはできますが、データの即時性には常に限界があり、これは受信側のシステムがメトリクスの状態変化をポーリングできるようになる周期に依存することになります。

Pull model vs push model. Pull model is more optimal, as data is sent in real-time.プル型とプッシュ型。プル型は、データがリアルタイムで送信されるため、より最適です。

対照的に、ストリーミング(プッシュ)モデルでは、メトリクス・ソースがメトリクスと状態変化を送信する頻度を決定することができ、これはソース・サービスの重要な性質に基づいて変化します。Amazon CloudWatch Metric Streamsは、メトリクスの配信とケイデンスの制御をソースAWSサービスに転じ、サービスは、重要なメトリクスを配信する頻度、任意の時点で配信する最も重要なメトリクス、および他のサービスよりも重要だと考えられるサービスを決定できるようにします。例えば、AWS ECSはデフォルトで1分ごとにメトリクスを公開し、AWS EC2はデフォルトで5分ごとにメトリクスを送信します。Amazon CloudWatch Metric Streamsを使用すると、監視エンドポイント(この場合はSysdig Monitor)は、CloudWatchに到着すると、それぞれ1分ごとと5分ごとのメトリクスを受信します。

CloudFormationテンプレートを使ったSysdig MonitorでのAmazon CloudWatch Metric Streamsの設定

Amazon CloudWatch Metric Streamsの設定は、2つのフェーズで行われます。

  1. AWSアカウントで行う、新しいAmazon CloudWatchストリームの設定
  2. AWSアカウントとSysdig Monitorを統合し、リアルタイムのステータス監視と追加のAWSリソース情報の取得を行う。

Connecting a new AWS account to Sysdig Monitor新しいAWSアカウントとSysdig Monitorの接続

新しいStreamの作成は、SysdigのUIからリンクされているCloudFormation Templateで行うことができます。まずは、”Start Installation “ボタンをクリックし、CloudWatch Metric Streams -> Use CloudFormation Templateを選択します。新しいウィンドウまたはタブが開き、新しいStreamを構成し、そのStreamをSysdig HTTPSレシーバーに向けるために使用される事前構成済みのCloudFormation Templateが表示されます。

Connecting a new AWS account to Sysdig Monitor. Using cloudFormation template.新しいAWSアカウントをSysdig Monitorに接続する。cloudFormation テンプレートの使用

新しいStreamスタックを作成するためのAmazon CloudFormationテンプレート。

Overview of the Amazon CloudFormation template for creating a new Stream stack.新しいStreamスタックを作成するためのAmazon CloudFormationテンプレートの概要

AWSアカウントとSysdigの連携、Amazon CloudWatch Metric Streamsの設定については、公式ドキュメントをご参照ください。

Amazon CloudWatch Metric StreamsのSysdig Monitorアウトオブボックスダッシュボードとアラートを利用する

Sysdig MonitorでAmazon CloudWatch Metric Streamsを設定すると、ビルド済みのダッシュボードやアラートが自動的に利用可能になり、すぐに利用を開始することができます。そのまま利用することもできますし、自由にカスタマイズすることもできます。

Dashboard in Sysdig Monitor with some metrics like: Container Count by Task, request time, or CPU usage.Sysdig Monitorのダッシュボードには、以下のようなメトリクスがあります。タスク別コンテナ数、リクエスト時間、CPU使用率など

An alarm on Sysdig Monitor for HighFunctionErrorRate. Alert when (aws_lambda_errors_sum / aws_lambda_invocations_sum) > 0.15HighFunctionErrorRateのSysdig Monitorでのアラーム。(aws_lambda_errors_sum / aws_lambda_invocations_sum) > 0.15でアラート

まとめ

Amazon CloudWatch Metric Streamsは、従来のAmazon CloudWatchメトリクスの強力なコンパニオンとして、多くのAWSクラウドプラットフォームやアプリケーションサービスからリアルタイムに近いメトリクスを取り込み、消費する能力をSysdig Monitorユーザに提供します。Sysdig Monitor は、70 以上の AWS サービス(ラウンチ時)の取り込みをサポートし、すぐに利用できるサービスごとのダッシュボードやアラートのセットとともに、場所、環境、クラウドプロバイダーに関係なく、すべてのインフラストラクチャーとアプリケーションのメトリクス用のターンキー・プラットフォームをデプロイすることを可能にします。また、Amazon CloudWatch Metric Streamsをシステムの主要なコンポーネントのソースとして使用することで、組織全体でMTTRを削減しながら可視性を向上させることができます。

30日間のトライアルにサインアップし、サインアッププロセスでAWSリージョンを選択すれば、今すぐ無料で試すことができます。