Microservices Engine (MSE) は、トラフィック異常および攻撃を検出し、そのイベントを sentinel-block.log というローカルファイルに記録する「トラフィック保護」機能を提供します。これらのイベントを Simple Log Service (SLS) に転送することで、どのリクエストがブロックされているか、その理由と頻度を一元的かつリアルタイムで可視化できます。Simple Log Service では、ログデータの収集・保存・分析、大量データに対するインデックス作成、およびリアルタイムでのクエリ実行が可能です。
本ガイドでは、以下の 3 つの手順について説明します:Container Service for Kubernetes (ACK) クラスターへの Logtail エージェントのインストール、SLS によるブロックログの収集および解析設定、および Logstore へのイベントの表示確認です。
前提条件
開始する前に、以下の条件を満たしていることをご確認ください。
有効な Simple Log Service サブスクリプション。有効化手順については、「はじめに」の「ステップ 1:Simple Log Service の有効化」をご参照ください。
ACK マネージドクラスター。セットアップ手順については、「ACK マネージドクラスターの作成」をご参照ください。
トラフィック保護が有効化され、少なくとも 1 つのトラフィック保護ルールが設定された MSE Microservices Governance。詳細については、「概要」をご参照ください。
ステップ 1:Logtail のインストール
Logtail は、ACK クラスター内で DaemonSet として実行されるログ収集エージェントです。クラスター作成時に Simple Log Service を既に有効化済みの場合は、この手順をスキップしてください。背景情報については、「クラスター作成時の Logtail インストール」をご参照ください。
本手順は、ACK マネージドクラスターおよび ACK 専用クラスターの両方に適用されます。
ACK コンソールにログインします。左側ナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、ご利用のクラスターを見つけ、その名前をクリックします。左側ナビゲーションウィンドウから、[操作] > [アドオン] の順に選択します。
[ログおよびモニタリング] タブで、logtail-ds カードを見つけ、[インストール] をクリックします。
ステップ 2:トラフィック保護ログの収集および解析
この手順では、SLS を設定して sentinel-block.log からログをプルし、各行を正規表現で解析し、クエリ用のインデックスを作成します。
Simple Log Service コンソールにログインします。
[クイックデータインポート] カードをクリックします。[データのインポート] ダイアログボックスで、「Kubernetes」と検索し、[Kubernetes - ファイル] をクリックします。
[Logstore の選択] — プロジェクトおよび Logstore を選択し、[次へ] をクリックします。
プロジェクトを作成する場合は、命名形式
k8s-log-{your ACK cluster ID}を使用するか、[プロジェクト] ドロップダウンリストから既存のプロジェクトを選択します。[Logstore] ドロップダウンリストから既存の Logstore を選択するか、新規作成します。手順については、「Logstore の作成」をご参照ください。
[マシングループの構成] — [ソースマシングループ] リストから Kubernetes-group-${your ACK cluster ID} を選択し、[適用サーバーグループ] リストに移動した後、[次へ] をクリックします。異なるプロジェクトを選択した場合は、プロンプトに従ってマシングループを作成します。
[Logtail 構成] — 次の表に示す通り、データソースおよび解析フォーマットを構成し、[次へ] をクリックします。
パラメーター 値 設定名 説明的な名前を入力します(例: mse-sentinel-blockファイルパス /${user_home}/logs/csp/sentinel-block.log—${user_home}をシステムのホームディレクトリ(通常はroot)に置き換えます。詳細については、「重要なログログサンプル 2024-08-28 06:53:14|1|/flow,FlowException,default,,32808,1724827994000|37,0,0処理方法 プロセッサ を選択し、データ解析(正規表現モード) プロセッサを追加します。 正規表現 (\d+-\d+-\d+\s\d+:\d+:\d+)\|1\|([\s\S]*),([a-zA-Z]+),([a-zA-Z]+),([\s\S]*),(\d+),(\d+)\|(\d+),0,(\d+)次の画像は、プロセッサ構成のサンプルを示しています。

[クエリおよび分析の構成] — [データのプレビュー] セクションが自動的にリフレッシュされるまで待ちます。次の表に示すインデックスフィールドを追加または更新し、[次へ] をクリックします。
フィールド タイプ エイリアス __tag__:_namespace_text namespace __tag__:container_name_text appName ruleIdlong 不要 resourcetext timetext expTypetext blockNumdouble [ログのクエリ] をクリックして、プロジェクトページに戻ります。
ステップ 3:イベントのレポート確認
Simple Log Service コンソールにログインします。
ご利用のプロジェクトを開き、トラフィック保護イベントが Logstore に表示されることを確認します。

よくある質問
Simple Log Service コンソールにログが表示されない
まず、sentinel-block.log が生成されているかどうかを確認します。Cloud Shell を使用して ACK クラスターに接続し、以下のコマンドを実行します。
cd ~/logs/csp/ # ログパスが異なる場合は、実際のパスに置き換えてください
tail -n 10 sentinel-block.logエントリが表示される場合(以下のように)、ブロックログは生成されていますが、SLS に到達していません。Logtail 構成内の [ファイルパス] および [正規表現] を再確認してください。

ファイルが空または存在しない場合、リクエストがブロックされていません。以下の点を確認してください。
MSE コンソールでトラフィック保護が有効化されていること
少なくとも 1 つのトラフィック保護ルールが有効であること
着信リクエストが実際にルールのしきい値を超えていること
Cloud Shell を開くには:まず ACK コンソール にログインし、ご利用のクラスター名をクリックし、[Cloud Shell を開く] を [概要] ページからクリックします。
次のステップ
トラフィック保護イベントが SLS に流入した後は、ブロッキング率の急上昇時に通知を受け取れるよう、アラートを設定します。詳細については、「Simple Log Service を基盤としたトラフィック保護アラートの設定」をご参照ください。