サービスメッシュ (ASM) を使用すると、制御プレーンログを収集し、ログデータに基づいてアラート通知を送信できます。 たとえば、ASMインスタンスのコントロールプレーンからデータプレーン上のサイドカープロキシへの設定プッシュに関連するログを収集できます。 このトピックでは、制御プレーンのログ収集とログベースのアラートを有効にする方法について説明します。
背景情報
ASMインスタンスの制御プレーン上のコンポーネントの主な機能の1つは、データプレーン上のサイドカープロキシまたはゲートウェイに設定をプッシュすることです。 設定の競合が発生した場合、サイドカープロキシまたはゲートウェイは設定を受信できません。 そのような場合、サイドカープロキシまたはゲートウェイは、以前に受信した構成に基づいて動作し続けることができる。 ただし、サイドカープロキシまたはゲートウェイは、それらが存在するポッドが再起動されると故障する可能性があります。 多くの実際の状況では、サイドカープロキシまたはゲートウェイは不適切な構成のために利用できなくなります。 したがって、ログベースのアラートを有効にして、問題をタイムリーに検出および解決することを推奨します。
前提条件
ASMインスタンスが作成され、インスタンスのバージョンが1.17.2.35より前です。 詳細については、「ASMインスタンスの作成」をご参照ください。
ASMインスタンスのバージョンが1.17.2.35以降の場合は、「バージョン1.17.2.35以降のASMインスタンスでのコントロールプレーンのログ収集とログベースのアラートの有効化」をご参照ください。
制御プレーンのログ収集の有効化
ASMコンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。
[メッシュ管理] ページで、ASMインスタンスの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
では、設定情報表示されるページのセクションをクリックします。有効化次の制御プレーンのログ収集.
重要コントロールプレーンLogstoreは、過去30日間のログを保存し、以前のログを自動的に破棄します。
コントロールプレーンのログ収集を初めて有効にする場合は、[コントロールプレーンのログ収集を有効にする] ダイアログボックスが表示されます。 プロジェクトを作成するか、既存のプロジェクトを選択します。
プロジェクトを作成するときは、既定のプロジェクト名またはカスタムプロジェクト名を使用できます。 次に、[送信] をクリックします。
以前にコントロールプレーンのログ収集を有効または無効にした場合、[メモ] メッセージが表示されます。 OKをクリックします。 前回使用したプロジェクトが自動的に選択されます。
コントロールプレーンログ収集を有効にすると、[基本情報] セクションのコントロールプレーンログ収集の横にある [ログの表示] をクリックして、詳細なコントロールプレーンログを表示できます。
ログベースのアラートの有効化
ログベースのアラートを有効にする前に、制御プレーンのログ収集を有効にする必要があります。
制御プレーンからデータプレーンに送信された発見サービス (xDS) 要求がデータプレーンによって拒否された場合、データプレーンへの同期の失敗を示すアラートがトリガーされます。 この場合、データプレーン上のサイドカープロキシまたはゲートウェイは最新の設定を取得できず、状況に応じて異なる動作を行います。
サイドカープロキシまたはゲートウェイが以前に設定を受信している場合は、最後に受信した設定に基づいて実行されます。
サイドカープロキシまたはゲートウェイが以前に設定を受信していない場合、リスナーは設定されておらず、ルーティングルールに基づいて要求を処理または転送できません。
ASMコンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。
[メッシュ管理] ページで、ASMインスタンスの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
では、設定情報表示されるページのセクションをクリックします。アラート設定次の制御プレーンのログ収集.
[コントロールプレーンアラート設定] ダイアログボックスで、有効にするアラートポリシーを見つけ、[ASM組み込みアクション戦略 (推奨)] を選択するか、カスタムアクションポリシーを選択して、[アラートの有効化] をクリックします。
アクションポリシーは、アラートがトリガーされたときに実行されるアクションを指定します。 Simple Log Serviceプロジェクトでアクションポリシーを作成および変更できます。 詳細については、「アクションポリシーの作成」をご参照ください。
では、注メッセージが表示されます。OK.
アラート連絡先を設定する
Simple Log Serviceで、ゲートウェイ、アラート連絡先、通知テンプレートの組み込みアクションポリシーを設定できます。
にログインします。Simple Log Serviceコンソール.
[プロジェクト] セクションで、目的のプロジェクトの名前をクリックします。 左側のナビゲーションウィンドウで、[アラート] をクリックします。
[アラートセンター] ページで、
を選択します。On theユーザーグループ管理タブ、検索sls.app.asm.builtinをクリックし、編集で、アクション列を作成します。
[ユーザーグループの編集] ダイアログボックスで、追加するメンバーを選択し、
アイコンをクリックしてメンバーをユーザーグループに追加し、[OK] をクリックします。
アラート通知の設定を確認する
このトピックでは、すべてのアラートのアラート通知設定については説明しません。 次の例では、誤った設定がアラートをトリガーするように設定されています。 エラーメッセージの詳細については、「構成エラーにより制御プレーンからデータプレーンへの構成プッシュが失敗したときにトリガーされるアラート」をご参照ください。
ASMコンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。
[メッシュ管理] ページで、ASMインスタンスの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、[YAMLから作成] をクリックします。
[作成] ページで、名前空間とテンプレートを選択し、YAMLファイルを設定し、[作成] をクリックします。
この例では、default名前空間を使用してIstioゲートウェイを設定します。 サンプルYAMLコード:
apiVersion: networking.istio.io/v1beta1 kind: ゲートウェイ メタデータ: 名前: gateway-test namespace: デフォルト spec: セレクタ: istio: ingressgateway servers: - hosts: - '*console.aliyun.com' port: name: https number: 443 protocol: HTTPS tls: credentialName: not-existing-credential モード: シンプル
アラート通知を表示します。
ASMインスタンスの詳細ページで、 左側のナビゲーションウィンドウに表示されます。
では、設定情報表示されるページのセクションをクリックします。ログの表示次の制御プレーンのログ収集.
Simple Log Serviceコンソールで、「ACKエラー」アラート情報を表示します。
アラートのメール通知を設定している場合は、メールをチェックしてアラート情報を表示できます。
アラートの処理
潜在的な構成リスクによってトリガーされるアラート
ASMがクラスター内で予期しない結果を引き起こす可能性のある設定を検出すると、アラートが報告されます。 メッシュ診断ページでアラートを表示し、ページの指示に従って設定を修正できます。
誤った設定によってトリガーされるアラート
ASMがクラスター内で予期しない動作を引き起こす可能性のある誤った設定を検出した場合、アラートが報告されます。 このようなアラートをメッシュ診断ページで表示し、ページの指示に従って設定をできるだけ早く修正することをお勧めします。
制御プレーンからデータプレーンへの設定プッシュが設定エラーのために失敗したときにトリガーされるアラート
次の表に、コントロールプレーンからデータプレーンへのコンフィギュレーションプッシュが失敗したときに表示される一般的なエラーメッセージと、エラーのトラブルシューティングの提案を示します。 エラーメッセージがテーブルに含まれていない場合は、チケットを起票します。
エラーメッセージ | 提案 |
内部: リスナーの追加 /更新エラー0.0.0.0_443: <inline> からの証明書チェーンの読み込みに失敗しました。P-256のECDSA証明書のみがサポートされています | データプレーンのクラスターが、データプレーン用に構成した証明書をサポートしていないことを示します。 この問題を解決するには、データプレーンのP-256 ECDSA証明書を設定します。 証明書を再設定する方法の詳細については、「ingressゲートウェイを使用してHTTPSを有効にする」をご参照ください。 |
内部: リスナーの追加 /更新エラー0.0.0.0_443: 無効なパス: **** | データプレーン用に構成した証明書のパスが無効であること、または指定された証明書が存在しないことを示します。 証明書のマウントパスが、ゲートウェイの設定で指定されたパスと同じかどうかを確認します。 詳細については、「ingressゲートウェイを使用したHTTPSの有効化」をご参照ください。 |
内部: リスナーの追加 /更新エラー0.0.0.0_xx: 重複リスナー0.0.0.0_xxが見つかりました | ゲートウェイに重複リスニングポートが設定されていることを示します。 この問題を解決するには、ゲートウェイを確認し、重複するポートを削除します。 |
内部: リスナーの追加 /更新エラー192.168.33.189_15021: 名前の登録済み実装が見つかりませんでした: '***' | 15021リスナーパッチのEnvoyFilterベースの参照 *** がサイドカープロキシまたはingressゲートウェイサービスで見つからないことを示します。 この問題を解決するには、参照を削除します。 |
内部: リスナーの追加 /更新エラー0.0.0.0_80: V2 (およびAUTO) xDSトランスポートプロトコルバージョンはgrpc_service *** で非推奨になります | データプレーンのxDS v2プロトコルがまもなく廃止されることを示します。 これは通常、データプレーン上のサイドカープロキシのバージョンが制御プレーン上のバージョンと一致しないためです。 この問題を解決するには、データプレーンのサイドカープロキシを更新します。 そのためには、既存のポッドを削除する必要があります。 最新バージョンのサイドカープロキシは、再作成されたポッドに自動的に挿入されます。 |
関連する API
コントロールプレーンのログプロジェクトの設定の変更
ASMコンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。
[メッシュ管理] ページで、ASMインスタンスの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
[基本情報] ページの [設定情報] セクションで、[コントロールプレーンのログ収集] の右側にある [ログプロジェクトの変更] をクリックします。 [ログプロジェクトの変更] ダイアログボックスで、必要に応じて設定を変更し、[送信] をクリックします。