一种基于kubernetes的监控告警方法技术

技术编号:34953948 阅读:20 留言:0更新日期:2022-09-17 12:31
本发明专利技术公开了一种基于Kubernetes的监控告警方法,包括blackbox

【技术实现步骤摘要】
一种基于kubernetes的监控告警方法


[0001]本专利技术涉及监控告警
,具体而言,涉及一种基于Kubernetes的监控告警方法。

技术介绍

[0002]Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。
[0003]监控是日常维护中很重要的一环,对于kubernetes尤其重要,需要对服务器和容器进行监控,保证kubernetes正常运行。
[0004]但是,现有的监控告警,收到服务资源告警慢,难以及时处理与恢复;占用资源低,可扩展性差;监控种类较少,难以满足实际使用需求。

技术实现思路

[0005]本专利技术的主要目的在于提供一种基于Kubernetes的监控告警方法,以改善相关技术中,收到服务资源告警慢,难以及时处理与恢复;占用资源低,可扩展性差;监控种类较少,难以满足实际使用需求的问题。
[0006]为了实现上述目的,本专利技术提供了一种基于Kubernetes的监控告警方法,具体包括如下步骤:
[0007]S1、blackbox

exporter将http、tcp获取的数据推送给Prometheus;
[0008]S2、kube

state

metrics将Kubernetes内pod的资源推送给Prometheus;
[0009]S3、node

exporter将服务器的资源推送给Prometheus;
[0010]S4、jmx

exporter将java项目的资源推送给Prometheus;
[0011]S5、Prometheus接收数据进行处理,并将处理结果传输给Grafana,若达到报警条件,Prometheus则推送给Alertmanager,Alertmanager则将告警告知Dingtalk。
[0012]在本专利技术的一种实施例中,所述S1中,blackbox

exporter包括http测试、tcp测试、主机探活测试、接口连通性测试和证书测试,其中:
[0013]http测试的具体步骤为:定义Request Header信息,判断Http status /Http Respones Header/Http Body内容;
[0014]tcp测试的具体步骤为:业务组件端口状态监听,应用层协议定义与监听。
[0015]在本专利技术的一种实施例中,所述S5中,Prometheus处理 blackbox

exporter所推送数据的报警条件:
[0016]http测试、tcp测试、主机探活测试和接口连通性测试监测是否正常可以观察probe_success这一指标;若probe_success==0则联通性异常;若 probe_success==1则联通性正常;报警也是判断probe_success这个指标是否等于0,如等于0则触发异常报警;
[0017]证书测试监测SSL证书是否处于有效期内;若证书处于有效期内,则不报警;若证书过期,则报警。
[0018]在本专利技术的一种实施例中,所述S2中,kube

state

metrics提供内容的工作过程为:轮询Kubernetes API,将Kubernetes的结构化信息转换为 metrics,并提供阶段指标。
[0019]在本专利技术的一种实施例中,所述阶段的指标为:
[0020]实验性质的指标:k8s api中alpha阶段的或者spec的字段;
[0021]稳定版本的指标:k8s中不向后兼容的主要版本的更新;
[0022]被废弃的指标:已经不再维护的内容。
[0023]在本专利技术的一种实施例中,所述S5中,Prometheus处理 kube

state

metrics所推送资源的报警条件:
[0024]存在执行失败的Job:
[0025]kube_job_status_failed{job=

kubernetes

service

endpoints

,k8s_app=

ku be

state

metrics

}==1,则报警;
[0026]集群节点状态错误:
[0027]kube_node_status_condition{condition=

Ready

,status!=

true

}==1,则报警;
[0028]集群中存在启动失败的Pod:
[0029]kube_pod_status_phase{phase=~

Failed|Unknown

}==1,则报警;
[0030]最近30分钟内有Pod容器重启: changes(kube_pod_container_status_restarts[30m])>0,则报警。
[0031]在本专利技术的一种实施例中,所述S3中,node

exporter的推送服务器资源包括:node_boot_time:系统启动时间;node_cpu:系统CUP使用情况; node_disk_*:磁盘io;node_filesystem_*:文件系统使用量;node_load1:系统负载;node_memeory_*:系统内存使用量;node_network_*:网络宽带; node_time:当前系统时间;go_*:node exporter中go相关指标;*process_:**node exporter自身进程相关指标。
[0032]在本专利技术的一种实施例中,所述S5中,Prometheus处理node

exporter 所推送的node_boot_time、node_cpu、node_disk_*、node_filesystem_*、 node_load1、node_memeory_*、node_network_*、node_time、go_*和*process_,均采用预设的方式录入报警条件。
[0033]在本专利技术的一种实施例中,所述S4中,jmx

exporter将java项目的资源推送给Prometheus的具体方式为:java启动时指定参数,暴露jmx的rmi 接口;jmx

exporter调用rmi获取java运行时状态数据,转换为Prometheusmetric本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Kubernetes的监控告警方法,其特征在于,具体包括如下步骤:S1、blackbox

exporter将http、tcp获取的数据推送给Prometheus;S2、kube

state

metrics将Kubernetes内pod的资源推送给Prometheus;S3、node

exporter将服务器的资源推送给Prometheus;S4、jmx

exporter将java项目的资源推送给Prometheus;S5、Prometheus接收数据进行处理,并将处理结果传输给Grafana,若达到报警条件,Prometheus则推送给Alertmanager,Alertmanager则将告警告知Dingtalk。2.如权利要求1所述的一种基于Kubernetes的监控告警方法,其特征在于,所述S1中,blackbox

exporter包括http测试、tcp测试、主机探活测试、接口连通性测试和证书测试,其中:http测试的具体步骤为:定义Request Header信息,判断Http status/Http Respones Header/Http Body内容;tcp测试的具体步骤为:业务组件端口状态监听,应用层协议定义与监听。3.如权利要求2所述的一种基于Kubernetes的监控告警方法,其特征在于,所述S5中,Prometheus处理blackbox

exporter所推送数据的报警条件:http测试、tcp测试、主机探活测试和接口连通性测试监测是否正常可以观察probe_success这一指标;若probe_success==0则联通性异常;若probe_success==1则联通性正常;报警也是判断probe_success这个指标是否等于0,如等于0则触发异常报警;证书测试监测SSL证书是否处于有效期内;若证书处于有效期内,则不报警;若证书过期,则报警。4.如权利要求1所述的一种基于Kubernetes的监控告警方法,其特征在于,所述S2中,kube

state

metrics提供内容的工作过程为:轮询Kubernetes API,将Kubernetes的结构化信息转换为metrics,并提供阶段指标。5.如权利要求4所述的一种基于Kubernetes的监控告警方法,其特征在于,所述阶段的指标为:实验性质的指标:k8s api中alpha阶段的或者spec的字段;稳定版本的指标:k8s中不向后兼容的主要版本的更新;被废弃的指标:已经不再维护的内容。6.如权利要求4所述的一种基于Kubernetes的监控告警方法,其特征在于,所述S5中,Prometheus处理kube

state

metrics所推送资源的报警条件:存在执行失败的Job:kube_job_status_failed{job=

kubernetes

service

【专利技术属性】
技术研发人员:华张辉
申请(专利权)人:中教云智数字科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1