天天看點

【日志服務CLS】容器服務TKE審計日志運維場景體驗什麼是審計日志如何使用審計日志去排查問題

作者:v神

導語:雲原生日志服務(Cloud Log Service,CLS)是騰訊雲提供的一站式日志資料解決平台,提供了從日志采集、日志存儲到日志檢索,圖表分析、監控告警、日志投遞等多項服務,協助使用者通過日志來解決業務運維、服務監控、日志審計等場景問題。

相信廣大k8s使用者在日志叢集運維中都曾經遇到過:

  • 叢集中的某個應用被删除了,誰幹的?
  • Apiserver的負載突然變高,大量通路失敗,叢集中到底發生了什麼?
  • 叢集節點被封鎖了,是誰在什麼時候操作的?

以前,排查這些問題,對客戶來說并不容易。生産環境中的Kubernetes叢集通常是一個相當複雜的系統,底層是各種異構的主機、網絡、存儲等雲基礎設施,上層承載着大量的應用負載,中間運作着各種原生(例如:Scheduler、Kubelet)和第三方(例如:各種Operator)的元件,負責對基礎設施和應用進行管理和排程; 此外不同角色的人員頻繁地在叢集上進行部署應用、添加節點等各種操作。

現在,Kubernetes審計日志(Audit)正是幫助使用者快速解決這些問題的重要工具。

什麼是審計日志

在Kubernetes中,所有對叢集狀态的查詢和修改都是通過向Apiserver發送請求,而審計日志是Kube-apiserver産生的可配置政策的結構化日志,記錄了對Apiserver的通路事件。通過檢視、分析審計日志,可以追溯對叢集狀态的變更;了解叢集的運作狀況;排查異常;發現叢集潛在的安全、性能風險等等。

審計日志字段說明

每一條審計日志都是一個JSON格式的結構化記錄,包括中繼資料(metadata)、請求内容(requestObject)和響應内容(responseObject)3個部分。其中中繼資料一定會存在,請求和響應内容是否存在取決于審計級别。中繼資料包含了請求的上下文資訊,例如誰發起的請求,從哪裡發起的,通路的URI等等。

【日志服務CLS】容器服務TKE審計日志運維場景體驗什麼是審計日志如何使用審計日志去排查問題

審計日志字段說明

如何使用審計日志去排查問題

日志服務CLS提供針對kubernetes審計日志的一站式服務,包含采集,存儲,檢索分析能力。使用者僅需一鍵開啟叢集審計日志功能,即可擷取開箱即用的審計日志可視化分析儀表盤。通過可視化的圖表,使用者可以輕松通過控制台解決大多數常見的運維問題,下面就讓我們一起看看如何使用。

前提條件:使用者購買TKE容器服務,開啟叢集審計日志,請參考操作指南

場景1:叢集中的某個應用被删除了,誰幹的?

進入TKE容器服務控制台,點選左側菜單中【叢集運維】>【審計檢索】。

在【審計檢索】頁面中單擊單擊【K8S對象操作概覽】标簽,指定操作類型為delete和資源對象。

【日志服務CLS】容器服務TKE審計日志運維場景體驗什麼是審計日志如何使用審計日志去排查問題

K8S對象操作概覽

查詢結果如下圖所示:

【日志服務CLS】容器服務TKE審計日志運維場景體驗什麼是審計日志如何使用審計日志去排查問題

K8S對象操作查詢結果

由圖可見,是

10001****7138

這個帳号,對應用「nginx」進行了删除。可根據帳号ID在【通路管理】>【使用者清單】中找到關于此賬号的詳細資訊。

場景2:Apiserver的負載突然變高,大量通路失敗,叢集中到底發生了什麼?

在【審計檢索】的【聚合檢索】标簽頁中,提供了從使用者、操作類型、傳回狀态碼等多個次元對于Apiserver通路聚合趨勢圖。

【日志服務CLS】容器服務TKE審計日志運維場景體驗什麼是審計日志如何使用審計日志去排查問題

操作使用者分布趨勢統計

【日志服務CLS】容器服務TKE審計日志運維場景體驗什麼是審計日志如何使用審計日志去排查問題

操作類型分布趨勢統計

【日志服務CLS】容器服務TKE審計日志運維場景體驗什麼是審計日志如何使用審計日志去排查問題

狀态碼分布趨勢統計

通過以上圖表得知,使用者

tke-kube-state-metrics

的通路量遠高于其他使用者,并且在“操作類型分布趨勢”圖中可以看出大多數都是list操作,在“狀态碼分布趨勢”圖中可以看出,狀态碼大多數為403,根據

tke-kube-state-metrics

關鍵詞,檢索日志。

【日志服務CLS】容器服務TKE審計日志運維場景體驗什麼是審計日志如何使用審計日志去排查問題

關鍵詞檢索結果頁面

結合業務日志可知,由于RBAC鑒權問題導緻

tke-kube-state-metrics

元件不停的請求Apiserver重試,導緻Apiserver通路劇增。

場景3:叢集節點被封鎖了,是誰在什麼時候操作的?

在【審計檢索】頁面中,單擊【節點操作概覽】标簽,填寫被封鎖的節點名。

【日志服務CLS】容器服務TKE審計日志運維場景體驗什麼是審計日志如何使用審計日志去排查問題

節點操作概覽

查詢結果如下圖所示:

【日志服務CLS】容器服務TKE審計日志運維場景體驗什麼是審計日志如何使用審計日志去排查問題

封鎖操作查詢結果頁面

由圖可見,是

10001****7138

這個帳号在

2020-1-30T06:22:18

時對

172.16.18.13

這台節點進行了封鎖操作。

以上就是本期TKE審計日志玩法分享,如果您有更多有意思的日志實踐,歡迎投稿分享!

【日志服務CLS】容器服務TKE審計日志運維場景體驗什麼是審計日志如何使用審計日志去排查問題

一站式日志資料解決方案平台

往期文章:

【日志服務CLS】Nginx日志資料全方位大解析

對象存儲COS通路日志場景體驗

【日志服務CLS】騰訊雲日志服務CLS接入内容分發網絡CDN

【日志服務CLS】應用TKE事件日志排查異常場景體驗

CLB運維&營運最佳實踐 ---通路日志大洞察