prometheus与zabbix监控的对比介绍
一、普米与zabbix基本介绍
1、prometheus介绍
Prometheus的基本原理是Prometheus Server通过HTTP周期性抓取被监控组件的监控数据,任意组件只要提供对应的HTTP接口并且符合Prometheus定义的数据格式,就可以接入Prometheus监控。
工作流程大致分为收集数据,存储数据,展示监控数据,监控告警。
核心组件包括:
Exporters:监控数据采集器
Prometheus Server:负责对监控数据的获取,存储以及查询
AlertManager:告警流程管理
PushGateway:当网络需求无法满足时就可以使用PushGateway作为中转站。
Prometheus后端数据库用的自带的时序数据库TSDB,按时间索引性能更高。也支持其他远端数据库,但效率会有所下降。
普米架构图

2、Zabbix介绍
Zabbix的基础原理是Zabbix Server抓取监控组件的监控数据或者接收主动推送监控数据。支持在每个网络区域内部署一个Zabbix Proxy,即 Zabbix 的代理服务器,代理服务器采集当前区域的监控组件的监控数据。并将采集到的数据推送给 Zabbix Server 进行后续处理,
工作流程大致分为agent发送数据,sever存储数据,展示监控数据,监控告警。
核心组件:
Agent:主要负责采集数据并通过主动或者被动的方式采集数据发送到Server/Proxy,除此之外,为了扩展监控项,Agent还支持执行自定义脚本。
Server:要负责接收Agent/Proxy发送的监控信息,并进行汇总存储,触发告警等。
Zabbix Web : zabbix的GUI接口,通常与server运行在同一台机器上
Proxy:可选组件,常用于分布式监控环境中,代理Server收集部分被监控数据并统一发往Server端,减轻Sever端负载。
Zabbix Database支持常用的关系型数据库,如MySQL、PostgreSQL、Oracle等,默认是MySQL。现6.0版本支持TimescaleDB,关系数据库较常用,学习成本低。
zabbix架构图

二、功能测试对比
1、基础监控指标对比
注:本次监控指标测试以主要在用的LINUX、mysql对象为例。
监控LINUX主机指标对比:
Zabbix内置指标通过agent进行采集,agent安装后需要配置文件。
prometheus由官方提供node_exporter采集器进行采集。直接解压缩运行。

监控mysql指标对比:
Zabbix支持agent、agent2两种客户端,agent2集成部分数据库、ceph、red采集插件,不需要在客户端另外配置。
Prometheus由官方提供mysqld_exporter采集器进行采集。

监控指标测试结论:
采集指标项上:Prometheus相较zabbix监控指标项更细。
采集频率上:zabbix可根据指标自定义频率,prometheus通过统一参数scrape_interval配置采集频率。
自定义监控指标上:zabbix提供agent+自定义脚本方式采集、配置繁琐, prometheus需要对源码进行二次开发困难。
采集分组情况上:Zabbix可通过agent采集多个业务组件,管理方便。 Prometheus需要部署多个exporter采集不同的业务组件,服务端口不固定。
2、云原生k8s监控对比
Zabbix 6.0 LTS新增Kubernetes监控功能
多个维度采集指标:
Kubernetes节点和pods的自动发现和监控
无代理方式采集Kubernetes pods和节点的信息
获取Kubernetes节点主机高水平信息:
kube-controller-manager、kube-apiserver、kube-scheduler、kubelet
监控部署方式
ZABBIX6.0提供HELM方式部署,将ZABBIX AGENT和ZABBIX PROXY等部署在Kubernetes集群中。并提供相应的模板,对Kubernetes集群进行自动发现及数据采集。
测试结论
ZABBIX6.0LTS版本虽然支持Kubernetes监控,原生模板监控项目前无法满足所需采集指标,需再自定义定制更丰富的监控项。
Prometheus监控Kubernetes更有优势,k8s组件自带采集接口,普米自动发现k8s组件Targets,抓取metrics数据,且两者出自于统一基金会,适配度更佳,对集群数据采集更全面。
3、高可用架构对比
zabbix高可用
Zabbix6.0 支持原生 Zabbix server 高可用HA集群。
Zabbix HA由多个zabbix_server实例或节点组成。每个节点独立配置,集群为主备模式,standby(备用)节点不进行数据收集、处理或其他任务,并且不监听端口,并保持一个最少的数据库连接。
在 Zabbix 仪表板或Runtime运行时的命令行上可监控 Zabbix 集群的状态。
Zabbix 支持部署Zabbix proxy ,有利于分担 Zabbix server 的负载。

普米高可用
支持Federation联邦集群机制。集群分布式类似于nginx的负载均衡模式。
联邦集群核心在于每一个prometheus server都包含一个用于获取当前实例中监控样本的接口 ,每个server处理接收监控数据。
不同类型的采集任务划分到不同的 Prometheus 实例中去执行,进行功能分片。

对比优缺点
高可用配置方面:Zabbix HA 配置简单,操作维护成本低。
普米需要考虑数据持久化的问题。分层架构带来的配置复杂,维护成本较高。
联邦模式可以实现prometheus监控prometheus。
4、部署方式、版本升级方式对比
zabbix部署、升级方式
支持 二进制文件安装、源代码包安装、容器中安装三种方式。
容器化部署和版本开发迭代最简单快捷,zabbix各组件容器中单独运行,互不影响。
纯容器化部署存在采集压力过大影响容器集群、数据持久化问题。
需部署客户端agent采集程序。
zabbix版本升级过程复杂,特别跨版本的升级,需完成大量检查、验证工作。升级版本sever和proxy需保持一致,agents 不是强制性的(但推荐)。

普米部署、升级方式
支持源代码包安装、容器中安装两种方式。监控、告警和界面都分属于不同的组件,都需要安装。
容器化部署更简单快捷,容器适配性更好。
客户端需安装exporter采集器命令。
普米目前版本更新不大,2.0升级包含许多向后不兼容的更改,官方也无实际升级步骤,只有更新版本的迁移指南。
两者对比优缺点
都可以容器化部署,普米部署更方便些。
zabbix客户端需安装agent服务,普米客户端安装exporter命令,zabbix-agent安装维护更复杂繁琐。
zabbix版本升级过程更复杂且迭代比较快。

三、选型建议-prometheus和zabbix全面对比情况

所以,需要根据不同的IT架构选型适合当前环境的监控软件,在传统架构里zabbix更有优势,但在云原生下现阶段还是普米用的多点。
There are many things that can not be broken!
如果觉得本文对你有帮助,欢迎点赞、收藏、评论!
相关文章:
prometheus与zabbix监控的对比介绍
一、普米与zabbix基本介绍 1、prometheus介绍 Prometheus的基本原理是Prometheus Server通过HTTP周期性抓取被监控组件的监控数据,任意组件只要提供对应的HTTP接口并且符合Prometheus定义的数据格式,就可以接入Prometheus监控。 工作流程大致分为收集数…...
详解全志R128 RTOS安全方案功能
介绍 R128 下安全方案的功能。安全完整的方案基于标准方案扩展,覆盖硬件安全、硬件加解密引擎、安全启动、安全系统、安全存储等方面。 配置文件相关 本文涉及到一些配置文件,在此进行说明。 env*.cfg配置文件路径: board/<chip>/&…...
【MySQL】WITH AS 用法以及 ROW_NUMBER 函数 和 自增ID 的巧用
力扣题 1、题目地址 601. 体育馆的人流量 2、模拟表 表:Stadium Column NameTypeidintvisit_datedatepeopleint visit_date 是该表中具有唯一值的列。每日人流量信息被记录在这三列信息中:序号 (id)、日期 (visit_date)、 人流量 (people)每天只有…...
基于SpringBoot的在线考试系统源码和论文
网络的广泛应用给生活带来了十分的便利。所以把在线考试管理与现在网络相结合,利用java技术建设在线考试系统,实现在线考试的信息化管理。则对于进一步提高在线考试管理发展,丰富在线考试管理经验能起到不少的促进作用。 在线考试系统能够通…...
基于Spring Boot的美妆分享系统:打造个性化推荐、互动社区与智能决策
基于Spring Boot的美妆分享系统:打造个性化推荐、互动社区与智能决策 1. 项目介绍2. 管理员功能2.1 美妆管理2.2 页面管理2.3 链接管理2.4 评论管理2.5 用户管理2.6 公告管理 3. 用户功能3.1 登录注册3.2 分享商品3.3 问答3.4 我的分享3.5 我的收藏夹 4. 创新点4.1 …...
Axure医疗-住院板块,住院患者原型预览,新增医护人员原型预览,新增病房原型预览,选择床位原型预览,主治医生原型预览,主治医生医嘱原型预览
目录 一.医疗项目原型图-----住院板块 1.1 住院板块原型预览 1.2 新增住院患者原型预览 1.3 新增医护人员原型预览 1.4 新增病房原型预览 1.5 选择床位原型预览 1.6 主治医生原型预览 1.7 主治医生医嘱原型预览 1.8 主治医生查看患者报告原型预览 1.9 护士原型预…...
前端实战第一期:悬浮动画
悬浮动画 像这样的悬浮动画该怎么做,让我们按照以下步骤完成 步骤: 先把HTML内容做起来,用button属性创建一个按钮,按钮内写上悬浮效果 <button classbtn>悬浮动画</button>在style标签内设置样式,先设置盒子大小&…...
Python学习笔记(五)函数、异常处理
目录 函数 函数的参数与传递方式 异常处理 函数 函数是将代码封装起来,实现代码复用的目的 函数的命名规则——同变量命名规则: 不能中文、数字不能开头、不能使用空格、不能使用关键字 #最简单的定义函数 user_list[] def fun(): #定义一个函数&…...
Vue实现模糊查询
在Vue中实现模糊查询,你可以使用JavaScript的filter和includes方法,结合Vue的v-for指令。下面是一个简单的例子: 首先,你需要在你的Vue实例中定义一个数据数组和一个查询字符串。 data() { return { items: [Apple, Banana, Che…...
【十一】【C++\动态规划】1218. 最长定差子序列、873. 最长的斐波那契子序列的长度、1027. 最长等差数列,三道题目深度解析
动态规划 动态规划就像是解决问题的一种策略,它可以帮助我们更高效地找到问题的解决方案。这个策略的核心思想就是将问题分解为一系列的小问题,并将每个小问题的解保存起来。这样,当我们需要解决原始问题的时候,我们就可以直接利…...
主板部件
▶1.主要部件 主板是计算机的重要部件,主板由集成电路芯片、电子元器件、电路系统、各种总线插座和接口组成,目前主板标准为ATX。主板的主要功能是传输各种电子信号,部分芯片负责初步处理一些外围数据。不同类型的CPU,需要不同主板与之匹配。…...
2023年度学习总结
想想大一刚开始在CSDN写作,这一坚持,就是我在CSDN的第九个年头,这也是在CSDN最有里程碑的一年,这一年我被评为CSDN的博客专家啦!先是被评为Unity开发领域新星创作者,写的关于一部分Unity开发的心得获得大家…...
服务器感染了.kann勒索病毒,如何确保数据文件完整恢复?
导言: 勒索病毒成为当前网络安全领域的一大威胁。.kann勒索病毒是其中的一种变种,对用户的数据造成了极大的威胁。本文91数据恢复将介绍.kann勒索病毒的特征、应对策略以及预防措施,以帮助用户更好地保护个人和组织的数据安全。当面对被勒索…...
使用results.csv文件数据绘制mAP对比图
yolov5每次train完成(如果没有中途退出)都会在run目录下生成expX目录(X代表生成结果次数 第一次训练完成生成exp0 第二次生成exp1…以此类推)。expX目录下会保存训练生成的weights以及result.txt文件,其中weights是训练…...
【算法刷题】## 算法题目第1讲:双指针处理数组题目 带视频讲解
算法题目第一讲:双指针处理数组题目 解决力扣: [344. 反转字符串][167. 两数之和 II - 输入有序数组][26. 删除有序数组中的重复项][27. 移除元素][283. 移动零][5. 最长回文子串] 配合b站视频讲解食用更佳:https://www.bilibili.com/video/BV1vW4y1P…...
达梦数据:数字化时代,国产数据库第一股终于到来?
又是新的一年开始。回首一年前的此时,在大家千呼万唤地期待中,数据基础制度体系的纲领性文件正式发布。 时隔一年之后,数据资源入表如约而至。2024年1月1日《企业数据资源相关会计处理暂行规定》正式施行,各行各业海量数据巨大的…...
selenium4.0中常见操作方式50条
前阵子升级了py3.9,一些常年陪伴的库也都做了升级,不少命令也更新了,适度更新一下记忆。 1. 打开浏览器:driver webdriver.Chrome() 2. 访问网址:driver.get("Example Domain") 3. 获取当前网址ÿ…...
如何解决使用融云音视频时由于库冲突导致编译不通过的问题
音视频库里面使用了一些第三方库,比如 openssl,libopencore-amrnb 等第三方库,如果集成的过程中遇到冲突可以尝试这样修改: 1、在 Build Settings 中 Other Linker Flags 中把 -all_load 去掉; 2、如果遇到 openssl 库…...
ISP 基础知识积累
Amber:现有工作必要的技术补充,认识需要不断深入,这个文档后续还会增加内容进行完善。 镜头成像资料 ——干货满满,看懂了这四篇文章,下面的问题基本都能解答 看完思考 1、ISP 是什么,有什么作用ÿ…...
Android Studio新手实战——深入学习Activity组件
目录 前言 一、Activity简介 二、任务栈相关概念 三、常用Flag 四、结束当前Activity 五、Intent跳转Activity 六、更多资源 前言 Android是目前全球最流行的移动操作系统之一,而Activity作为Android应用程序的四大组件之一,是Android应用程序的核…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
sshd代码修改banner
sshd服务连接之后会收到字符串: SSH-2.0-OpenSSH_9.5 容易被hacker识别此服务为sshd服务。 是否可以通过修改此banner达到让人无法识别此服务的目的呢? 不能。因为这是写的SSH的协议中的。 也就是协议规定了banner必须这么写。 SSH- 开头,…...
《信号与系统》第 6 章 信号与系统的时域和频域特性
目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...
React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构
React 实战项目:微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇!在前 29 篇文章中,我们从 React 的基础概念逐步深入到高级技巧,涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...
PydanticAI快速入门示例
参考链接:https://ai.pydantic.dev/#why-use-pydanticai 示例代码 from pydantic_ai import Agent from pydantic_ai.models.openai import OpenAIModel from pydantic_ai.providers.openai import OpenAIProvider# 配置使用阿里云通义千问模型 model OpenAIMode…...
【多线程初阶】单例模式 指令重排序问题
文章目录 1.单例模式1)饿汉模式2)懒汉模式①.单线程版本②.多线程版本 2.分析单例模式里的线程安全问题1)饿汉模式2)懒汉模式懒汉模式是如何出现线程安全问题的 3.解决问题进一步优化加锁导致的执行效率优化预防内存可见性问题 4.解决指令重排序问题 1.单例模式 单例模式确保某…...
