像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.为什么要二次开发? 随着信息化技术 ...
随机推荐
- Java学习笔记(二)java流程控制
学习笔记2 Java流程控制 这次也是跟着[狂神说Java]Java零基础学习视频通俗易懂继续学习的,持续学习,你我共勉. 一. 用户交互Scanner 1. Scanner对象 之前学的基本语法没有 ...
- vue 事件传递原始 DOM 事件
vue 事件传递原始 DOM 事件 在事件传参中传递特殊变量 $event @click= "warn('1', $event)"
- vue跨行跨列动态表格生成
一.思路步骤: 根据后台传输的数据进行格式转化: 索引为多少的时候进行跨行: <table id="table"> <thead> <tr> & ...
- 【面试题】手写async await核心原理,再也不怕面试官问我async await原理
前言 async await 语法是 ES7出现的,是基于ES6的 promise和generator实现的 generator函数 在之前我专门讲个generator的使用与原理实现,大家没了解过的 ...
- WPF-序列化
public class SerializeHelper { #region 二进制格式 /// <summary> /// Binary 序列化使用前需要标记类可序列化 /// < ...
- vue3使用echarts插件并实现点击下载图表功能
接到一个新的需求,就是用vue3制作一幅世界地图,并实现点击下载按钮将图表转变为图片下载到本地. 使用插件: html2canvasnpm安装: npm install html2canvas组件引入 ...
- Linux学习 --- 网络基础知识
1.1 IP地址 IP地址由两部分组成 网络号和主机号 .网络号为IP地址的高位组成,而主机号是IP地址的低位组成,两个的大小取决于网络的类型. IP地址根据网络的地址不同分为:A类,B类,C类, ...
- docker 搭建 nginxconfig.io 文档
docker镜像仓库 https://hub.docker.com/r/devopstestlab/nginxconfig.io 获取镜像 docekr pull devopstestlab/ngin ...
- 【转载】Adobe Acrobat XI Pro闪退原因及解决办法
https://www.cnblogs.com/zohoo/p/12704689.html https://www.cnblogs.com/zohoo/p/12704689.html
- vue element ui table 自动无限滚动组件
<template> <el-table class="tableList" ref="rw_table" hei ...