国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Prometheus監(jiān)控K8S

這篇具有很好參考價值的文章主要介紹了Prometheus監(jiān)控K8S。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一、描述

二、監(jiān)控流程

三、Kubernetes監(jiān)控指標

四、使用Prometheus監(jiān)控k8s


一、描述

Cadvisor + node-exporter + prometheus + grafana是一套非常流行的Kubernetes監(jiān)控方案。它們的功能如下:

- Cadvisor:容器資源監(jiān)控工具,可以實時監(jiān)控CPU、內(nèi)存、存儲、網(wǎng)絡等容器指標,并暴露Metrics接口。

- node-exporter:節(jié)點級指標導出工具,可以監(jiān)控節(jié)點的CPU、內(nèi)存、磁盤、網(wǎng)絡等指標,并暴露Metrics接口。

- Prometheus:時間序列數(shù)據(jù)庫和監(jiān)控報警工具,可以抓取Cadvisor和node-exporter暴露的Metrics接口,存儲時序數(shù)據(jù),并提供PromQL查詢語言進行監(jiān)控分析和報警。

- Grafana:圖表和Dashboard工具,可以查詢Prometheus中的數(shù)據(jù),并通過圖表的方式直觀展示Kubernetes集群的運行指標和狀態(tài)。

二、監(jiān)控流程

1. 在Kubernetes集群的每個節(jié)點安裝Cadvisor和node-exporter,用于采集容器和節(jié)點級指標數(shù)據(jù)。

2. 部署Prometheus,配置抓取Cadvisor和node-exporter的Metrics接口,存儲 containers 和 nodes 的時序數(shù)據(jù)。

3. 使用Grafana構(gòu)建監(jiān)控儀表盤,選擇Prometheus作為數(shù)據(jù)源,編寫PromQL查詢語句,展示K8S集群的CPU使用率、內(nèi)存使用率、網(wǎng)絡流量等監(jiān)控指標。

4. 根據(jù)監(jiān)控結(jié)果,可以設置Prometheus的報警規(guī)則,當監(jiān)控指標超過閾值時發(fā)送報警信息。這套方案能夠全面監(jiān)控Kubernetes集群的容器和節(jié)點,通過Metrics指標和儀表盤直觀反映集群狀態(tài),并實現(xiàn)自動報警,非常適合K8S環(huán)境下微服務應用的穩(wěn)定運行。

具體實現(xiàn)方案如下:

- Cadvisor:在集群中每個節(jié)點作為DaemonSet部署cadvisor,采集容器Metrics。

- node-exporter:在每個節(jié)點也作為DaemonSet運行,采集節(jié)點Metrics。

- Prometheus:部署Prometheus Operator實現(xiàn),作為Deployment運行,用于抓取Metrics和報警。

- Grafana:部署Grafana Operator實現(xiàn),用于儀表盤展示。

三、Kubernetes監(jiān)控指標

K8S本身的監(jiān)控指標

1. CPU利用率:包括節(jié)點CPU利用率、Pod CPU利用率、容器CPU利用率等,用于監(jiān)控CPU資源使用情況。

2. 內(nèi)存利用率:包括節(jié)點內(nèi)存利用率、Pod內(nèi)存利用率、容器內(nèi)存利用率等,用于監(jiān)控內(nèi)存資源使用情況。

3. 網(wǎng)絡流量:節(jié)點網(wǎng)絡流量、Pod網(wǎng)絡流量、容器網(wǎng)絡流量,用于監(jiān)控網(wǎng)絡收發(fā)包大小和帶寬利用率。

4. 磁盤使用率:節(jié)點磁盤使用率,用于監(jiān)控節(jié)點磁盤空間使用情況。

5. Pod狀態(tài):Pod的Running、Waiting、Succeeded、Failed等狀態(tài)數(shù)量,用于監(jiān)控Pod運行狀態(tài)。

6. 節(jié)點狀態(tài):節(jié)點的Ready、NotReady和Unreachable狀態(tài)數(shù)量,用于監(jiān)控節(jié)點運行狀態(tài)。

7. 容器重啟次數(shù):單個容器或Pod內(nèi)所有容器的重啟次數(shù),用于監(jiān)控容器穩(wěn)定性。

8. API服務指標:Kubernetes API Server的請求LATENCY、請求QPS、錯誤碼數(shù)量等,用于監(jiān)控API Server性能。

9. 集群組件指標:etcd、kubelet、kube-proxy等組件的運行指標,用于監(jiān)控組件運行狀態(tài)。這些都是Kubernetes集群運行狀態(tài)的關鍵指標,通過Prometheus等工具可以進行收集和存儲,然后在Grafana中設計相應的Dashboard進行可視化展示。當這些指標超出正常范圍時,也可以根據(jù)閾值設置報警,保證Kubernetes集群和服務的穩(wěn)定運行。

例如:

- CPU利用率超過80%報警

- 內(nèi)存利用率超過90%報警

- 網(wǎng)絡流量/磁盤空間突增報警

- Pod/節(jié)點 NotReady狀態(tài)超過10%報警?

- API Server請求LATENCY超過200ms報警

- etcd節(jié)點Down報警等等。

這些報警規(guī)則的設置需要根據(jù)集群大小和服務負載進行評估。

四、使用Prometheus監(jiān)控k8s

部署前準備

下載prometheus、grafana、node-exporter

GitHub - redhatxl/k8s-prometheus-grafana: k8s monitor of prometheus-grafanak8s monitor of prometheus-grafana. Contribute to redhatxl/k8s-prometheus-grafana development by creating an account on GitHub.https://github.com/redhatxl/k8s-prometheus-grafana.git
?

?這里我下載下來上傳了該附件,可自行下載

https://download.csdn.net/download/qq_40322236/87918488

拉去鏡像:

[root@master ~]# docker pull prom/node-exporter?
[root@master ~]# docker pull prom/prometheus:v2.0.0
[root@master ~]# docker pull grafana/grafana:6.1.4

解壓zip得到如下

[root@master prometheus]# ls
k8s-prometheus-grafana-master  k8s-prometheus-grafana-master.zip
[root@master prometheus]# cd k8s-prometheus-grafana-master/
[root@master k8s-prometheus-grafana-master]# ls
grafana  node-exporter.yaml  prometheus  README.md
[root@master k8s-prometheus-grafana-master]# ll
總用量 8
drwxr-xr-x 2 root root  81 1月   7 2019 grafana
-rw-r--r-- 1 root root 714 6月  13 22:29 node-exporter.yaml
drwxr-xr-x 2 root root 106 1月   7 2019 prometheus
-rw-r--r-- 1 root root 117 6月  13 22:29 README.md

先安裝node-exporter.yaml

[root@master k8s-prometheus-grafana-master]# kubectl apply -f node-exporter.yaml
daemonset.apps/node-exporter created
service/node-exporter created
[root@master k8s-prometheus-grafana-master]# kubectl get pods -A
NAMESPACE       NAME                                        READY   STATUS    RESTARTS   AGE
kube-system     coredns-9d85f5447-7nhgv                     1/1     Running   5          22d
kube-system     coredns-9d85f5447-sfr9j                     1/1     Running   5          22d
kube-system     etcd-master                                 1/1     Running   6          22d
kube-system     kube-apiserver-master                       1/1     Running   6          22d
kube-system     kube-controller-manager-master              1/1     Running   7          22d
kube-system     kube-flannel-ds-77w47                       1/1     Running   4          22d
kube-system     kube-flannel-ds-trrcv                       1/1     Running   6          22d
kube-system     kube-flannel-ds-xcqgs                       1/1     Running   4          22d
kube-system     kube-proxy-674k4                            1/1     Running   4          22d
kube-system     kube-proxy-7l9bk                            1/1     Running   6          22d
kube-system     kube-proxy-kd449                            1/1     Running   4          22d
kube-system     kube-scheduler-master                       1/1     Running   7          22d
kube-system     metrics-server-59d984f5b7-2nt8z             2/2     Running   8          22d
kube-system     node-exporter-5swxx                         1/1     Running   1          3d
kube-system     node-exporter-pbx6c                         1/1     Running   1          3d
[root@master k8s-prometheus-grafana-master]# kubectl get daemonset -A
NAMESPACE     NAME              DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                 AGE
kube-system   kube-flannel-ds   3         3         3       3            3           <none>                        22d
kube-system   kube-proxy        3         3         3       3            3           beta.kubernetes.io/os=linux   22d
kube-system   node-exporter     2         2         2       2            2           <none>                        3d
[root@master k8s-prometheus-grafana-master]# kubectl get service -A
NAMESPACE       NAME             TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                                        AGE
default         kubernetes       ClusterIP   10.96.0.1        <none>        443/TCP                                        22d                              3d
kube-system     kube-dns         ClusterIP   10.96.0.10       <none>        53/UDP,53/TCP,9153/TCP                         22d
kube-system     node-exporter    NodePort    10.102.164.149   <none>        9100:31672/TCP                                 3d                                 3d

部署prometheus

[root@master k8s-prometheus-grafana-master]# cd prometheus/
[root@master prometheus]# ls
configmap.yaml  prometheus.deploy.yml  prometheus.svc.yml  rbac-setup.yaml
[root@master prometheus]# kubectl apply -f rbac-setup.yaml
clusterrole.rbac.authorization.k8s.io/prometheus configured
serviceaccount/prometheus configured
clusterrolebinding.rbac.authorization.k8s.io/prometheus configured
[root@master prometheus]# kubectl apply -f configmap.yaml
configmap/prometheus-config configured
[root@master prometheus]# kubectl apply -f prometheus.deploy.yml
deployment.apps/prometheus created
[root@master prometheus]# kubectl apply -f prometheus.svc.yml
service/prometheus created

部署grafana

[root@master prometheus]# cd ../grafana/
[root@master grafana]# ls
grafana-deploy.yaml  grafana-ing.yaml  grafana-svc.yaml
[root@master grafana]# kubectl apply -f grafana-deploy.yaml
deployment.apps/grafana-core created
[root@master grafana]# kubectl apply -f grafana-svc.yaml
service/grafana created
[root@master grafana]# kubectl apply -f grafana-ing.yaml
ingress.extensions/grafana created

?查看前面安裝的pod和service?

prometheus監(jiān)控k8s,運維,kubernetes,prometheus

prometheus監(jiān)控k8s,運維,kubernetes,prometheus

訪問http://192.168.159.180:31672/metrics,這是node-exporter采集的數(shù)據(jù)

?prometheus監(jiān)控k8s,運維,kubernetes,prometheus

?訪問prometheus地址http://192.168.159.180:30003/graphprometheus監(jiān)控k8s,運維,kubernetes,prometheus

prometheus監(jiān)控k8s,運維,kubernetes,prometheus

訪問grafana的地址http://192.168.159.180:32418/login,默認用戶密碼都是admin,登錄后會默認讓你修改密碼

prometheus監(jiān)控k8s,運維,kubernetes,prometheus

?prometheus監(jiān)控k8s,運維,kubernetes,prometheus

添加grafana?數(shù)據(jù)源,選擇prometheus?

prometheus監(jiān)控k8s,運維,kubernetes,prometheusprometheus監(jiān)控k8s,運維,kubernetes,prometheus?

?prometheus監(jiān)控k8s,運維,kubernetes,prometheus

prometheus監(jiān)控k8s,運維,kubernetes,prometheus?prometheus監(jiān)控k8s,運維,kubernetes,prometheus

?prometheus監(jiān)控k8s,運維,kubernetes,prometheus

把K8S的Dashboard的模板導入

prometheus監(jiān)控k8s,運維,kubernetes,prometheus

prometheus監(jiān)控k8s,運維,kubernetes,prometheus

prometheus監(jiān)控k8s,運維,kubernetes,prometheus

導入315模板等待一會,或者可以下載好json文件,然后復制到下面的文本框中,點擊load

prometheus監(jiān)控k8s,運維,kubernetes,prometheus

prometheus監(jiān)控k8s,運維,kubernetes,prometheus

最后就部署完成啦

prometheus監(jiān)控k8s,運維,kubernetes,prometheus文章來源地址http://www.zghlxwxcb.cn/news/detail-784880.html

到了這里,關于Prometheus監(jiān)控K8S的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 在k8s集群內(nèi)搭建Prometheus監(jiān)控平臺

    在k8s集群內(nèi)搭建Prometheus監(jiān)控平臺

    Prometheus由SoundCloud發(fā)布,是一套由go語言開發(fā)的開源的監(jiān)控報警時間序列數(shù)據(jù)庫的組合。 Prometheus的基本原理是通過HTTP協(xié)議周期性抓取被監(jiān)控組件的狀態(tài),任意組件只要提供對應的HTTP接口就可以接入監(jiān)控。不需要任何SDK或者其他的集成過程。這樣做非常適合做虛擬化環(huán)境監(jiān)控

    2024年02月14日
    瀏覽(87)
  • Prometheus基于k8s的自動發(fā)現(xiàn)配置監(jiān)控

    Prometheus基于k8s的自動發(fā)現(xiàn)配置監(jiān)控

    k8s配置Prometheus監(jiān)控時,可以通過servicemonitor的方式增加job,以此來增加監(jiān)控項,但這種方式進行監(jiān)控配置,只能手工一個一個的增加,如果k8s集群規(guī)模較大的情況下,這種方式會很麻煩。 一種方式是采用consul注冊中心的方式進行自動發(fā)現(xiàn)。 另外一種方式是基于kubernetes_sd_co

    2024年02月05日
    瀏覽(107)
  • 【k8s】基于Prometheus監(jiān)控Kubernetes集群安裝部署

    【k8s】基于Prometheus監(jiān)控Kubernetes集群安裝部署

    目錄 基于Prometheus監(jiān)控Kubernetes集群安裝部署 一、環(huán)境準備 二、部署kubernetes集群 三、部署Prometheus監(jiān)控平臺 四、部署Grafana服務 五、grafana? web操作 IP地址 主機名 組件 192.168.100.131 k8s-master kubeadm、kubelet、kubectl、docker-ce 192.168.100.132 k8s-node01 kubeadm、kubelet、kubectl、docker-ce 192.168

    2024年02月12日
    瀏覽(107)
  • prometheus監(jiān)控k8s服務并告警到釘釘

    prometheus監(jiān)控k8s服務并告警到釘釘

    一、監(jiān)控k8s集群 要監(jiān)控k8s集群需要使用到以下服務用于收集監(jiān)控的資源信息,node_exporter用于監(jiān)控k8s集群節(jié)點的資源信息,kube-state-metrics用于監(jiān)控k8s集群的deployment、statefulset、daemonset、pod等的狀態(tài),cadvisor用于監(jiān)控k8s集群的pod資源信息 在k8s集群中創(chuàng)建monitoring的命名空間用于部

    2024年02月13日
    瀏覽(105)
  • 第28關 k8s監(jiān)控實戰(zhàn)之Prometheus(八)

    ------ 課程視頻同步分享在今日頭條和B站 大家好,我是博哥愛運維。從這節(jié)課開始,博哥計劃引入golang(簡稱go)語言開發(fā)的一些內(nèi)容,沒有接觸過go語言的同學也不用慌,我會盡量以一個新人的角度,去把這些go開發(fā)的內(nèi)容講得通俗一些。這節(jié)課還是繼續(xù) prometheus監(jiān)控相關的

    2024年01月18日
    瀏覽(20)
  • 第28關 k8s監(jiān)控實戰(zhàn)之Prometheus(七)

    ------ 課程視頻同步分享在今日頭條和B站 大家好,我是博哥愛運維。 今天繼續(xù)Prometheus的課程,在之前的幾節(jié)課里面,我?guī)Т蠹艺J識并部署了prometheus服務,并將一些服務做好了監(jiān)控,同時通過grafana展示監(jiān)控數(shù)據(jù)圖表出來。對于怎么使用promql語法,也教了大家取巧的方式通過現(xiàn)

    2024年01月16日
    瀏覽(19)
  • 第28關 k8s監(jiān)控實戰(zhàn)之Prometheus(九)

    ------ 課程視頻同步分享在今日頭條和B站 大家好,我是博哥愛運維。早期我們經(jīng)常用郵箱接收報警郵件,但是報警不及時,而且目前各云平臺對郵件發(fā)送限制還比較嚴格,所以目前在生產(chǎn)中用得更為多的是基于webhook來轉(zhuǎn)發(fā)報警內(nèi)容到企業(yè)中用的聊天工具中,比如釘釘、企業(yè)微

    2024年01月19日
    瀏覽(48)
  • 第28關 k8s監(jiān)控實戰(zhàn)之Prometheus(三)

    ------ 課程視頻同步分享在今日頭條和B站 大家好,我是博哥愛運維。這節(jié)課我們繼續(xù)prometheus相關的內(nèi)容。 訪問prometheus后臺,點擊上方菜單欄 Status — Targets ,我們發(fā)現(xiàn)kube-controller-manager和kube-scheduler未發(fā)現(xiàn) 接下來我們解決下這一個碰到的問題吧 然后因為K8s的這兩上核心組件

    2024年01月25日
    瀏覽(14)
  • k8s集群監(jiān)控cadvisor+prometheus+grafana部署

    k8s集群監(jiān)控cadvisor+prometheus+grafana部署

    目錄 1.新建命名空間monitor 2.部署 2.1部署cadvisor 2.2部署node_exporter 2.3部署prometheus 2.4部署rbac權限 2.5.部署 metrics 2.6部署grafana 3.測試監(jiān)控效果 參考文章: k8s集群部署cadvisor+node-exporter+prometheus+grafana監(jiān)控系統(tǒng) - cyh00001 - 博客園 準備工作: Cluster集群節(jié)點介紹: master:192.168.136.21(以

    2024年01月16日
    瀏覽(99)
  • K8S系統(tǒng)監(jiān)控:使用Metrics Server和Prometheus

    K8S系統(tǒng)監(jiān)控:使用Metrics Server和Prometheus

    Kubernetes 也提供了類似的linux top的命令,就是 kubectl top,不過默認情況下這個命令不會生效,必須要安裝一個插件 Metrics Server 才可以。 Metrics Server 是一個專門用來收集 Kubernetes 核心資源指標(metrics)的工具,它定時從所有節(jié)點的 kubelet 里采集信息,但是對集群的整體性能影

    2024年02月16日
    瀏覽(53)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包