1. 前言
随着微服務的流行,微服務的架構也在不斷的發展演進,Spring Cloud 與 Dubbo為代表的微服務開發架構也得到了普及和落地;在雲原生時代,無侵入的服務網格(Service Mesh)開始走向成熟,相對于傳統微服務架構,服務網格具有可觀察性、流量控制、安全性三大優勢。服務網格将之前服務治理中的複雜性從應用中分離出來,将這些複雜性放到了服務代理中,包括流量控制,斷路,服務發現,安全性,可觀測性等;開發時應用隻需要關心業務功能實作,讓責任劃分變得更加清楚。
阿裡雲服務網格是阿裡雲提供的全托管式服務網格平台,相容Istio。在可觀測性方面,與SLS深度內建,提供了日志采集、可視化、告警一站式可觀察性解決方案。本文主要介紹介紹服務網格新推出的控制面日志采集和告警配置,同時也會涵蓋資料面通路日志的采集和可視化;未來資料面的通路日志的告警也将推出更多内置告警規則,實作可以在SLS上一站式進行告警管理。
2. 阿裡雲服務網格(ASM)介紹
阿裡雲服務網格(Alibaba Cloud Service Mesh,簡稱ASM)提供一個全托管式的服務網格平台,相容社群Istio開源服務網格,用于簡化服務的治理,包括服務調用之間的流量路由與拆分管理、服務間通信的認證安全以及網格可觀測性能力,進而極大地減輕開發與運維的工作負擔。

ASM中的控制平面元件完全有阿裡雲托管,相容Istio,使用者隻需要挂住業務應用的開發部署。 對于ACK托管叢集,專有叢集,Serverless叢集,混合雲或者多雲場景,提供一緻的流量控制,安全和可觀測性管理,控制平面核心元件由阿裡雲托管,最大限度降低使用者資源的開銷和運維成本。
在可觀測性方面,ASM支援使用SLS控制平面和資料平面的日志,并提供了内置的儀表盤及告警,未來将增加更多内置告警的内置告警規則,借助SLS強大的告警管理和通知功能,使用者可以更加對ASM的運作狀态更加了解,并及時獲得告警通知以進行下一步操作。
3. SLS告警介紹
日志服務SLS是雲原生觀測與分析平台,為Log、Metric、Trace等資料提供大規模、低成本、實時的平台化服務。日志服務提供一站式資料采集、加工、查詢與分析、可視化、告警、消費與投遞等功能。
SLS告警是一站式的告警監控、降噪、事務管理、通知分派的智能運維平台。SLS告警的核心功能元件主包括資料存儲,告警監控,告警管理,行動管理和開放告警幾個子系統。
SLS告警來源主要包括自定義告警,系統内置告警和開放告警。各類告警源産生告警後,告警會發送給告警管理系統,通過告警管理系統,使用者可以進行合并,抑制,靜默等處理;然後告警會到通知管理系統,在通知管理中,可以設定根據不同的告警屬性将将通知分派到不同的通知管道。
4. ASM可觀測性日志采集及可視化
ASM可觀測性的日志主要包括控制平面和資料平面的日志:
- 控制平面日志ASM提供了基于SLS的告警功能;
- 資料平面日志主要包括入口網關日志,Envoy Access Log,在資料平面日志中ASM提供了基于SLS的内置儀表盤功能。
4.1. 資料平面入口網關日志采集及可視化
接入資料平面入口網關日志可以參考
服務網格接入入口網關日志。主要包括安裝日志服務元件和采集配置,完成采集後,在ASM控制台内嵌了入口網關概覽、入口網關通路中心、入口網關監控中心三個儀表盤。



4.2. Envoy Access Log采集及可視化
接入Envoy Access Log可以參考
使用日志服務采集資料平面入口網關日志,主要步驟包括安裝日志服務元件和采集配置,完成采集後可以在ASM控制台檢視通路日志監控中心和通路日志詳細記錄。


4.3. 控制平面日志采集及告警
ASM支援将控制平面的日志采集到SLS,然後根據日志進行告警配置,接下來着重介紹下如何開啟控制面日志采集及告警。
4.3.1 在ASM控制台開啟告警
- 在ASM控制台,找到關心的服務網格執行個體,點選進入,啟用控制平面日志采集的開關,如圖所示:

- 點選告警設定,在告警彈出框中選擇行動政策,可以預設選擇“SLS服務網格内置行動政策”,然後開啟告警。

4.3.2 在SLS控制台配置告警通知人
- 在SLS控制台 首頁 ,頁面上方找到日志應用,點選“告警管理中心”

- 點選全局配置

- 在左邊菜單找到使用者管理->使用者組管理,點選右側修改按鈕,在SLS服務網關内置使用者組中添加相應的聯系人,即可接收告警産生後的通知。

是SLS下基于業務的統一智能告警運維平台,可以在全局配置->通知政策->行動政策中找到“SLS服務網關内置行動政策”,點選修改可以檢視其告警通知接收人,通知模闆等。
在接收到告警後,可以根據告警中的内容提示進行一些
處理建議。
錯誤資訊 | |
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證書。您需要重新配置證書,具體操作,請參見 通過服務網關啟用HTTPS安全服務 |
Internal:Error adding/updating listener(s) 0.0.0.0_443: Invalid path: **** | 該告警資訊表示您為資料面配置的證書路徑有誤或證書不存在,您需要檢查證書挂載路徑是否與Gateway中配置的路徑相符。具體操作,請參見 |
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。 |
5. 總結
本文主要描述了如果在阿裡雲服務網格中開啟資料面通路日志及控制面日志,并且簡單介紹了資料面日志中的内置儀表盤和控制面日志的告警配置。借助SLS告警,使用者可以一站式的進行告警的管理,可以有效的提供運維效率。目前SLS支援了ASM控制面日志告警,未來,在ASM資料面日志采集和可視化基礎上,SLS将提供更多的内置告警規則,在ASM控制台可以實作一鍵開啟内置告警規則,完善服務網格可觀測性的閉環,使用者也可以在SLS上實作統一的告警管理,敬請期待。
6. 參考
- 什麼是日志服務告警【 連結 】
- 什麼是服務網格ASM【
- 啟用控制平面日志采集和日志告警【
- 使用日志服務采集資料平面入口網關日志【
- 使用日志服務采集資料平面的AccessLog【
- 建立行動政策【
- SLS告警-學習路徑【
- 基于SLS實作統一告警最佳實踐【
- SLS(日志服務)雲原生觀測分析平台【
- SLS新版告警文檔首頁【
- 歡迎掃群加入阿裡雲-日志服務(SLS)技術交流(集團同學請直接搜尋群号11702236加入), 獲得第一手資料與支援
