searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

一种集中配置联邦集群Prometheus的方法

2024-07-01 03:26:53
8
0

Prometheus是一款流行的开源监控工具,配合alertmanager和部署在节点的各种exporter可以实现对服务器和部署应用的性能监控和告警能力。

在实际生产部署中,可能还会有多资源池(数据中心)、多VPC部署的场景,这就需要用到联邦集群部署。

 


 

 

为了更好配置分布在各个数据中心的Prometheus节点,需要一种可以可靠远程集中配置的方法。

 

要实现可跨资源池配置Prometheus,需要实现如下能力:于包括业务处理模块、事件推送器、事件监听器、路由模块、同步确认模块、监控中心监察器和位于远端的Agent模块。

具体实现逻辑如下:

1、业务处理模块先插入配置数据的事务内包含插入一条待同步任务的数据到数据库,然后将配置数据发送到时间推送器。

2、事件推送器将包含前面所述的待同步任务数据的同步事件ID推送到Spring事件中心

3、事件监听器监听到事件推送器同步任务事件后,根据同步事件ID从数据库中加载关联的配置信息,转换成Json报文,并对报文进行签名后通过Http Post方式发送到路由模块。

4、路由模块,包含有远端Agent路由表的数据并且可以将请求转发至远端的Agent模块。

5、远端Agent模块与Prometheus位于相同的主机,收到配置同步请求后,对报文进行签名验证,验证通过后回复已确认收到请求。同时发起异步生成Yaml配置文件任务,异步生成配置文件任务包括产生配置文件、重新加载Prometheus和将带有同步事件ID的同步确认报文签名后发送回同步确认模块。

6、同步确认模块可以接收远端Agent发送的同步确认请求,验证前面第1点所述的待同步任务的数据已同步。

7、监控中心监察器包含Scheduler模块,所述Scheduler模块用于扫描超过同步开始时间超过3分钟,状态是未确认的同步任务,更新数据库同步时间后通过前面第2所述的事件推送器推送到Spring事件中心。

 


 

通过这样提一套机制,可以实现可靠的Prometheus联邦集群统一配置。

0条评论
0 / 1000
z****n
1文章数
0粉丝数
z****n
1 文章 | 0 粉丝
z****n
1文章数
0粉丝数
z****n
1 文章 | 0 粉丝
原创

一种集中配置联邦集群Prometheus的方法

2024-07-01 03:26:53
8
0

Prometheus是一款流行的开源监控工具,配合alertmanager和部署在节点的各种exporter可以实现对服务器和部署应用的性能监控和告警能力。

在实际生产部署中,可能还会有多资源池(数据中心)、多VPC部署的场景,这就需要用到联邦集群部署。

 


 

 

为了更好配置分布在各个数据中心的Prometheus节点,需要一种可以可靠远程集中配置的方法。

 

要实现可跨资源池配置Prometheus,需要实现如下能力:于包括业务处理模块、事件推送器、事件监听器、路由模块、同步确认模块、监控中心监察器和位于远端的Agent模块。

具体实现逻辑如下:

1、业务处理模块先插入配置数据的事务内包含插入一条待同步任务的数据到数据库,然后将配置数据发送到时间推送器。

2、事件推送器将包含前面所述的待同步任务数据的同步事件ID推送到Spring事件中心

3、事件监听器监听到事件推送器同步任务事件后,根据同步事件ID从数据库中加载关联的配置信息,转换成Json报文,并对报文进行签名后通过Http Post方式发送到路由模块。

4、路由模块,包含有远端Agent路由表的数据并且可以将请求转发至远端的Agent模块。

5、远端Agent模块与Prometheus位于相同的主机,收到配置同步请求后,对报文进行签名验证,验证通过后回复已确认收到请求。同时发起异步生成Yaml配置文件任务,异步生成配置文件任务包括产生配置文件、重新加载Prometheus和将带有同步事件ID的同步确认报文签名后发送回同步确认模块。

6、同步确认模块可以接收远端Agent发送的同步确认请求,验证前面第1点所述的待同步任务的数据已同步。

7、监控中心监察器包含Scheduler模块,所述Scheduler模块用于扫描超过同步开始时间超过3分钟,状态是未确认的同步任务,更新数据库同步时间后通过前面第2所述的事件推送器推送到Spring事件中心。

 


 

通过这样提一套机制,可以实现可靠的Prometheus联邦集群统一配置。

文章来自个人专栏
技术手记
1 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0