k8s与监控--解读prometheus监控kubernetes的配置文件-成都快上网建站

k8s与监控--解读prometheus监控kubernetes的配置文件

前言
Prometheus 是一个开源和社区驱动的监控&报警&时序数据库的项目。来源于谷歌BorgMon项目。现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控。主要监控:
Node:如主机CPU,内存,网络吞吐和带宽占用,磁盘I/O和磁盘使用等指标。node-exporter采集。
容器关键指标:集群中容器的CPU详细状况,内存详细状况,Network,FileSystem和Subcontainer等。通过cadvisor采集。
Kubernetes集群上部署的应用:监控部署在Kubernetes集群上的应用。主要是pod,service,ingress和endpoint。通过black-box和kube-apiserver的接口采集。
kubernetes-apiservers
该项主要是让prometheus程序可以访问kube-apiserver,进而进行服务发现。看一下服务发现的代码可以看出,主要服务发现:node,service,ingress,pod。
kubernetes-nodes
发现node以后,通过/api/v1/nodes/${1}/proxy/metrics来获取node的metrics。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、虚拟空间、营销软件、网站建设、砚山网站维护、网站推广。

kubernetes-cadvisor
cadvisor已经被集成在kubelet中,所以发现了node就相当于发现了cadvisor。通过 /api/v1/nodes/${1}/proxy/metrics/cadvisor采集容器指标。

kubernetes-services和kubernetes-ingresses
该两种资源监控方式差不多,都是需要安装black-box,然后类似于探针去定时访问,根据返回的http状态码来判定service和ingress的服务可用性。
kubernetes-pods
对于pod的监测也是需要加注解:

prometheus.io/scrape,为true则会将pod作为监控目标。
prometheus.io/path,默认为/metrics
prometheus.io/port , 端口
所以看到此处可以看出,该job并不是监控pod的指标,pod已经通过前面的cadvisor采集。此处是对pod中应用的监控。写过exporter的人应该对这个概念非常清楚。通俗讲,就是你pod中的应用提供了prometheus的监控功能,加上对应的注解,那么该应用的metrics会定时被采集走。

kubernetes-service-endpoints
对于服务的终端节点,也需要加注解:

prometheus.io/scrape,为true则会将pod作为监控目标。
prometheus.io/path,默认为/metrics
prometheus.io/port , 端口
prometheus.io/scheme 默认http,如果为了安全设置了https,此处需要改为https
这个基本上同上的。采集service-endpoints的metrics。


网站栏目:k8s与监控--解读prometheus监控kubernetes的配置文件
文章链接:http://kswjz.com/article/ipgpcs.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流