像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. ...
随机推荐
- WPF CommandParameter 传递多个参数的方法
1.新建一个按钮内容如下 <Button Name="btnOK" Content="确定" Height="20" Width=&q ...
- 隐藏来源 禁用Referrer 的方法
原文链接: https://www.cnblogs.com/duanweishi/p/16490197.html https://blog.csdn.net/qq996150938/article/d ...
- element-ui upload自定义formdata上传文件和参数
<el-upload list-type="text" action="" :http-request="HandleHttpRequest ...
- rabbitmq监控与运维
一.系统架构 二.监控 本指南涵盖了使用两个流行工具进行 RabbitMQ 监控: Prometheus,一个监控工具包:和Grafana,一个指标可视化系统.这些工具共同构成了一个强大的工具包,用于 ...
- ASP.NET Core http请求内容过大, IIS服务器 返回 Request Too Long 解决方案
1.修改web.config文件内容如下: <?xml version="1.0" encoding="utf-8"?> <configura ...
- 【CDH】cdh搭建遇到的坑和解决过程
本人安装CDH时,使用的是在线安装方式,就是yum install XXX XXX XXX这种.所以安装目录都是默认的目录. Linxu:centos 7 一,启动cloudera-scm-agent ...
- jekins+svn
1.jekins安装可以看jekins+shell随笔. 2.安装svn. yum -y install subversion 3.配置相关文件 mkdir 家目录 cd 到家目录修改conf下三 ...
- SpringBoot-集成PageHelper及使用
1.添加依赖 1 <dependency> 2 <groupId>com.github.pagehelper</groupId> 3 <artifactId& ...
- VS2010配置WTL
1.首先去下载WTL 地址:http://wtl.svn.sourceforge.net/viewvc/wtl/?view=tar 2.安装App Wizard 找到"VS安装目录\VC\V ...
- Windows流媒体怎么关闭。
点击白色框,搜索服务. 步骤阅读 步骤阅读 2 选本地服务旁打开,然后下拉服务. 步骤阅读 步骤阅读 3 选择media,然后右键它属性. 步骤阅读 步骤阅读 4 然后点击停止,点击手动. 步骤阅读 ...