Kubernetes日志采集與監(jiān)控告警知識點有哪些

這篇文章主要講解了“Kubernetes日志采集與監(jiān)控告警知識點有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Kubernetes日志采集與監(jiān)控告警知識點有哪些”吧!

創(chuàng)新互聯(lián)建站專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、安化網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站購物商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為安化等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

1. 容器日志采集與管理

日志采集場景

日志采集場景主要分為以下四種:

集群核心組件日志:
審計需要 kube-apiserver 日志,診斷調(diào)度需要 kube-scheduler 日志,接入層流量分析需要 Ingress 日志。

主機(jī)內(nèi)核日志:

內(nèi)核日志可以用于幫助開發(fā)及運維同學(xué)診斷影響節(jié)點穩(wěn)定的異常,如:文件系統(tǒng)異常,網(wǎng)絡(luò)棧異常,設(shè)備驅(qū)動異常等。

應(yīng)用運行時日志:

Docker 是最常見的容器運行時,可以利用 Docker 和 Kubelet 日志排查 Pod 創(chuàng)建和啟動失敗等問題。

業(yè)務(wù)應(yīng)用日志:

通過分析業(yè)務(wù)的運行日志分析和觀察業(yè)務(wù)狀態(tài),診斷異常。

日志采集指標(biāo)

Kubernetes 對容器日志的期望處理方式為:集群級日志處理(cluster-level-logging)

即:與容器、Pod、節(jié)點生命周期完全無關(guān)。

對于一個容器,當(dāng)應(yīng)用將日志輸出到 stdout 和 stderr 后,docker 默認(rèn)將這些日志輸出到宿主機(jī)上一個 JSON 文件中。

Kubernetes日志采集與監(jiān)控告警知識點有哪些

Kubernetes日志采集與監(jiān)控告警知識點有哪些

日志采集方式

Kubernetes 本身并不會對用戶進(jìn)行任何的日志搜集工作。為了實現(xiàn)集群級日志處理,需要在集群前,提前對日志采集管理進(jìn)行方案規(guī)劃。

Kubernetes 本身推薦3種日志方案。

日志采集方式1:使用節(jié)點級日志代理

核心是 logging-agent (fluentd,etc );

Logging-agent 以 DaemonSet 方式運行在節(jié)點上;

掛載宿主機(jī)上的容器日志目錄;

轉(zhuǎn)發(fā)日志至后端存儲(ElasticSearch, etc);

優(yōu)點:對應(yīng)用和Pod完全無侵入,一個節(jié)點僅需部署一個 agent。

缺點:要求應(yīng)用日志直接輸出至容器的 stdout 和 stderr。

日志采集方式2:使用 sidecar 容器和日志代理

容器全部或部分日志輸出到文件

一個或多個 sidecar 容器將應(yīng)用程序日志傳送到自己的 stdout 和 stderr。

Kubernetes日志采集與監(jiān)控告警知識點有哪些

優(yōu)點:能夠繼續(xù)使用日志采集方式1。

缺點:成倍增加磁盤占用,造成浪費。(應(yīng)用和sidecar容器寫入兩份相同日志文件)

日志采集方式3:使用具有日志代理功能的 sidecar 容器

相當(dāng)于將 logging-agent 直接集成進(jìn) Pod。

應(yīng)用和輸出日志至 stdout&stderr 或文件。

Logging-agent 的輸入源為應(yīng)用日志文件。

Kubernetes日志采集與監(jiān)控告警知識點有哪些

優(yōu)點:部署簡單,對宿主機(jī)友好。

缺點:1. Sidecar 容器可能消耗較多資源,甚至拖掛應(yīng)用容器。

           2. 無法使用 kubectl logs 命令查看容器日志。

總結(jié):

實現(xiàn)集群級日志采集的三種方式:

  1. 使用節(jié)點級日志代理。

  2. 使用 sidecar 容器和日志代理。

  3. 使用具有日志代理功能的 sidecar 容器。

建議:使用方案1,將應(yīng)用日志輸出到 stdout&stderr,通過宿主機(jī)上直接部署logging-agent 的方式集中處理日志。

  1. 管理簡單。

  2. 可以使用 kubectl logs 命令查看日志。

  3. 宿主機(jī)本身可能已有 rstlogd 等成熟日志收集組件可使用。

     

選型推薦

Kubernetes日志采集與監(jiān)控告警知識點有哪些

2. 容器監(jiān)控指標(biāo)的采集與管理

監(jiān)控場景

從監(jiān)控類型劃分,可分為以下幾個場景:

資源監(jiān)控:

CPU,內(nèi)存,網(wǎng)絡(luò)等資源類指標(biāo),常以數(shù)值,百分比為單位進(jìn)行統(tǒng)計,是最常見的資源監(jiān)控方式。

性能監(jiān)控:

應(yīng)用的內(nèi)部監(jiān)控。通常是 Hock 機(jī)制在虛擬機(jī)層,字節(jié)碼執(zhí)行層隱式回調(diào),或者在應(yīng)用層顯式注入,獲取更深層次的監(jiān)控指標(biāo),常用來應(yīng)用診斷與調(diào)優(yōu)。

比如 Jvm 通過 Hock 機(jī)制,拿到類似 Jvm 里面的垃圾回收的次數(shù),各種內(nèi)存帶的分布以及網(wǎng)絡(luò)連接數(shù)的一些指標(biāo)。通過這樣的方式來進(jìn)行應(yīng)用的診斷與調(diào)優(yōu)。

安全監(jiān)控:

針對安全進(jìn)行一系列監(jiān)控策略,例如越權(quán)管理,安全漏洞掃描等。

事件監(jiān)控:

Kubernetes 中特有的監(jiān)控方式,貼合 Kubernetes 設(shè)計理念,作為常規(guī)監(jiān)控方案的補(bǔ)充。

為什么說事件監(jiān)控貼合 Kubernetes 設(shè)計理念呢?這是因為 Kubernetes 其中一個設(shè)計理念就是基于狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換。從正常狀態(tài)轉(zhuǎn)換成另一個狀態(tài)的時候,會發(fā)生一個 Normal 級別的事件(也就是正常的事件)而從一個正常狀態(tài)轉(zhuǎn)換成異常狀態(tài)時,平臺會觸發(fā)一個 Warning 級別(也就是警告級別的事件)通常,Warning 級別的事件是我們關(guān)心的事件。

而事件監(jiān)控就可以把 Normal 級別的事件或 Warning 級別的事件離線存儲到數(shù)據(jù)中心,然后通過數(shù)據(jù)中心的分析與報警,將相應(yīng)的異常通過短信,郵件的方式暴露,彌補(bǔ)常規(guī)監(jiān)控的弊端。

Prometheus 的起源及現(xiàn)狀

Prometheus 與 Kubernetes 一樣,來自于 Borg 體系。原型叫做 BorgMon,是與Borg同時誕生的內(nèi)部監(jiān)控系統(tǒng)。而Prometheus項目發(fā)起的原因也與Kubernetes 類似,希望通過對用戶更友好的方式,將 Google 內(nèi)部系統(tǒng)的設(shè)計理念傳遞給開發(fā)者和用戶。

Kubernetes 監(jiān)控體系曾經(jīng)非常繁雜,但今天已經(jīng)演變成了以 Prometheus 為核心的一套統(tǒng)一的方案。

Prometheus 的架構(gòu)與工作方式

Kubernetes日志采集與監(jiān)控告警知識點有哪些

Prometheus 指標(biāo)來源

  1. 宿主機(jī)的監(jiān)控數(shù)據(jù):需要借助 Node Exporter 向外暴露; Exporter 代替被監(jiān)控對象來向 Prometheus 暴露可以被抓取的指標(biāo)信息。

  2. Kubernetes 組件如 APIServer, kubelet 等的/metrics AP:除CPU,內(nèi)存外,還包括各個組件的核心監(jiān)控指標(biāo)。

  3. Kubernetes 核心的監(jiān)控數(shù)據(jù):包括Pod、Node、容器、Service等主要核心概念的 metrics,其中容器相關(guān)的指標(biāo)來源于 kubectl 內(nèi)置的 cAdvisor 服務(wù)。

Prometheus 特點

  1. 簡潔強(qiáng)大的接入標(biāo)準(zhǔn)。只要實現(xiàn) Promethus Client 接口,就可以直接實現(xiàn)數(shù)據(jù)的采集。

  2. 多種數(shù)據(jù)采集方式。包括:在線,離線,push, pull 聯(lián)邦的方式進(jìn)行數(shù)據(jù)采集。

  3. 和 Kubernetes完 全兼容。

  4. 豐富的插件機(jī)制和生態(tài)。

  5. Prometheus Operator 助力。使 Prometheus 的運維實現(xiàn)自動化。

感謝各位的閱讀,以上就是“Kubernetes日志采集與監(jiān)控告警知識點有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Kubernetes日志采集與監(jiān)控告警知識點有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

分享標(biāo)題:Kubernetes日志采集與監(jiān)控告警知識點有哪些
URL鏈接:http://bm7419.com/article20/igiico.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)面包屑導(dǎo)航、定制網(wǎng)站、響應(yīng)式網(wǎng)站、網(wǎng)站改版、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)