一种基于Kubernetes的监控服务静态配置管理方法技术

技术编号:28789136 阅读:22 留言:0更新日期:2021-06-09 11:25
本发明专利技术公开一种基于Kubernetes的监控服务静态配置管理方法,涉及容器监控技术领域,包括:在Kubernetes集群中部署Prometheus server;在控制平面写入静态监控目标配置模板、告警规则配置模板;控制平面调用接口,获取当前Secret、ConfigMap内容、监控目标的变更信息;控制平面依据获取信息生成新的静态监控目标配置文件;控制平面备份当前Secret内容,并调用接口将新配置文件更新到Secret中;控制平面调用接口校验Secret的更新内容,根据校验结果,修改配置版本表的记录,并发送邮件通知运维人员或者执行下一步;控制平面基于监控信息生成新的告警规则配置,控制平面调用接口,确认告警规则配置更新成功。本发明专利技术可以有效减少Kubernetes集群中监控服务的人工维护工作,提高效率。高效率。高效率。

【技术实现步骤摘要】
一种基于Kubernetes的监控服务静态配置管理方法


[0001]本专利技术涉及容器监控
,具体的说是一种基于Kubernetes的监控服务静态配置管理方法。

技术介绍

[0002]容器编排系统Kubernetes被广泛应用于各类云计算服务,越来越多的应用以容器形式运行在云端节点。而作为一套完整的监控服务,Prometheus自带时序数据库、支持远程存储、实现了灵活的查询语言PromQL,且具备丰富的监控组件、良好的性能、活跃的社区等优势,已成为Kubernetes集群容器监控的首选。Prometheus为Kubernetes集群以及部署在集群内的应用提供了良好的监控与告警服务。
[0003]一方面,Kubernetes为部署在集群中的应用提供了方便快捷的扩缩容功能,而Kubernetes本身也有针对集群节点的扩缩容操作,这就要求监控服务Prometheus及时更新其配置文件,以适应监控目标的变更。在Prometheus的配置中,监控目标相关的配置内容包括静态监控模板和基于服务发现的动态监控目标,在具体的变更操作中,二者是不一样的。Prometheus支持多种服务发现机制,基于服务发现的配置可以根据筛选和过滤条件自适应地获取并更新监控目标,而静态配置需要人工手动修改配置文件,配置条目可能包括站点URL、IP地址、文件路径等。
[0004]另一方面,在Kubernetes集群中部署Prometheus时,相关的配置文件一般保存在Kubernetes的ConfigMap、Secret资源中,然后通过挂载操作,将这些资源中的配置内容写入容器中的文件。而配置文件包括监控目标配置、告警触发规则配置,一般地,对于不同类型的监控目标,在Prometheus server容器中其规则配置是分布在不同文件中的。另外,随着各类应用的不断发展壮大,Prometheus的监控目标越来越多,可能包含物理机、虚机、容器、网络、中间件服务、用户应用等,而在生产环境中,监控服务的稳定运行对服务至关重要,为保证监控服务的高稳定性,Prometheus的部署架构必须是高可用的,Prometheus server以多个副本的方式部署,当监控数据量很大时,还需要对数据进行分片,以消除单个Prometheus server的负载瓶颈。这样的部署架构,大大增加了维护Prometheus配置的复杂度,但是,对于静态配置内容,人工维护往往会引入错误,而且人工维护效率低,不方便记录运维人员操作日志,不利于服务治理及应用业务的可持续发展。

技术实现思路

[0005]本专利技术针对目前技术发展的需求和不足之处,提供一种基于Kubernetes的监控服务静态配置管理方法。
[0006]本专利技术的一种基于Kubernetes的监控服务静态配置管理方法,解决上述技术问题采用的技术方案如下:
[0007]一种基于Kubernetes的监控服务静态配置管理方法,其实现过程包括:
[0008]步骤S1、在Kubernetes集群中以StatefulSet方式部署Prometheus server,将
config

reloader容器以sidecar容器的形式部署至Prometheus server的Pod中;
[0009]步骤S2、在控制平面写入静态监控目标配置模板、告警规则配置模板;
[0010]步骤S3、控制平面调用Kubernetes APIServer接口,获取正在使用的Secret、ConfigMap内容,存入配置版本表中,并标记版本号、状态,随后通过轮询或监听服务发现系统,获取到监控目标的变更信息,并写入数据库;
[0011]步骤S4、控制平面依据获取的监控目标信息,生成新的静态监控目标配置文件;
[0012]步骤S5、控制平面备份当前Secret内容,并调用Kubernetes APIServer接口,将新的静态监控目标配置文件更新到Secret中;
[0013]步骤S6、控制平面调用Prometheus配置校验接口,对Secret的更新内容进行校验,根据校验结果,修改配置版本表的记录,并发送邮件通知运维人员或者执行步骤S7,进行新配置文件的加载;
[0014]步骤S7、控制平面获取运维人员配置的监控告警信息,并结合告警规则模板文件,对配置值进行检查,以生成新的告警规则配置,新的告警规则配置挂载至Prometheus server容器的配置目录下;
[0015]步骤S8、控制平面调用Prometheus配置热加载接口,确认告警规则配置更新成功。
[0016]进一步的,执行步骤S1时,还需要根据实际需求,规划selector规则,并以DaemonSet方式部署通用的节点级exporter,以SidecarSet方式部署通用的应用级exporter。
[0017]进一步的,执行步骤S1后,使用ConfigMap存储监控告警规则配置文件,使用Secret存储附加的静态监目标配置文件,并挂载至对应的Pod中,随后执行步骤S2。
[0018]进一步的,执行步骤S2时,静态监控目标配置模板以Prometheus主配置中的job为单位,告警规则配置模板与静态监控目标配置模板相对应,告警规则配置模板的内容采用yaml格式,存储在控制平面中。
[0019]进一步的,执行步骤S6,对Secret的更新内容进行校验时:
[0020](a)若校验失败,则获取失败信息并更新到操作日志中,使用步骤5的备份文件回滚Secret/ConfigMap,修改配置版本表的记录,并发送邮件通知运维人员,流程结束;
[0021](b)若校验成功,则调用Prometheus配置热加载接口,确认通过Secret挂载到Prometheus server容器中的新配置正确且立即生效,并修改配置版本表的记录,执行步骤S7,进行新配置文件的加载。
[0022]进一步的,步骤S7中所述新的告警规则配置通过ConfigMap挂载至Prometheusserver容器的配置目录下。
[0023]进一步的,执行步骤S7后,控制平面调用Kubernetes APIServer接口,首先备份当前ConfigMap内容,随后将规则配置文件名作为key、将文件内容作为value存入ConfigMap。
[0024]优选的,执行步骤S3时,通过控制平面修改当前配置版本表中记录的状态为不可修改。
[0025]本专利技术的一种基于Kubernetes的监控服务静态配置管理方法,与现有技术相比具有的有益效果是:
[0026]本专利技术采用容器监控服务Prometheus,利用Kubernetes多样化的容器部署及应用配置挂载方式,结合服务发现系统,通过控制平面进行Prometheus静态配置的生成和分发
操作,并利用Prometheus提供的配置校验和热加载接口,保障自动化配置管理功能的可靠性,从而有效减少Kubernetes集群中监控服务的人工维护工本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Kubernetes的监控服务静态配置管理方法,其特征在于,其实现过程包括:步骤S1、在Kubernetes集群中以StatefulSet方式部署Prometheus server,将config

reloader容器以sidecar容器的形式部署至Prometheus server的Pod中;步骤S2、在控制平面写入静态监控目标配置模板、告警规则配置模板;步骤S3、控制平面调用Kubernetes APIServer接口,获取正在使用的Secret、ConfigMap内容,存入配置版本表中,并标记版本号、状态,随后通过轮询或监听服务发现系统,获取到监控目标的变更信息,并写入数据库;步骤S4、控制平面依据获取的监控目标信息,生成新的静态监控目标配置文件;步骤S5、控制平面备份当前Secret内容,并调用Kubernetes APIServer接口,将新的静态监控目标配置文件更新到Secret中;步骤S6、控制平面调用Prometheus配置校验接口,对Secret的更新内容进行校验,根据校验结果,修改配置版本表的记录,并发送邮件通知运维人员或者执行步骤S7,进行新配置文件的加载;步骤S7、控制平面获取运维人员配置的监控告警信息,并结合告警规则模板文件,对配置值进行检查,以生成新的告警规则配置,新的告警规则配置挂载至Prometheus server容器的配置目录下;步骤S8、控制平面调用Prometheus配置热加载接口,确认告警规则配置更新成功。2.根据权利要求1所述的一种基于Kubernetes的监控服务静态配置管理方法,其特征在于,执行步骤S1时,还需要根据实际需求,规划selector规则,并以DaemonSet方式部署通用的节点级exporter,以SidecarSet方式部署通用的应用级exporter。3.根据权利要求1所述的一种基于Kubernetes的监控服务...

【专利技术属性】
技术研发人员:刘园园
申请(专利权)人:浪潮软件科技有限公司
类型:发明
国别省市:

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

1