目前Kubernetes(K8s)已經真正地佔領了容器編排市場,是默認的雲無關計算抽象,愈來愈多的企業開始將服務構建在K8s集羣上。在K8s中,組件經過Service對外暴露服務,常見的包括NodePort、LoadBalancer、Ingress等。其中Ingress主要提供HTTP層(7層)路由功能,相比TCP(4層)的負載均衡具有很是多的優點(路由規則更加靈活、支持金絲雀、藍綠、A/B Test發佈模式、SSL支持、日誌、監控、支持自定義擴展等),是目前K8s中HTTP/HTTPS服務的主流暴露方式。html
K8s中Ingress只是一種API資源的聲明,具體的實現須要安裝對應的Ingress Controller,由Ingress Controller接管Ingress定義,將流量轉發到對應的Service。目前Ingress Controller的實現有很是多種(具體能夠參考Ingress Controller官方文檔),比較流行的有Nginx、Traefik、Istio、Kong等,在國內接受度最高的是Nginx Ingress Controller。算法
日誌和監控是全部Ingress Controller都會提供的基礎功能,日誌通常包括訪問日誌(Access Log)、控制日誌(Controller Log)和錯誤日誌(Error Log),監控主要從日誌以及Controller中提取部分Metric信息。這些數據中訪問日誌的量級最大、信息最多、價值也最高,通常7層的訪問日誌包括:URL、源IP、UserAgent、狀態碼、入流量、出流量、響應時間等,對於Ingress Controller這種轉發型的日誌,還包括轉發的Service名、Service響應時間等額外信息。從這些信息中,咱們可以分析出很是多的信息,例如:後端
咱們的開發、運維、運營、安全等人員能夠基於這些信息完成各自的需求,例如:瀏覽器
然而手動搭建、運維一整套的Ingress日誌分析與監控系統很是複雜,系統所須要的模塊有:安全
爲簡化廣大用戶對於Ingress日誌分析與監控的門檻,阿里雲容器服務和日誌服務將Ingress日誌打通(官方文檔),只須要應用一個yaml資源便可完成日誌採集、分析、可視化等一整套Ingress日誌方案的部署。架構
日誌服務默認爲Ingress建立5個報表,分別是:Ingress概覽、Ingress訪問中心、Ingress監控中心、Ingress藍綠髮布監控中心、Ingress異常檢測中心。不一樣角色的人員可根據需求使用不一樣的報表,同時每一個報表均提供篩選框用於篩選特定的Service、URL、狀態碼等。全部的報表均基於日誌服務提供的基礎可視化組件實現,可根據公司實際場景進行定製化調整。負載均衡
Ingress概覽報表主要展現當前Ingress的總體狀態,主要包括如下幾類信息:運維
Ingress訪問中心主要側重於用於訪問請求相關的統計信息,通常用於運營分析,包括:當日UV/PV、UV/PV分佈、UV/PV趨勢、TOP訪問省份/城市、TOP訪問瀏覽器、TOP訪問IP、移動端佔比、Android/IOS佔比等。機器學習
Ingress監控中心主要側重於網站實時監控數據,通常用於實時監控與告警,包括:請求成功率、錯誤比例、5XX比例、請求未轉發比例、平均延遲、P95/P99/P9999延遲、狀態碼分佈、Ingress壓力分佈、Service訪問TOP十、Service錯誤TOP十、Service延遲TOP十、Service流量TOP10等。工具
Ingress藍綠髮布監控中心主要用於版本發佈時的實時監控與對比(版本先後對比以及藍綠版本當前對比),以便在服務發佈時快速檢測異常並進行回滾。在該報表中須要選擇進行對比的藍綠版本(ServiceA和ServiceB),報表將根據選擇動態顯示藍綠版本相關指標,包括:PV、5XX比例、成功率、平均延遲、P95/P99/P9999延遲、流量等。
Ingress異常檢測中心基於日誌服務提供的機器學習算法,經過多種時序分析算法從Ingress的指標中自動檢測異常點,提升問題發現的效率。
Ingress做爲K8s網站請求的主要入口,實時監控與告警是必不可少的Ops手段之一。在日誌服務上,基於上述的報表,只需3個簡單的步驟便可完成告警的建立。下述示例爲Ingress配置5XX比例的告警,告警每5分鐘執行一次,當5XX比例超過1%時觸發。
除了通用的告警功能外,日誌服務還額外支持:
日誌服務除支持經過告警方式通知外,還支持報表訂閱功能,可以使用該功能將報表按期渲染成圖片並經過郵件、釘釘羣等方式發送。例如天天早上10點向運營羣中發送昨日網站訪問狀況、每週發送報告到郵件組中存檔、新版本發佈時每5分鐘發送一次監控報表...
若是容器服務Kubernetes版提供的默認報表沒法知足你的分析需求,能夠直接使用日誌服務SQL、儀表盤等功能進行自定義的分析和可視化。
爲了讓你們能夠體驗Kubernetes審計日誌功能,咱們特別開通了體驗中心,你們能夠經過 https://promotion.aliyun.com/ntms/act/logdoclist.html 進入,該頁面提供了很是多和Kubernetes相關的報表。
一站式開發者服務,海量學習資源0元起!
阿里熱門開源項目、機器學習乾貨、開發者課程/工具、小微項目、移動研發等海量資源;更有開發者福利Kindle、技術圖書幸運抽獎,100%中--》https://www.aliyun.com/acts/product-section-2019/developer?utm_content=g_1000047140