所在的位置: mysql >> mysql资源 >> PrometheusvsZabbix简单

PrometheusvsZabbix简单

白癜风医院诚信承诺 http://nb.ifeng.com/a/20180413/6502255_0.shtml

PrometheusvsZabbix简单对比

介绍

对于成功的企业,您需要引入一个有效的监控系统,涵盖您的业务和基础设施的所有领域——服务器、数据库、服务、存储、应用等。一个高效的监控系统应该为指标的收集、存储、计算/预测、可视化和告警提供服务。找到一个可以符合自己公司环境的监控工具更是一个相当大的挑战。

在运维监控选择中,开源工具是运维人员经常会考虑到的,本文重点讲下Prometheus和Zabbix,Zabbix是老一代工具,Prometheus是新一代工具。两者有何不同?

Prometheus概述

Prometheus为其用户提供强大的查询语言、存储和可视化功能。它可以实时采集指标并将它们记录在时间序列数据库中。Prometheus提供了一个多维数据模型,允许按名称或标签定义指标,以将它们标识为唯一时间序列的一部分。它是用Go编写的,源代码可在GitHub上获得。作为一个开源项目,Prometheus拥有广泛的社区支持,全球有很多使用者。

Zabbix概述

Zabbix可以监控网络、服务器、应用程序、虚拟机和云服务等。可以收集指标、检测问题、可视化、发送通知。Zabbix有一个Web界面,可以提供所有统计数据、可视化和参数设置。Zabbix本身不存储数据,但它可以使用常用的数据库。Zabbix的后端是用C编写的,而Web前端是用PHP编写的。

重点比较

收集指标

Prometheus是一个具有广泛内置功能的工具,因此Prometheus用户无需安装各种插件或守护程序即可收集指标。服务检测也是自动的。Prometheus可以定期从目标系统中采集指标。也可以使用推送机制收集指标。

由于Zabbix最初是为监控服务器而开发的,因此它专注于主机。从用户的角度来看,Zabbix分为两大部分:服务端和代理端。服务用于收集和存储统计数据,代理用于采集数据。Zabbix代理支持被动(轮询)和主动检查。被动检查是指Zabbix服务向Zabbix代理请求一个值,代理处理该请求并将该值返回给Zabbix服务。主动检查是指Zabbix代理从Zabbix服务请求一个主动检查列表,然后定期发送结果。

在没有安装代理选项的情况下,Zabbix可以检查网络服务的可用性,以及执行远程命令。

数据存储

Prometheus将数据存储在自己的时间序列数据库(TSDB)中。Prometheus拥有自己的TSDB,可以接收和处理比许多其他监控系统更多的指标。Prometheus甚至可以使用毫秒分辨率时间戳写入数据。Prometheus本身最多只能存储14天的数据,如需更长的数据存储时间,您可以配置远程存储。

Zabbix使用外部数据库来存储数据。Zabbix数据库必须在安装期间创建。当前支持以下数据库:MySQL、PostgreSQL、Oracle、IBMDB2和SQLite。

Prometheus和Zabbix的区别,必须要考虑到,Prometheus只存储时间序列的值。它不适用于文本、日志或事件日志。不过可以通过Grafana的Loki与Prometheus一起使用,可以解决这个问题,但Zabbix可以提供开箱即用的基本功能,用于存储一些文本、日志、分析设置触发器。

查询

Prometheus有自己的查询语言,称为PromQL(Prometheus查询语言)。PromQL非常灵活、简单且功能强大。它可以将函数和运算符应用于度量查询、过滤、按标签分组,并使用正则表达式来改进匹配和过滤。表达式的结果既可以显示为图形,也可以在Prometheus的表达式浏览器中以表格数据的形式显示,或者由外部系统通过HTTPAPI使用。

Zabbix在查询方面没有那么灵活。它使用项目键来获取指标。

可视化

Prometheus有一个简单的可视化工具,称为ExpressionBrowser。表达式浏览器不具备完整监控面板的功能。可以使用它对存储的指标进行深入查询。但不会展示需要长时间观看的指标。它就像一个探索控制台,只能查询数据库、动态更改查询并找出问题的答案。

为了能够充分展示和分析指标的图表化,需要安装一个成熟的可视化工具,例如Grafana。Grafana包含对Prometheus的内置支持,而且它是免费的。所以,一般客户环境中,都是这两种工具搭配使用。

Prometheus表达式浏览器:

Grafana仪表板:

Zabbix包含一个本地Web界面,该界面提供具有灵活设置的仪表板。无需安装或配置任何其他内容。Zabbix的Web界面提供了多种方式来呈现IT环境可视化概览:基于小部件的仪表板、图表、网络地图、幻灯片、向下钻取。默认情况下,Zabbix前端提供了几个预定义的主题。此外,用户可以创建自己的主题。

告警

使用Prometheus告警功能,需要安装Alertmanager。这是因为Prometheus的警报分为两部分。首先,您在Prometheus服务中定义告警规则,它将告警发送到Alertmanager。然后Alertmanager通过降噪、抑制、聚合和发送通知来管理这些告警。

Alertmanager将类似性质的告警聚合,以避免重复。当许多系统同时发生故障时,这在较大的事故中特别有用。

与可视化的情况一样,Zabbix具有内置的告警功能。使用Zabbix,可以使用许多不同的渠道和选项将事件的发生通知负责人员。Zabbix告警系统允许以不同的方式管理事件:发送消息、执行远程命令、根据用户定义的服务级别升级问题等等。还可以通过选择要包含的信息(例如日期、时间、主机名、项目的值、触发器的值、主机配置文件、升级历史记录等)来发送指定的人员。




转载请注明:http://www.aierlanlan.com/rzgz/2805.html