像MIUI一样做Zabbix二次开发(3)——Zabbix深度定制的意义
深度定制的意义
综合来讲,Zabbix是一个非常强大的监控平台,简单拿来完成监控一些Hosts,没有什么问题,而且,目前国内大部分客户都是这么做的,基本上是安装完后,网上找到一些相关模板,配置后把Hosts监控起来就差不多了,当然也不乏像PPTV、携程、唯品会等这样优秀的互联网公司,做了深度定制和改造。
一个剥离的工具平台
Zabbix的所有监控对象都被认为是Host,包括主机、网络设备、中件间和数据库等等,这样除了做监控之后的运维管理工作就很不方便了,比如说配置管理、统计报表、权限、知识库、业务服务管理、CFIA等都会受影响。所以,原生的Zabbix仍然是一个原生的高度剥离的工具平台。

其他问题
1. 性能瓶颈,监控系统没有低估高峰期,具有持续性和周期性,机器量越大,数据的增大会使数据库的写入成为一定的瓶颈,每秒1万个指标,据说4.0每秒40万个指标
2. 项目二次开发,需要分析MySQL表结构,表结构非常复杂,对开发能力有较高要求。
3. 内置housekeeping在执行过程中会对数据库增加压力,需要对数据库进行优化
4. 图形功能较为单一、简陋
5. 使用有难度,要求操作人员的技术水平很丰富且全面, 需要熟悉被监控对象, 已经具备相当的开发能力
6. API介绍比较粗糙,如果数据库表结构更改可能会影响api调用
7. Zabbix 监控的模板比较复杂,没有一个比较简洁易懂监控模板创建的向导,使得模板配置比较困难
8. Zabbix 的用户权限控制粒度不够
9. Zabbix的交互界面还不美观,操作不人性化
当然,还有那些你没有深入使用,永远也发现不了的坑
显性化的需求
在界面展示上,目前使用较多的Grafana+Zabbix,能达到一定的展示效果,实施效果如下图:

也有58同城运维团队开源的Zatree插件,实施效果如下

如果要求再高一些,就有些困难了,经常可以看到希望可以用ECharts展示Zabbix数据的需求,甚至可以看到不少Zabbix数据与第三方商业显示插件的集成需求。
深度集成的需求
监控软件于信息化体系不是孤立存在的,把监控平台独立成一个信息孤岛,是不符合信息化的初衷,可能存在的集成系统列举如下:
1. 其他运维工具:ITSM(也可能是独立的工单系统、服务台系统、CMDB或资产管理系统)、动环管理系统、APM系统、DevOps系统、自动化运维工具平台、日志平台、端对端拨测系统、安全系统、4A系统、审计系统私有云平台等;
2. 消息通知:短信、微信、邮件、钉钉、内部IM系统等;
3. 组织架构系统:组织架构、人员同步、权限系统、单点登录系统等
4. 统一展示:Portal系统、投屏、OA系统、微信公众号、业务数据统一呈现等
5. 其他:组织APP、企业知识库、音视频交互平台、大数据平台等
信息系统的集成是信息化建设非常困难的一环,数据信任、源数据稳定、接口对接、例外处理,考验着信息化整合架构能力和信息系统质量。
业务保障的需要
监控的核心意义在于保障业务系统高可用性,尤其是核心业务系统的高可用性,而不只是监控那些Hosts,完成那些Host的监控只是完成了第一步,还需要做好两道必选题:
1. Hosts和业务系统存在怎样的关系
2. 业务系统出现故障时,哪些Hosts的状态和性能存在什么直接或间接影响
3. 当前Hosts的告警,到底对哪些其他Hosts或业务系统存在怎样的影响
像MIUI一样做Zabbix二次开发(3)——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.为什么要二次开发? 随着信息化技术 ...
随机推荐
- WPFMVVM实现ICommand与INotifyPropertyChanged接口
话不多说直接上代码 INotifyPropertyChanged实现代码 internal class NotifyBase : INotifyPropertyChanged { public eve ...
- Word19 撰写企业质量管理论文office真题
1.看到题目要求:打开考试文件下的素材文档"WPS.docx"文件,后续操作均基于此文件,否则不得分. 2.这一步的操作非常简单,打开文件目录进行双击打开即可完成操作. 3.看到题 ...
- PHP 调用外部接口
//1.类中定义静态方法 class FtpService{ /** * 请求外网 * @param $url 外网接口url * @param bool $params 参数,拼接字符串 post请 ...
- 采集存储计算处理卡设计原理图:619-基于6U VPX的双FMC ZU19EG 采集存储计算处理卡
619-基于6U VPX的双FMC ZU19EG 采集存储计算处理卡 基于6U VPX的双FMC ZU19EG 采集存储计算处理卡 一.板卡概述 该板卡是采集.存储.计算.管理一体的高集成度.加固 ...
- 面向对象基础之基础—控制台C#模拟银行ATM存取操作实例
c#控制台应用程序ATM银行操作实例.主要介绍了设计的方法:使用的类介绍:具体的运行界面:程序代码.代码直接写在一起放在Programm.cs中,拷贝可直接运行. 一.设计 1.原则上采用三层:(1) ...
- 报错:cannot import name ‘escape’ from ‘jinja2’
jinja2版本问题导致 解决方法: 降低版本即可 pip3 install Jinja2==3.0.3 -U pip3 install werkzeug==2.0.3 -U jinja2介绍 jin ...
- 汇总-软件-分类:SSH客户端工具
官网-FinalShell 官网-Tabby GitHub-Tabby
- 探索如何在java中执行python脚本
一个偶然的场景,笔者需要在java代码中执行某个python脚本,并且需要向脚本中传递参数,有可能的话,还要获取该脚本的某些执行结果,回到主程序中继续执行下去. 没有思路之前,狭隘的想法是,java中 ...
- Windows2016安装.NetFramework 3.5
Windows2016安装.NetFramework 3.5 Windows2016服务器默认安装的是 .Net 4.6.2版本,但是有时候我们经常会需要用到.Net 3.5版本.以下介绍的是在线和离 ...
- Word发博客测试
这是一篇来自word的文章测试,测试word写博客发布效果. 操作参考:http://www.cnblogs.com/liezhengli/p/5854470.html 关键在于找到博客园的MetaW ...