Microservices Engine (MSE) のトラフィック保護機能は、速度制限、サーキットブレーカー、デグレード、システム過負荷保護により、マイクロサービスをトラフィックスパイクから守ります。MSE に組み込まれたダッシュボードではリアルタイムのトラフィックディストリビューション分析が可能ですが、データの保持期間は限定されています。
より長い期間にわたるメトリックのクエリ、カスタムダッシュボードの作成、アラートの設定を行うには、メトリックログを Simple Log Service (SLS) にエクスポートします。以下のセクションでは、ログ収集エージェントのインストール、データソースの構成、ログ配信の検証、エクスポートされたデータからのチャート作成まで、一連のパイプラインを説明します。
MSE ダッシュボードと SLS エクスポートの比較
| アプローチ | 保持期間 | クエリの柔軟性 | カスタムダッシュボード | アラート機能 |
|---|---|---|---|---|
| MSE 組み込みダッシュボード | 限定的(短期間) | 事前定義済みビューのみ | 不可 | 不可 |
| SLS へのエクスポート | 設定可能(数日~数年) | SQL 類似の完全なクエリ | はい | はい |
リアルタイムモニタリングには組み込みダッシュボードをご利用ください。履歴分析、リソース間相関分析、自動アラートが必要な場合は、SLS へのエクスポートをご利用ください。
仕組み
MSE トラフィック保護は Sentinel によって実現されており、各 Pod 上のローカルファイルにメトリックログを書き込みます。Logtail エージェントがこれらのログファイルを収集し、SLS Logstore に送信します。SLS に取り込まれたデータは、SQL 類似の文でクエリでき、ダッシュボードを構築できます。
Pod (Sentinel メトリックログ) --> Logtail エージェント --> SLS Logstore --> クエリ & ダッシュボード前提条件
Simple Log Service を有効化します。 「手順 1: Simple Log Service の有効化」については、「クイックスタート」をご参照ください。
ACK クラスターを作成します。 ACK マネージドクラスター または ACK 専用クラスター のいずれかを使用します。
MSE トラフィック保護を有効化します。 MSE マイクロサービスガバナンスのトラフィック保護をオンにして、トラフィック保護ルールを設定します。詳細については、「概要」をご参照ください。
メトリックログフォーマット
Sentinel メトリックログの各行は、パイプ文字(|)で区切られたフィールドで構成されています。このフォーマットを理解することで、ログパーサの構成やクエリ作成が容易になります。
ログ行のサンプル:
1724811932000|2024-08-28 02:25:32|com.alibabacloud.mse.demo.c.service.HelloServiceCTwo|24|0|24|0|1|0|1|202|OUTフィールドリファレンス:
| インデックス | サンプル値 | 説明 |
|---|---|---|
| 1 | 1724811932000 | タイムスタンプ(エポックからのミリ秒) |
| 2 | 2024-08-28 02:25:32 | 日時(人間が読める形式) |
| 3 | com.alibabacloud.mse.demo.c.service.HelloServiceCTwo | リソース名(保護対象のインターフェイスまたはメソッド) |
| 4 | 24 | 1 秒あたりの通過リクエスト数 |
| 5 | 0 | 1 秒あたりのブロックリクエスト数 |
| 6 | 24 | 1 秒あたりの完了リクエスト数 |
| 7 | 0 | 1 秒あたりの例外数 |
| 8 | 1 | 平均応答時間(ms) |
| 9 | 0 | 予約済みフィールド |
| 10 | 1 | 予約済みフィールド |
| 11 | 202 | 分類コード |
| 12 | OUT | トラフィックの方向(IN = インバウンド、OUT = アウトバウンド) |
ログファイルのパスおよびフォーマットの詳細については、「重要なログ」をご参照ください。
ステップ 1:Logtail のインストール
ACK クラスターの作成時に Simple Log Service がすでに有効化されていた場合は、このステップをスキップしてください。 詳細については、「クラスターの作成時に Logtail をインストールする」をご参照ください。
ご利用の ACK マネージドクラスターまたは ACK 専用クラスターに Logtail コンポーネントをインストールします。
ACK コンソール にログインします。左側のナビゲーションウィンドウで、クラスター をクリックします。
クラスター ページで、ご利用のクラスターを見つけ、その名前をクリックします。左側のナビゲーションウィンドウで、運用 > アドオン を選択します。
ログとモニタリング タブで、logtail-ds カードを見つけ、インストール をクリックします。
ステップ 2:SLS データソースの構成
SLS を設定して、Pod から Sentinel メトリックログを収集・解析・インデックス化します。
Simple Log Service コンソール にログインします。
クイックデータインポート カードをクリックします。データのインポート ダイアログボックスで、Kubernetes を検索し、Kubernetes - ファイル カードをクリックします。
Logstore の選択 — 次のパラメーターを構成し、次へ をクリックします。
パラメーター 説明 Project 既存のプロジェクトを選択するか、新規作成します。命名規則は k8s-log-{your ACK cluster ID}に従ってください。Logstore 既存の Logstore を選択するか、新規作成します。詳細については、「Create a Logstore」をご参照ください。 マシングループの構成 — ソースマシングループ リストから Kubernetes-group-${your ACK cluster ID} マシングループを選択し、適用サーバーグループ リストに追加して、次へ をクリックします。
説明前のステップで別のプロジェクトを選択した場合は、指示に従ってマシングループを作成してください。
Logtail 構成 — データソースおよび解析フォーマットを構成し、次へ をクリックします。
パラメーター 構成方法 構成名 mse-sentinel-metricsのように、内容を示す名前を入力します。ファイルパス ${user_home}/logs/csp/{app_name}-metrics.log.{date}形式でパスを入力します。たとえば、ホームディレクトリが/rootの場合、ディレクトリを/root/logs/csp、ファイル名を*metrics.log*に設定します。ログサンプル ログ行のサンプルを貼り付けます: 1724811932000|2024-08-28 02:25:32|com.alibabacloud.mse.demo.c.service.HelloServiceCTwo|24|0|24|0|1|0|1|202|OUT処理方法 プロセッサ を選択し、データ解析(デリミタモード) タイプのプロセッサを追加します。デリミタとしてパイプ文字 |を使用します。
クエリと分析の構成 — プレビューデータ セクションが自動的にリフレッシュされるのを待ちます。必要に応じてインデックスフィールドを確認・調整し、次へ をクリックします。

データソース構成の詳細については、「データソースおよび解析フォーマットの構成」をご参照ください。
ステップ 3:ログ配信の検証
ダッシュボードを作成する前に、メトリックデータが SLS に正常に流入していることを確認します。
Simple Log Service コンソール にログインします。
プロジェクト セクションで、ご利用のプロジェクトをクリックし、その後 Logstore を選択します。
次のクエリを実行して、最新のレコードを確認します。レコードが返された場合、パイプラインは正常に動作しています。結果には、前述のメトリックログフォーマットで説明した、タイムスタンプ、リソース名、通過数、ブロック数、平均応答時間、トラフィックの方向などの解析済みフィールドが含まれます。
* | SELECT * LIMIT 10(オプション)次のクエリを実行して、ブロックリクエストデータが存在することを確認します。
説明これらのクエリのフィールド名(
resource_name、blocked)は、ステップ 2 でのインデックスフィールドの命名に依存します。ご利用の構成に合わせて調整してください。* | SELECT resource_name, blocked WHERE blocked > 0 LIMIT 10
