全部產品
Search
文件中心

Alibaba Cloud Service Mesh:啟用控制平面日誌採集和日誌警示(舊版)

更新時間:Jun 30, 2024

ASM支援採集控制平面日誌和日誌警示,例如採集ASM控制平面向資料平面Sidecar推送配置的相關日誌。本文介紹如何啟用控制平面日誌採集和日誌警示。

背景資訊

ASM控制面組件的主要功能之一是推送網格的規則配置到資料面的Sidecar代理或者網關中。如果使用者配置的網格規則內容存在一些衝突導致推送失敗,代理或者網關就接收不到最新的配置內容。雖然代理或網關在不重啟的情況下,可以使用已經接收到的配置繼續運行,但是一旦這些Pod重啟,很有可能導致Sidecar代理或網關啟動失敗。在很多實際情境中,經常出現使用者誤配置引發的網關或代理停用問題,因此啟用控制面的日誌警示,及時發現並解決問題十分必要。

前提條件

  • 阿里雲帳號已開通阿里雲Log ServiceSLS。具體操作,請參見開通Log Service

    重要

    將日誌採集到ASM的Log Service不額外收取任何費用,但Log ServiceSLS會按照寫入資料量計費或按使用功能計費。關於SLS計費的詳細說明,請參見計費概述

啟用控制平面日誌採集

  1. 登入ASM控制台,在左側導覽列,選擇服務網格 > 網格管理

  2. 網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇網格執行個體 > 基本資料

  3. 基本資料頁面的配置資訊地區,單擊控制面日誌採集右側的啟用

    重要

    控制平面日誌庫會儲存最近30天的日誌資料,超出30天的日誌將會被丟棄。

    • 如果您是第一次開啟控制面日誌採集,頁面會彈出啟用控制面日誌對話方塊,您可以選擇建立Project或者使用已有Project,然後單擊確認

      當您選擇建立Project時,可以使用預設Project名稱或者自訂Project名稱。

      啟用控制面日誌

    • 如果您之前已開啟並禁用過控制面日誌採集,當再次開啟時,會彈出重要提示對話方塊,單擊確定,會自動選擇上次已經指定的Project。

    開啟控制面日誌採集後,在基本資料頁面單擊控制面日誌採集右側的查看日誌,即可在Project頁面查看詳細的控制平面日誌。

啟用控制平面日誌警示

重要

啟用控制平面日誌警示之前必須先啟用控制平面日誌採集,否則將無法使用該功能。

當控制平面發往資料平面的xDS請求被資料平面拒絕時,資料平面同步失敗警示將被觸發。此時您的資料平面的Sidecar代理或ASM網關將無法得到最新的配置資訊,存在以下兩種情況:

  • 如果資料平面Sidecar在此之前收到過成功的配置推送,則該Sidecar將保持最後一次收到的成功推送的配置。

  • 如果資料平面Sidecar在此之前尚未收到過成功的配置推送,則該Sidecar將沒有任何配置資訊,這意味著該節點可能沒有任何監聽,也無法處理任何請求和路由規則。

  1. 登入ASM控制台,在左側導覽列,選擇服務網格 > 網格管理

  2. 網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇網格執行個體 > 基本資料

  3. 基本資料頁面的配置資訊地區,單擊控制面日誌採集右側的警示設定

  4. 控制面日誌警示設定對話方塊的目標行動策略地區,選中服務網格ASM內建行動策略(推薦)自訂行動策略,然後單擊開啟警示

    行動策略定義了警示觸發時的行為,您可以在SLS Project內建立和編輯行動策略。具體操作,請參見建立行動策略

  5. 重要提示對話方塊,單擊確定

配置警示通知人

您可以配置SLS服務網關內建行動策略,設定警示通知接收人,通知模板等。

  1. 登入Log Service控制台

  2. Project列表地區,單擊目標Project名稱,然後在左側導覽列,單擊警示

  3. 警示中心頁面,單擊通知對象 > 使用者組管理

  4. 使用者組管理頁簽,單擊SLS 服務網格內建使用者組右側操作列下的修改

  5. 修改使用者組對話方塊,在待新增成員地區選中目標成員,單擊添加表徵圖,將目標成員添加到已新增成員地區,然後單擊確認修改使用者組

觸發警示通知樣本

說明

本文限於篇幅無法覆蓋每一個警示項,以下例子將通過錯誤的配置觸發從網格控制面推送配置失敗

  1. 登入ASM控制台,在左側導覽列,選擇服務網格 > 網格管理

  2. 網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇ASM網關 > 網關規則,然後單擊使用YAML建立

  3. 建立頁面,選中目標命名空間和任意情境模板,配置YAML。

    本文以default命名空間為例,佈建服務網關,YAML樣本如下:

    apiVersion: networking.istio.io/v1beta1
    kind: Gateway
    metadata:
      name:  gateway-test
      namespace: default
    spec:
      selector:
        istio: ingressgateway
      servers:
        - hosts:
            - '*console.aliyun.com'
          port:
            name: https
            number: 443
            protocol: HTTPS
          tls:
            credentialName: not-existing-credential
            mode: SIMPLE
  4. 查看警示通知。

    1. 在網格詳情頁面左側導覽列,選擇網格執行個體 > 基本資料

    2. 基本資料頁面的配置資訊地區,單擊控制面日誌採集右側的查看日誌

    3. 在Log Service控制台,搜尋'ACK ERROR',查看警示資訊。

      如果您配置了警示通知人的郵箱地址,可以在郵箱中查看警示通知。

警示處理的參考方案

診斷出警告的網格配置

ASM網格診斷在您的叢集中發現了潛在有風險的網格配置,這些配置可能會導致ASM的執行結果不符合預期。您可以通過網格診斷頁面查看警示內容,並遵照網格診斷頁面給出的提示修正錯誤的配置。

診斷出錯誤的網格配置

ASM網格診斷在您的叢集中發現了錯誤的網格配置,這些配置有較高的風險引起不符合預期的行為。您應當儘快在網格診斷頁面查看警示內容,並遵照網格診斷頁面給出的提示修正錯誤的配置。

網格規則配置不符合規範要求導致從網格控制面推送配置失敗

以下表格列出了常見的資料面同步失敗錯誤資訊和處理建議,如果您沒有找到對應的錯誤資訊,請提交工單

錯誤資訊

處理建議

Internal:Error adding/updating listener(s) 0.0.0.0_443: Failed to load certificate chain from <inline>, only P-256 ECDSA certificates are supported

該警示資訊表示資料面叢集不支援您為資料面配置的認證,當前僅支援P-256 ECDSA認證。您需要重新設定認證,具體操作,請參見通過ASM網關啟用HTTPS安全服務

Internal:Error adding/updating listener(s) 0.0.0.0_443: Invalid path: ****

該警示資訊表示您為資料面配置的憑證路徑有誤或認證不存在,您需要檢查認證掛載路徑是否與Gateway中配置的路徑相符。具體操作,請參見通過ASM網關啟用HTTPS安全服務

Internal:Error adding/updating listener(s) 0.0.0.0_xx: duplicate listener 0.0.0.0_xx found

該警示資訊表示您為網關配置的監聽連接埠重複,請檢查您的Gateway,重複資料刪除的連接埠。

Internal:Error adding/updating listener(s) 192.168.33.189_15021: Didn't find a registered implementation for name: '***'

該警示資訊表示在Sidecar和Ingressgateway中無法找到您通過EnvoyFilter針對15021這個Listener patch的配置中引用的***,您需要刪除該引用。

Internal:Error adding/updating listener(s) 0.0.0.0_80: V2 (and AUTO) xDS transport protocol versions are deprecated in grpc_service ***

該警示資訊表示即將棄用您資料面的XDS V2協議,這通常是因為您的資料面Sidecar的版本與控制平面不符。升級資料平面的Sidecar可以解決該問題,您需要刪除Pod,該Pod自動重新建立後會自動注入最新版本的Sidecar。

相關操作

修改控制平面日誌Project

  1. 登入ASM控制台,在左側導覽列,選擇服務網格 > 網格管理

  2. 網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇網格執行個體 > 基本資料

  3. 基本資料頁面的配置資訊地區,單擊控制面日誌採集右側的變更記錄檔Project,在變更記錄檔Project對話方塊,按需進行修改,然後單擊確認