前言:非专业架构师(上次考高架选择题差了三分,就三分,想到就很抓狂ing,呜呜呜),可能架构图不是很多图案用的不对,只是大概示意,如果有错误,还望大佬指点。
一、 使用场景
需要对服务器、数据库、中间件和各种业务进行实时监控并预警,并且需要实现高可用部署,提高监测系统的可用性;同时对监控数据进行指定时长的持久化存储,保证数据安全性。
二、简单架构示意图
下面图片展示的是简单的Prometheus高可用架构部署,可以用于中小项目及相同网络下的监控需求。需要注意的是:这里只考虑到同一网络下所有组件可以互通情况下的高可用,这需要prometheus能连通到所有的采集器上。如果存在多种网络,例如内网、互联网不互通的情况下,这种方案需要开通大量防火强和网关端口,则不建议使用此方案。
三、存在多种网络下的高可用架构
下面图片展示的是带有用户操作的可配置化监测系统及高可用Prometheus架构的示意图。用户监测系统具体功能有:用户自定义规则和自动注册服务,流程化匹配监控指标和预警人员,避免人工配置编写规则文件和预警信息,实现可拖拽的流程化配置监控功能。
系统实现了多种网络下的高可用的部署,可以避免开启大量内网和外网之间的网络设备和防火墙等端口,提高系统安全性。数据可持久化的同时可以自定义配置可视化图表等。
并且这种架构方案有很大的可拓展性,比如自定义新的采集器后,不需要更改配置文件,可在界面上自动化注册。而如果需要在新的网络环境下的部署一套,也可以通过修改少量配置文件后热加载直接使用,避免重启和关停,保证系统的可用性!