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与商业及开源产品的比较分析的更多相关文章

  1. Zabbix二次开发_02获取数据

    最近准备写一个zabbix二次页面的呈现.打算调用zabbix api接口来进行展示. 具体流程以及获取的数据. 1.  获得认证密钥    2.  获取zabbix所有的主机组    3.  获取单 ...

  2. Zabbix二次开发_03api列表_中文版

    基于ZABBIX 3.0 https://www.zabbix.com/documentation/3.0/manual/api/reference 参考方法 本节提供了的zabbix提供的功能的概述 ...

  3. Zabbix二次开发_03api列表

    基于zabbix 3.0 https://www.zabbix.com/documentation/3.0/manual/api/reference Method reference This sec ...

  4. Zabbix二次开发_01基础

    最近有个想法:想做一个zabbix数据的二次呈现,所以来写一下Zabbix的api的内容. 先说下zabbix api的认证基础. Zabbix API简介 Zabbix API开始扮演着越来越重要的 ...

  5. 如何用Qt做SolidWorks二次开发

    这个问题困扰了我2年了,之前找到的教程都是MFC的,ATL导入向导或是通过导入类型库的方式来调用控件,我一直都搞不明白. 最近学习了ActiveQT以及通过ActiveQT控制EXCEL.Word.P ...

  6. 基于Zabbix API文档二次开发与java接口封装

    (继续贴一篇之前工作期间写的经验案例) 一.           案例背景 我负责开发过一个平台的监控报警模块,基于zabbix实现,需要对zabbix进行二次开发. Zabbix官方提供了Rest ...

  7. (50)zabbix API二次开发使用与介绍

    zabbix API开发库 zabbix API请求和响应都是json,并且还提供了各种语法的lib库,http://zabbix.org/wiki/Docs/api/libraries,包含php. ...

  8. 自学Zabbix14.1 二次开发API

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix14.1 二次开发API Zabbix API我们可以做很多,自己开发web界面. ...

  9. 【phpcms-v9】phpcms-v9二次开发所必须知道的步骤(转载)

    一.做phpcms-v9二次开发时,我们经常需要用到如下代码,所以有必须在这里注释说明一下 defined('IN_PHPCMS') or exit('No permission resources. ...

  10. 最好最实用的PHP二次开发教程

    ◆二次开发 1.什么是二次开发? 二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一般来说都不会改变原有系统的内核. 2.为什么要二次开发? 随着信息化技术 ...

随机推荐

  1. javaSE学习三

    数组 /*数组的基本特点一.其长度是确定的.数组-旦被创建,它的大小就是不可以改变的.二.其元素必须是相同类型,不允许出现混合类型.三.数组中的元素可以是任何数据类型,包括基本类型和引用类型.四.数组 ...

  2. MySQL线程池、连接池等概念

    一.MySQL连接池 1 连接池通常实现在client端,是指应用(客户端)预先创建一定的连接,利用这些连接服务于客户端所有的DB请求. 2 如果某一个时刻,空闲的连接数小于DB的请求数,则需要将请求 ...

  3. vue开发中,数据更新,但视图不刷新

    我们在开发过程中会碰到数据更新,但是视图并未改变的情况,情况如下: 第一种:动态给对象新增属性或者删除属性是不会触发视图刷新的,Vue识别不到: 第二种:通过数组下标修改数组中的元素或者手动修改数组的 ...

  4. codeforce B. Creating the Contest

    http://codeforces.com/contest/1029/problem/B 水题真快乐= = 1 public class Main { 2 public static void mai ...

  5. list变成String类型

    list变成String类型 CollectionUtils.isEmpty(vo.getImgs())?"" : String.join(";", (Stri ...

  6. 向mysql插入数据报错 pymysql.err.DataError: (1406, "Data too long for column 'class' at row 1") 解决方案

    这个问题一开始更换数据类型或者数据类型的大小,发现还是不行.后面通过网上查询了一条神奇的sql语句分分钟钟的解决了 问题原因明明是: 字段的长度不够存放数据 解决方案: 在mysql命令行输入如下:S ...

  7. url 编码解码

    from urllib import parse#url编码url = 'http://www.baidu.com?query = python基础教程'url_str = parse.quote_p ...

  8. Spring 常见注解及其作用

    1.@ConfigurationProperties    可以非常方便的把资源文件中的内容绑定到对象上       绑定单一属性值,绑定整个对象属性   2.@Value("${app.n ...

  9. Pytorch实战学习(八):基础RNN

    <PyTorch深度学习实践>完结合集_哔哩哔哩_bilibili Basic RNN ①用于处理序列数据:时间序列.文本.语音..... ②循环过程中权重共享机制 一.RNN原理 ① X ...

  10. flutter 图片加载缓存以及圆角的实现

    使用最多的图片缓存组建库cached_network_image 地址:cached_network_image 配置: dependencies: cached_network_image: ^2. ...