一、概述
Zabbix和Prometheus都是开源监控体系,它们具有不同的特色和优势,因而很多人希望将它们集成在一起,以便充分利用它们的功能。以下是将Zabbix和Prometheus集成的一些进程:
- 装置和装备Prometheus:在装置和装备Prometheus之前,需求先确认您要监控的方针。可所以主机、容器、服务等等。装置和装备Prometheus的进程能够参考其官方文档。
- 装备Prometheus exporter:Prometheus exporter是一个用于将应用程序目标露出给Prometheus的署理程序。您需求装备exporter以将目标发送到Prometheus。例如,假如您要监控MySQL数据库,则能够运用mysqld_exporter。
- 装备Zabbix:装置并装备Zabbix服务器和署理程序。假如您已经运用Zabbix监控您的环境,则能够越过此进程。
- 装置和装备Zabbix插件:Zabbix插件是一个用于将Prometheus目标导入Zabbix的署理程序。您需求下载和装置Zabbix插件,并将其装备为将目标从Prometheus发送到Zabbix。
- 创立监控项:运用Zabbix创立监控项,以便显现从Prometheus搜集的目标。在监控项中,您能够界说触发器、报警等等。
- 创立图形:运用Zabbix创立图形以显现从Prometheus搜集的目标。
Zabbix 架构:
Prometheus 架构:
二、zabbix对Prometheus的支持分为两种
Zabbix对Prometheus的支持能够分为以下两种方法:
- Prometheus监控项:这种方法答应Zabbix直接从Prometheus获取监控目标,并将其显现在Zabbix监控仪表板中。您能够在Zabbix中创立Prometheus监控项,并界说触发器、报警等。这种方法需求在Zabbix中装置Prometheus exporter,以便将Prometheus目标露出给Zabbix。
- 经过装备主动发现获取prometheus监控数据。
这两种方法都具有一定的优缺点,因而挑选哪种方法取决于您的详细需求和偏好。运用Prometheus监控项或许愈加简略和直接,但在性能和灵活性方面或许不如Zabbix插件。运用Zabbix插件能够在Zabbix中会集处理和办理一切监控目标,但需求更多的装备和办理工作。
三、两种方法装备
1)Prometheus 监控项
第一步:先预备Prometheus数据源(http://192.168.182.138:31672/metrics)
第二步:在zabbix页面增加主机、应用集及监控项
1、装备监控项
2、数据类型挑选:浮点数
3、装备进程
参数框内输入: node_cpu_seconds_total{cpu=”0″,mode=”system”}
第一种方法装备完结,能够检查最新数据
2)Prometheus to json(经过装备主动发现获取prometheus监控数据)
1、增加监控项
2、挑选数据类型(就是存储整个源数据):文本
3、增加主动发现规矩
3、增加进程
- 进程中的参数经过promeQL语法获取我们想要的数据:node_filesystem_free_bytes{device=
“.*”,fstype=“.*”,mountpoint=~”.*”}
4、录制宏
{#FILESYSTEM} | $.labels[‘device’] |
---|---|
{#FSTYPE} | $.labels[‘fstype’] |
{#HELP} | $[‘help’] |
{#METRIC} | $[‘name’] |
{#MOUNTPOINT} | $.labels[‘mountpoint’] |
5、新建【监控项原型】
称号:Free Bytes For {#FILESYSTEM}
键值:node_filesystem_free_bytes[{#FILESYSTEM},{#FSTYPE},{#MOUNTPOINT}]
6、增加【进程】
参数:node_filesystem_free_bytes{device=”{#FILESYSTEM}”,fstype=”{#FSTYPE}”,mountpoint=”{#MOUNTPOINT}”}
第二种方法装备完结,能够检查最新数据
以上就是这两种方法的简略装备,这儿仅仅针对部分目标收集,自己能够依据规则进行扩展,收集其它的目标数据~
这儿仅仅简略的介绍了这两种集成方法,有任何疑问欢迎给我留言,后续会更新相关技能文章,也可重视我的大众号【大数据与云原生技能分享】加群或私信沟通~