如果您目前正在寻找市场上最好的开源网络监控软件,Zabbix 和 Prometheus 可能是极具吸引力的选择。这两种产品具有不同的特点
Prometheus
Prometheus是一种灵活的监控解决方案,主要特点如下:
· 采用Go语言开发
· 多维数据模型(有metric名称和键值对确定的时间序列)
· 灵活的查询语言
· 时序数据库
· 通过pull方式采集时间序列,通过http协议传输
· 支持通过中介网关的push时间序列的方式
· 监控数据通过服务或者静态配置来发现
· 支持图表和dashboard等多种方式
Prometheus的安装
Prometheus支持Docker 容器部署,需要一个YML文件来配置服务器:
Prometheus 的安装配置是基于配置文件,不太直观,配置难度较大。
Prometheus的UI
Prometheus自带UI 很简单,只有基本功能。
不过您可以集成Grafana生成具有完整功能的仪表板:
但是整个集成非常繁琐和容易出问题。Prometheus本身很好,但UI这块不是太友好。、
Zabbix
Zabbix是一种成熟的企业级开源监控解决方案,支持数百万个指标的网络监控和应用监控。主要特点如下:
· 采用C和PHP开发
· 采用关系数据库存储,有计划支持时序数据库
· 安装与配置简单,学习成本低
· 支持自动发现服务器与网络设备
· 分布式监控以及WEB集中管理功能
· 支持无agent监控
· 通过WEB界面设置或查看监控
Zabbix的安装
Zabbix 支持4种安装方式
· 从 软件包安装;
· 编译安装;
· docker安装;
· 虚拟机安装。
Zabbix的安装文档写的非常好,照着做就可以了,比较简单
Zabbix的UI
Zabbix 的Web界面非常清晰,功能完备,配置管理和日常的监控都可以在WEB界面里完成。
Zabbix 提供自动发现模块,但无法自动添加主机。
真正导入自发现操作隐藏在仪表板右上角的筛选器:
您必须创建一个自发现操作,难度不是很大。
Zabbix的自动发现规则
除了自动发现,Zabbix提供REST API方式,支持第三方集成
结论
如果您是一个传统的IT环境,以监控网络,服务器和中间件为主。推荐使用Zabbix,成熟简单易用。如果您需要以云和容器为主的大规模监控,推荐使用Prometheus
閱讀更多 謅科技 的文章