像MIUI一样做Zabbix二次开发(2)——Zabbix与商业及开源产品的比较分析
Zabbix的特点
Zabbix是一个基于WEB界面的提供分布式系统监控的开源解决方案,通过浏览器监视,做到告警分级处理、网络访问安全可控,该开源平台在全球有广泛的用户基础,他的特点:
开放性:源代码全公开,任何用户都可以编译和发布自己的版本。同时,社区和互联网可以找到大量的模版。
可扩展性:支持用户自定义监控项,只要能想得到的KPI,基本都能监控的到。
数据采集:可用性和性能检测,自动发现,支持agent、SNMP、JMX、telnet等多种采集方式,支持主动和被动模式数据传输
高可用:server对设备性能要求低,支持proxy分布式监控,分布式集中管理,开放式接口,扩展性强
告警管理:支持多条件告警,支持多种告警方式,
模板能力:支持多组模板,模板继承。
告警设置:告警周期,告警级别,告警恢复通知、告警暂停,时段阈值、支持维护周期、支持单机停用
历史数据:历史数据查询可配置,内置housekeeping数据清理机制
安全审计:具备安全的用户审计日志,权限认证,用户可以限制允许维护的列表。
无商业版本:平台本身没有商业版和社区版本的区分,ZABBIX只对商业服务收费(如培训、定制开发、部署服务等)。
等等
Zabbix的全栈监控能力:官网有一名非常“嚣张“的话,Monitor everything!


与其他商业产品对比
各个大厂都有提供相关监控产品,比如说微软的SCOM,IBM的Tivoli,华为的Esight,HP的BSM等,如果环境都是单一的某一家厂家的产品,用该厂家提供的监控工具肯定是合适的,笔者就曾经深度使用过SCOM,2005年还叫MOM,是System Center中的一个套件,这个产品对于微软周边的产品如AD、Exchange、Windows、SQL Server、SharePoint、Lync等监控非常深入,同时微软官方还提供了相关故障知识库,报表也做得非常不错,九一乐维团队甚至在2011年以前还拿SCOM做过定制开发。
但是,如果拿SCOM去监控Linux、AIX、Oracle或者网络通讯设备就很非常不合适了。
Zabbix很好地平衡了监控的深度和广度,而且源于开源的力量,在全球用户的持续贡献下,他的深度和广度是在持续不断地延展的。
以下引用翔华兄(Shawn沙恩)的一张图说明Zabbix的深度和广度,见:https://www.jianshu.com/u/c7663d8c3fa8。

与其他开源项目对比
前文提到在IT Central Station中,Nagios X排在Zabbix的前面,九一乐维团队在定技术方向时,也深刻对比过,两者简言之:Zabbix安装好后,做一些简单的设置基本上就可以用了,Nagios X部署完成后相关于只是一个平台,然后需要安装第三方插件才能取作用。
详细对比如下:
当然,市面上还有诸如:Open-Falcon、Zenoss、Ganglia、Prometheus、Cacti等开源产品,简单分析如下:
Open-Falcon:小米开源,时间不长,成熟度有待提高,现在的版本是V1.0
Zenoss:区分社区版和企业版本,资源消耗高,社区版本有些鸡肋
Ganglia:适合监控系统性能,成熟度和完整度不高,如报警、消息系统,需要更多二次开发
Prometheus:开源的业务监控和时序数据库,刚发布2.0,在稳定性、性能、文档上仍有很大提升空间,互联网上可用资料,案例还不丰富
Cacti:通过 SNMPget来获取数据,使用 RRDtool绘画图形,画图功能强大,报警机制及相关功能不完善。
以上这些产品,我认为Prometheus会是个不错的方向,最根本是他的时序数据库,有兴趣的读者可以先行先试。
像MIUI一样做Zabbix二次开发(2)——Zabbix与商业及开源产品的比较分析的更多相关文章
- Zabbix二次开发_02获取数据
最近准备写一个zabbix二次页面的呈现.打算调用zabbix api接口来进行展示. 具体流程以及获取的数据. 1. 获得认证密钥 2. 获取zabbix所有的主机组 3. 获取单 ...
- Zabbix二次开发_03api列表_中文版
基于ZABBIX 3.0 https://www.zabbix.com/documentation/3.0/manual/api/reference 参考方法 本节提供了的zabbix提供的功能的概述 ...
- Zabbix二次开发_03api列表
基于zabbix 3.0 https://www.zabbix.com/documentation/3.0/manual/api/reference Method reference This sec ...
- Zabbix二次开发_01基础
最近有个想法:想做一个zabbix数据的二次呈现,所以来写一下Zabbix的api的内容. 先说下zabbix api的认证基础. Zabbix API简介 Zabbix API开始扮演着越来越重要的 ...
- 如何用Qt做SolidWorks二次开发
这个问题困扰了我2年了,之前找到的教程都是MFC的,ATL导入向导或是通过导入类型库的方式来调用控件,我一直都搞不明白. 最近学习了ActiveQT以及通过ActiveQT控制EXCEL.Word.P ...
- 基于Zabbix API文档二次开发与java接口封装
(继续贴一篇之前工作期间写的经验案例) 一. 案例背景 我负责开发过一个平台的监控报警模块,基于zabbix实现,需要对zabbix进行二次开发. Zabbix官方提供了Rest ...
- (50)zabbix API二次开发使用与介绍
zabbix API开发库 zabbix API请求和响应都是json,并且还提供了各种语法的lib库,http://zabbix.org/wiki/Docs/api/libraries,包含php. ...
- 自学Zabbix14.1 二次开发API
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix14.1 二次开发API Zabbix API我们可以做很多,自己开发web界面. ...
- 【phpcms-v9】phpcms-v9二次开发所必须知道的步骤(转载)
一.做phpcms-v9二次开发时,我们经常需要用到如下代码,所以有必须在这里注释说明一下 defined('IN_PHPCMS') or exit('No permission resources. ...
- 最好最实用的PHP二次开发教程
◆二次开发 1.什么是二次开发? 二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一般来说都不会改变原有系统的内核. 2.为什么要二次开发? 随着信息化技术 ...
随机推荐
- cuda+pytorch环境安装
本机cuda版本为v11.5 conda install cudatoolkit 使用 CUDA 11.3版本的配置 conda install pytorch==1.11.0 torchvision ...
- python ddt file_data
# -*- coding: utf-8 -*-"""------------------------------------------------- File Name ...
- 华为MA5626和S2700重置密码
MA5626和S2700交换机,初始化密码遇到的问题. 主要目的把两台设备改成普通二层交换机. 一.MA5626交换机 1.进入设备,发现有密码. 帐号:root 密码:mduadmin 2.使用空配 ...
- vue3 使用clodop打印插件实现不预览直接打印
一.下载安装C-LODOP https://www.lodop.net/download.html 解压文件后点击exe程序,启用服务 将上述的 LodopFuncs.js 文件放到工程某个文件下 二 ...
- nodejs web学习
命令行 和python一样,出奇的简单 npm i serve -g serve -s softwares 如果当前目录,就直接 serve express /** * 服务器代码 * 启动方式: * ...
- CodeGym自学笔记05——类名
1.Java 程序由类组成.每个类都存储在一个单独的文件中,其文件名称与类名一致.该文件的扩展名为 java. 2.当我们有许多类文件时,我们会将它们分组到文件夹和子文件夹中.此外,类还会被分组到包和 ...
- sheet.getLastRowNum()获取行数不准的问题
// 获得总共有多少行int rowNum = 0;//存在样式的空行.会被统计进来.所以主要的问题是要判断是否是空行.for (int num = 1; num <= sheet.getLas ...
- vue 使用mixin
mixin 混入 混入提供了一种非常灵活的方式,来分发Vue组件中可以复用的功能,一个混入对象可以包括任意的组件选项,当组件使用混入对象时,所有的混入对象的选项 将被'混合'进入该组件本身的选项,混入 ...
- 狄利克雷过程(Dirichlet Process)
先从狄利克雷过程的motivation开始说起,如果我们有一些数据,这些数据是从几个高斯分布中得出的,也就是混合高斯模型中得出的,比如下图这样 但是呢,我们并不知道混合高斯模型中到底有多少个高斯分布, ...
- 【yum】使用新的centos 6.9系统时,遇到的Yum问题
1,不识别域名 vi /etc/yum.conf 新增: nameserver 1.1.1.1(根据实际配置) 2,Header V3 RSA/SHA256 Signature, key ID 060 ...