像MIUI一样做Zabbix二次开发(4)——乐维监控定制Zabbix的方法
做监控源于我们早期做运维服务的必然需求,我们的愿望是基于Zabbix这个强大开源平台,结合实际一线运维工作的需要+ITIL等运维理论,做成类似MIUI一样的开发、易用、实用、人性和美观的全新的监控平台。
架构设计
下图是我们的软件逻辑架构:

这个架构有两个最重要的基础:
1. 将Hosts区分为主机、网络通讯设备、数据库、中件间、业务系统、虚拟机、硬件、链路等实体IT基础架构组件;
2. 深度定制的基于Zabbix API实现,以PHP语言实现,把Zabbix原生页面保留在系统后台。
软件平台在功能逻辑上分为四层
基础层:这一层以一个分布式、高可用、高并发的软件服务端为基础,构建以被驯服了的监控模板、指标和阀值为基础的底层监控体系,这一层纯粹是我们使用Zabbix的积累和经验。
功能层:基于Zabbix API实现的管理功能,这些功能抽取了大部企事业单位的监控需求的公约数。

展示层:监控效率的显性化表达,大屏设计,业务地图(CFIA的显性化),网络拓扑图,大部分客户都会需要的业务量监控的显性化集成,业务量监控本身又是另外一个话题,当然这里的业务量核心在于源数据的获取,剩下的套路都基本一致,设计指标,设置阀值,触发告警通知等
接口层:主要对接外部接口,如IM、短信、邮件、声音等
在功能上最大的三个特点是结合生产实际:实现了拓扑的自动生成、自定制投屏和业务地图(CFIA,故障组件影响分析树),拉近了Zabbix和业务生产运维的实际需要。
前端交互
界面采用了Twitter开源的Bootstrap的前端框架,图表采用了Baidu开源的ECharts控件。


像MIUI一样做Zabbix二次开发(4)——乐维监控定制Zabbix的方法的更多相关文章
- 乐维监控与Zabbix对比分析(一)——架构、性能
近年来,Zabbix凭借其近乎无所不能的监控及优越的性能一路高歌猛进,在开源监控领域独占鳌头:而作为后起的新锐监控平台--乐维监控,则不断吸收Zabbix,Prometheus等优秀开源平台的优点,兼 ...
- Zabbix二次开发_02获取数据
最近准备写一个zabbix二次页面的呈现.打算调用zabbix api接口来进行展示. 具体流程以及获取的数据. 1. 获得认证密钥 2. 获取zabbix所有的主机组 3. 获取单 ...
- 【NX二次开发】修改dlx对话框标题的方法
修改dlx名称, 修改对话框标题的方法: theDialog->TopBlock()->FindBlock("Dialog")->GetProperties()- ...
- Zabbix二次开发_01基础
最近有个想法:想做一个zabbix数据的二次呈现,所以来写一下Zabbix的api的内容. 先说下zabbix api的认证基础. Zabbix API简介 Zabbix API开始扮演着越来越重要的 ...
- 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 ...
- 如何用Qt做SolidWorks二次开发
这个问题困扰了我2年了,之前找到的教程都是MFC的,ATL导入向导或是通过导入类型库的方式来调用控件,我一直都搞不明白. 最近学习了ActiveQT以及通过ActiveQT控制EXCEL.Word.P ...
- 【NX二次开发】属性操作相关函数的使用方法
内容包括:1.属性创建2.判断属性是否存在3.读取属性值4.时间属性转换成字符串5.统计属性的数量6.删除指定属性7.删除全部属性效果: 源码: #include <stdlib.h> # ...
- (50)zabbix API二次开发使用与介绍
zabbix API开发库 zabbix API请求和响应都是json,并且还提供了各种语法的lib库,http://zabbix.org/wiki/Docs/api/libraries,包含php. ...
- 【phpcms-v9】phpcms-v9二次开发所必须知道的步骤(转载)
一.做phpcms-v9二次开发时,我们经常需要用到如下代码,所以有必须在这里注释说明一下 defined('IN_PHPCMS') or exit('No permission resources. ...
随机推荐
- llinux防火墙设置远程连接
#停止防火墙systemctl stop firewalld #查看防火墙是否运行systemctl status firewalld# 防火墙设置允许firewall-cmd --add-port= ...
- oracle 行转列,动态年份,月份列。已解决!
-----------------存储过程包体----------- procedure GetComparativeAnalysisTB(p_StartTime varchar2, ----开始时间 ...
- nohup原理
Nohup的原理也很简单,终端关闭后会给此终端下的每一个进程发送SIGHUP信号,而使用nohup运行的进程则会忽略这个信号,因此终端关闭后进程也不会退出. Linux的信号 SIGHUP:当用户退出 ...
- 2022-05-11内部群每日三题-清辉PMP
1.一个低概率/高影响的技术风险发生了. 项目经理该怎么做? A. 提交变更请求来调整成本和进度基准 B. 进行风险审查,评估其对项目可交付成果的影响 C. 实施风险登记册中概述的减轻计划 D. 查询 ...
- Flask + PyInstaller = 客户端
Flask + PyInstaller = 客户端 有些特殊情况需要开发客户端,Python有几个常用的几个GUI框架,如 PyQt.wxPython等 但使用这些GUI框架往往界面比较丑,而且GUI ...
- JavaSE——.replace()方法替换内容
package com.zhao.stringtest; public class Test5 { //.replace()方法替换词汇 public static void main(String[ ...
- 反射的学习笔记--sql语句生成
学生实体类 public class Student { public int Id { get; set; } public string Name { get; set; } public int ...
- 【杂项】瞎玩——suhr RIOT单块制作流程
难得的周末,在家上课似乎丝毫没有轻松多少,然而专业课任务的ddl远在天边,上午赶赶进度似乎稍微闲下来了点,正好前几天找电路的时候看到一个非常nice的效果器制作网站,国内少有深入研究效果器电路的文章, ...
- 用Nodemailer发个邮件不算难?
公司一直用邮箱做一些部门间协调的沟通留存,于是乎想用点"编程思维"做些"工作流"来自动化处理:但是公司用的邮箱有点难登呐! 选用的Nodejs 作为实现语言,那 ...
- pandoc转换markdown生成pdf文件表格问题
使用pandoc转换Markdown文件(.md)生成pdf pandoc --latex-engine=xelatex -V CJKmainfont="Noto Sans CJK SC&q ...