CN111597087A - 一种制作云监控指标的方法 - Google Patents
一种制作云监控指标的方法 Download PDFInfo
- Publication number
- CN111597087A CN111597087A CN202010410688.6A CN202010410688A CN111597087A CN 111597087 A CN111597087 A CN 111597087A CN 202010410688 A CN202010410688 A CN 202010410688A CN 111597087 A CN111597087 A CN 111597087A
- Authority
- CN
- China
- Prior art keywords
- cluster
- cloud monitoring
- monitoring index
- metadata
- cloud
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 110
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000004519 manufacturing process Methods 0.000 title description 9
- 238000012545 processing Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000008571 general function Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 4
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/301—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种制作云监控指标的方法,属于云监控技术领域,使用定时任务推送和拉取云监控指标元数据,利用缓存保存集群元数据,再使用配置文件模板动态配置不同集群的监控指标,根据prometheus监控到的kubernetes资源制作出需要告警的云监控指标,这些监控指标在后续可以通过kafka推送到监控平台用于告警。
Description
技术领域
本发明涉及云监控技术,尤其涉及一种制作云监控指标的方法。
背景技术
近年来,kubernetes作为一种容器编排管理技术已经非常的成熟了,它本身维护着大量的资源,而这些资源有时会因为一些原因导致状态异常,因此需要一种自动监控kubernetes资源并在资源状态异常时发出告警的方法。
Kubernetes是一个全新的基于容器技术的分布式架构领先方案,所有的应用程序在kubernetes中都是以资源的形式存在,而这些资源有时会因为网络、环境等因素变得不可用,因此需要能够实时监控这些资源,并在这些资源状态异常时发出告警,运维人员在收到告警后根据告警内容进行迅速排查避免不必要的损失。
Prometheus是一个开源的系统监控工具,可以对接kubernetes获取监控数据,这里主要想收集的监控数据是kubernetes的资源,因此需要在kubernetes中部署kube-state-metrics组件,这就基本可以获取到所以需要监控的资源信息了。
结合kubernetes和prometheus通过定时任务接收和获取资源信息,制作出需要告警的云监控指标。
Kafka是一个分布式的消息队列系统,制作好的云监控指标可以通过kafka推送到监控告警平台。
总之,kubernetes本身的资源出现状态异常时不会发出告警,当生产环境出现状况时很可能带来损失,需要一个制作云监控指标的方法去减小这种损失。
发明内容
为了解决以上技术问题,本发明提供了一种制作云监控指标的方法。可以实时监控到kubernetes的资源状况,推送到监控告警平台之后可以出发告警。
本发明的技术方案是:
一种制作云监控指标的方法,
包括如下步骤:
1)使用定时任务推送和拉取云监控指标元数据;
2)使用缓存保存集群元数据;
3)使用配置文件模板动态配置不同集群的监控指标;
4)云监控指标制作程序的高可用部署。
进一步的,
a)容器服务集群管理程序定时向云监控指标agent程序推送集群元数据;
b)云监控指标agent程序定时从prometheus获取集群内资源状态元数据;
c)通过云监控指标agent程序将收集到的数据制作为云监控指标;
d)通过kafka将制作出的云监控指标推送到监控告警平台;
e)对于数据量大的情况,部署云监控指标为statefulset,配置service为headless,容器服务管理程序将集群元数据平均分发到指定pod。
进一步的,
集群元数据的处理
a)提供api接口供容器服务管理程序定时调用,获取到所有被管理的集群元数据;
b)设置一个集群状态的缓存,每次接收到新的集群元数据后,将原有的缓存清空,将新的元数据添加到缓存中;
c)启动一个定时任务,每隔3分钟将缓存中的集群状态制作为可推送的云监控指标;
d)将制作成功的云监控指标推送到监控告警平台。
进一步的,
集群内资源状态元数据的处理
a)编写配置文件,将从prometheus中查询资源状况的语句PromeQL预先准备好,将不同的集群Id作为模板参数,待实际使用时进行替换填充;
b)启动一个定时任务,每隔3分钟遍历获取缓存中的集群列表,将不同的集群Id填充到配置文件中的查询语句中,生成所有集群所有资源的可执行PromeQL;
c)根据生成的PromeQL访问prometheus的api接口执行查询,获取到查询结果;
d)将查询结果制作为可推送的云监控指标;
e)将制作成功的云监控指标推送到监控告警平台;
f)对于数据量大的监控指标,采用多个协程的形式进行数据的处理。
进一步的,
无论是集群状态还是集群内的资源,都需要将获取到的元数据转换为监控平台指定的数据格式。
编写一个通用的函数,将两类元数据进行格式转换,转换成最终云监控指标需要的格式。
进一步的,
推送数据到监控告警平台
a)初始化kafka的producer实例,建立与kafka的consumer之间的连接;
b)将云监控指标放入到producer的value中推送到监控告警平台。
进一步的,
将云监控指标制作程序cks-agent做成docker镜像,部署为statefulset的形式,并配置对应的service为headless。
容器服务管理程序定时向cks-agent分发数据时,可以根据配置的不同 service的headless,指定分发一部分数据到指定pod上。
本发明的有益效果是
通过使用本发明,可以很好的完成云监控指标的制作,并能根据配置文件中配置的不同资源类型,有选择的动态制作不同的云监控指标,并为监控告警平台提供了根据不同状态进行告警的能力。
附图说明
图1是本发明的工作框图;
图2是本发明的工作流程图;
图3是用户使用的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的一种制作云监控指标的方法,包括:
1)使用定时任务推送和拉取云监控指标元数据
2)使用缓存保存集群元数据
3)使用配置文件模板动态配置不同集群的监控指标
4)云监控指标制作程序的高可用部署
具体内容如下:
一)设计方案
a)容器服务集群管理程序定时向云监控指标agent程序推送集群元数据。
b)云监控指标agent程序定时从prometheus获取集群内资源状态元数据。
c)通过云监控指标agent程序将收集到的数据制作为云监控指标。
d)通过kafka将制作出的云监控指标推送到监控告警平台。
e)对于数据量大的情况,部署云监控指标为statefulset,配置service为headless,容器服务管理程序将集群元数据平均分发到指定pod。
二)集群元数据
a)提供api接口供容器服务管理程序定时调用,可获取到所有被管理的集群元数据。
b)设置一个集群状态的缓存,每次接收到新的集群元数据后,将原有的缓存清空,将新的元数据添加到缓存中。
c)启动一个定时任务,每隔3分钟将缓存中的集群状态制作为可推送的云监控指标。
d)将制作成功的云监控指标推送到监控告警平台。
三)集群内的资源元数据
a)编写配置文件,将从prometheus中查询资源状况的语句PromeQL预先准备好,将不同的集群Id作为模板参数,待实际使用时进行替换填充,这样做的好处是可以随时控制要监控的资源类型。
b)启动一个定时任务,每隔3分钟遍历获取缓存中的集群列表,将不同的集群 Id填充到配置文件中的查询语句中,生成所有集群所有资源的可执行 PromeQL。
c)根据生成的PromeQL访问prometheus的api接口执行查询,获取到查询结果。
d)将查询结果制作为可推送的云监控指标。
e)将制作成功的云监控指标推送到监控告警平台。
f)对于数据量大的监控指标,采用多个协程的形式进行数据的处理。
四)云监控指标格式转换
a)无论是集群状态还是集群内的资源,都需要将获取到的元数据转换为监控平台指定的数据格式。
b)最终的云监控指标结构格式如下(go语言描述)
c)编写一个通用的函数,将两类元数据进行格式转换,转换成最终云监控指标需要的格式。
d)集群状态的最终云监控指标格式样例
五)推送到监控告警平台
e)初始化kafka的producer实例,建立与kafka的consumer之间的连接。
f)将云监控指标放入到producer的value中推送到监控告警平台。
六)云监控指标制作程序高可用
g)将云监控指标制作程序cks-agent做成docker镜像,部署为statefulset 的形式,并配置对应的service为headless。
h)容器服务管理程序定时向cks-agent分发数据时,可以根据配置的不同service的headless,指定分发某一部分数据到指定pod上,这样可以避免数据量过大单个pod处理不过来的问题。
本发明的特点如下:
a)使用定时任务推送和拉取云监控指标元数据
b)使用缓存保存集群元数据
c)使用配置文件模板动态配置不同集群的监控指标
d)对外暴露api接口供接收集群元数据
e)不同的监控指标的PromeQL语句的不同写法
f)统一转换元数据为监控告警平台需要的格式
g)大量数据采用多个go协程的方式进行数据的获取与推送
h)采用kafka消息队列进行大量云监控指标的推送
i)云监控指标制作程序的高可用部署
通过使用本发明,能够根据prometheus监控到的kubernetes资源制作出需要告警的云监控指标,这些监控指标在后续可以通过kafka推送到监控平台用于告警。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种制作云监控指标的方法,其特征在于,
包括如下步骤:
1)使用定时任务推送和拉取云监控指标元数据;
2)使用缓存保存集群元数据;
3)使用配置文件模板动态配置不同集群的监控指标;
4)云监控指标制作程序的高可用部署。
2.根据权利要求1所述的方法,其特征在于,
具体如下:
a)容器服务集群管理程序定时向云监控指标agent程序推送集群元数据;
b)云监控指标agent程序定时从prometheus获取集群内资源状态元数据;
c)通过云监控指标agent程序将收集到的数据制作为云监控指标;
d)通过kafka将制作出的云监控指标推送到监控告警平台;
e)部署云监控指标为statefulset,配置service为headless,容器服务管理程序将集群元数据平均分发到指定pod。
3.根据权利要求2所述的方法,其特征在于,
集群元数据的处理
a)提供api接口供容器服务管理程序定时调用,获取到所有被管理的集群元数据;
b)设置一个集群状态的缓存,每次接收到新的集群元数据后,将原有的缓存清空,将新的元数据添加到缓存中;
c)启动一个定时任务,每隔3分钟将缓存中的集群状态制作为可推送的云监控指标;
d)将制作成功的云监控指标推送到监控告警平台。
4.根据权利要求2所述的方法,其特征在于,
集群内资源状态元数据的处理
a)编写配置文件,将从prometheus中查询资源状况的语句PromeQL预先准备好,将不同的集群Id作为模板参数,待实际使用时进行替换填充;
b)启动一个定时任务,每隔3分钟遍历获取缓存中的集群列表,将不同的集群Id填充到配置文件中的查询语句中,生成所有集群所有资源的可执行PromeQL;
c)根据生成的PromeQL访问prometheus的api接口执行查询,获取到查询结果;
d)将查询结果制作为可推送的云监控指标;
e)将制作成功的云监控指标推送到监控告警平台;
f)采用一个以上的协程的形式进行数据的处理。
5.根据权利要求2所述的方法,其特征在于,
无论是集群状态还是集群内的资源,都需要将获取到的元数据转换为监控平台指定的数据格式。
6.根据权利要求5所述的方法,其特征在于,
编写一个通用的函数,将两类元数据进行格式转换,转换成最终云监控指标需要的格式。
7.根据权利要求2所述的方法,其特征在于,
推送数据到监控告警平台
a)初始化kafka的producer实例,建立与kafka的consumer之间的连接;
b)将云监控指标放入到producer的value中推送到监控告警平台。
8.根据权利要求2所述的方法,其特征在于,
将云监控指标制作程序cks-agent做成docker镜像,部署为statefulset的形式,并配置对应的service为headless;
容器服务管理程序定时向cks-agent分发数据时,可以根据配置的不同service的headless,指定分发一部分数据到指定pod上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010410688.6A CN111597087A (zh) | 2020-05-15 | 2020-05-15 | 一种制作云监控指标的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010410688.6A CN111597087A (zh) | 2020-05-15 | 2020-05-15 | 一种制作云监控指标的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111597087A true CN111597087A (zh) | 2020-08-28 |
Family
ID=72182416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010410688.6A Pending CN111597087A (zh) | 2020-05-15 | 2020-05-15 | 一种制作云监控指标的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111597087A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111818188A (zh) * | 2020-09-09 | 2020-10-23 | 杭州朗澈科技有限公司 | 一种Kubernetes集群的负载均衡可用性提升方法和装置 |
CN112612577A (zh) * | 2020-12-25 | 2021-04-06 | 苏州浪潮智能科技有限公司 | 一种大规模K8s集群监控的方法、装置、设备及可读介质 |
CN115269308A (zh) * | 2022-06-29 | 2022-11-01 | 北京结慧科技有限公司 | 一种Kafka监控方法及系统、计算机设备及介质 |
CN115604146A (zh) * | 2022-11-30 | 2023-01-13 | 广东睿江云计算股份有限公司(Cn) | 持续获取K8s集群状况的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110247810A (zh) * | 2019-07-09 | 2019-09-17 | 浪潮云信息技术有限公司 | 一种收集容器服务监控数据的系统及方法 |
US20190342160A1 (en) * | 2018-05-01 | 2019-11-07 | YugaByte Inc | Orchestration of data services in multiple cloud infrastructures |
CN110427249A (zh) * | 2019-07-26 | 2019-11-08 | 重庆紫光华山智安科技有限公司 | 任务分配方法、pod初始化方法及相关装置 |
CN110809029A (zh) * | 2019-10-17 | 2020-02-18 | 国电南瑞科技股份有限公司 | 一种基于内存队列的多种运维指标数据接收的管理方法 |
-
2020
- 2020-05-15 CN CN202010410688.6A patent/CN111597087A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190342160A1 (en) * | 2018-05-01 | 2019-11-07 | YugaByte Inc | Orchestration of data services in multiple cloud infrastructures |
CN110247810A (zh) * | 2019-07-09 | 2019-09-17 | 浪潮云信息技术有限公司 | 一种收集容器服务监控数据的系统及方法 |
CN110427249A (zh) * | 2019-07-26 | 2019-11-08 | 重庆紫光华山智安科技有限公司 | 任务分配方法、pod初始化方法及相关装置 |
CN110809029A (zh) * | 2019-10-17 | 2020-02-18 | 国电南瑞科技股份有限公司 | 一种基于内存队列的多种运维指标数据接收的管理方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111818188A (zh) * | 2020-09-09 | 2020-10-23 | 杭州朗澈科技有限公司 | 一种Kubernetes集群的负载均衡可用性提升方法和装置 |
CN112612577A (zh) * | 2020-12-25 | 2021-04-06 | 苏州浪潮智能科技有限公司 | 一种大规模K8s集群监控的方法、装置、设备及可读介质 |
CN112612577B (zh) * | 2020-12-25 | 2022-07-12 | 苏州浪潮智能科技有限公司 | 一种大规模K8s集群监控的方法、装置、设备及可读介质 |
CN115269308A (zh) * | 2022-06-29 | 2022-11-01 | 北京结慧科技有限公司 | 一种Kafka监控方法及系统、计算机设备及介质 |
CN115604146A (zh) * | 2022-11-30 | 2023-01-13 | 广东睿江云计算股份有限公司(Cn) | 持续获取K8s集群状况的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111597087A (zh) | 一种制作云监控指标的方法 | |
CN109284334B (zh) | 实时数据库同步方法、装置、电子设备及存储介质 | |
CN107577805B (zh) | 一种面向日志大数据分析的业务服务系统 | |
CN110716744A (zh) | 一种数据流处理方法、系统和计算机可读存储介质 | |
CN110046041B (zh) | 一种基于celery调度框架的数据采集方法 | |
US9201715B2 (en) | Event overflow handling by coalescing and updating previously-queued event notification | |
CN111752807A (zh) | 一种基于Kubernetes的资源监控方法 | |
CN112162829B (zh) | 一种边缘计算场景下的资源监控数据预处理系统 | |
CN111221831B (zh) | 一种对广告效果数据实时处理的计算系统 | |
WO2019223178A1 (zh) | 跨平台任务调度方法、系统、计算机设备和存储介质 | |
CN106210124A (zh) | 一种统一的云数据中心监控系统 | |
CN114356499A (zh) | Kubernetes集群告警根因分析方法及装置 | |
CN111966289A (zh) | 基于Kafka集群的分区优化方法和系统 | |
CN111984505A (zh) | 一种运维数据采集引擎及采集方法 | |
CN109977173B (zh) | 基于云数据中心的分布式、插件式数据监控系统及方法 | |
CN111934793B (zh) | 一种互联网架构全链路监控方法及装置 | |
CN110245120A (zh) | 流式计算系统及流式计算系统的日志数据处理方法 | |
CN116226067A (zh) | 日志管理方法、日志管理装置、处理器和日志平台 | |
CN112422349B (zh) | 面向nfv的网管系统、方法、设备及介质 | |
CN113704203A (zh) | 一种日志文件的处理方法及装置 | |
CN114756301A (zh) | 日志处理方法、装置和系统 | |
CN108959041A (zh) | 信息发送的方法、服务器及计算机可读存储介质 | |
CN115114316A (zh) | 一种高并发数据的处理方法、装置、集群和存储介质 | |
CN112527486A (zh) | 调度优化方法及装置 | |
CN108449343B (zh) | Ssh协议文本数据采集方法、采集器及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200828 |
|
RJ01 | Rejection of invention patent application after publication |