zabbix版本2.4.6,此栏目下的分享都是在2.4.6版本基础下

在进行zabbix二次开发前需要考虑的事情:

  1. zabbix应用了jquery.js和prototype.js,因为2个js包之间的冲突导致网上的jquery插件都无法使用。
  2. 使用了jquery-ui,样式扁平化比较困难

目录结构:

audio-声音文件夹

conf-配置文件夹

fonts-字体文件夹

images-图片文件夹

include-包文件

-classes包文件

-view一些视图文件

js-js文件夹

locale-语言文件夹

styles-样式文件夹


地址分析:

例http://ol-zabbix.chinacloudapp.cn/zabbix/dashboard.php

都是很简单的结构,按照目录找文件即可


文件结构分析:

例:dashboard.php

require_once dirname(__FILE__).’/include/config.inc.php’;
require_once dirname(__FILE__).’/include/blocks.inc.php’;

$page[‘title’] = _(‘Dashboard’);
$page[‘file’] = ‘dashboard.php’;
$page[‘hist_arg’] = array();

$page[‘scripts’] = array(‘class.pmaster.js’);
$page[‘type’] = detect_page_type(PAGE_TYPE_HTML);

require_once dirname(__FILE__).’/include/page_header.php’;

// VAR TYPE OPTIONAL FLAGS VALIDATION EXCEPTION
$fields = array(
‘groupid’ => array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, null),
‘view_style’ => array(T_ZBX_INT, O_OPT, P_SYS, IN(‘0,1’), null),
‘type’ => array(T_ZBX_INT, O_OPT, P_SYS, IN(‘0,1’), null),
‘output’ => array(T_ZBX_STR, O_OPT, P_SYS, null, null),
‘jsscriptid’ => array(T_ZBX_STR, O_OPT, P_SYS, null, null),
‘fullscreen’ => array(T_ZBX_INT, O_OPT, P_SYS, IN(‘0,1’), null),
// ajax
‘widgetName’ => array(T_ZBX_STR, O_OPT, P_ACT, null, null),
‘widgetRefresh’ => array(T_ZBX_STR, O_OPT, null, null, null),
‘widgetRefreshRate’ => array(T_ZBX_STR, O_OPT, P_ACT, null, null),
‘widgetSort’ => array(T_ZBX_STR, O_OPT, P_ACT, null, null),
‘widgetState’ => array(T_ZBX_STR, O_OPT, P_ACT, null, null),
‘favobj’ => array(T_ZBX_STR, O_OPT, P_ACT, null, null),
‘favaction’ => array(T_ZBX_STR, O_OPT, P_ACT, IN(‘”add”,”remove”‘), null),
‘favid’ => array(T_ZBX_STR, O_OPT, P_ACT, null, null)
);
check_fields($fields);

check_fields为检测传入参数的方法,例如:想新增一个post到此页面的参数,必须在$fields中增加该参数,否则无法接受该参数。

在需要引入view页时你都能在文件尾部找到

/*
** Display
*/
$data = array(
‘pageFilter’ => $pageFilter,
‘graphid’ => $pageFilter->graphid,
‘hostid’ => $pageFilter->hostid,
‘fullscreen’ => $_REQUEST[‘fullscreen’]
);
$chartsView = new CView(‘monitoring.charts’, $data);
$chartsView->render();
$chartsView->show();

类似的代码,’monitoring.charts’即为view文件的文件名。可以在/include/view里找到该文件。

或者你能在尾部找到$dashboardWidget->show();类似代码,表示展示$dashboardWidget。


主要数据库关系说明:

graphs图形表

graphs_items图形关联items表

groups主机群组表

hosts主机表

hosts_groups主机与图形关联表

items监控项表

history每分钟一条的监控数据表(大于零的数值)

-value具体数值

-clock时间

history_uint每分钟一条的监控数据表(小于零的数值,主要用作百分比)

trends每小时一条的最大值、最小值、平均值表(大于零的数值)

trends_uint(小于零的数值,主要用作百分比)

好了知道这些表你就可以用懂zabbix的监控数据了

zabbix二次开发,帮你快速上手相关推荐

  1. ecshop二次开发的简单快速入门教程

    ecshop二次开发的简单快速入门教程,具体请下载文档 ecshop_dwt_lbi_详解.rar (106 KB) 下载次数: 9 转载于:https://my.oschina.net/u/3360 ...

  2. 技术人总有想写文章的冲动却无疾而终?4个小Tips帮你快速上手~

    每每与身边的开发小伙伴聊到"写作"这一话题,大家纷纷表示真·从小头疼到大. 学生时代每周一篇习作好不容易熬出头,谁能想到工作后居然还有写文章的 KPI 指标. 有时心血来潮想写点东 ...

  3. GitChat · 移动开发 | 小程序快速上手:三步完成小程序从无到有的开发

    GitChat 作者:极笔北客 原文: 小程序快速上手:三步完成小程序从无到有的开发 关注微信公众号:GitChat 技术杂谈 ,这里一本正经的讲技术 小程序作为微信之父张小龙钦点,并多次公开为之宣传 ...

  4. 帮初学者快速上手机器学习,这有一份Colab资源大全

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI Google Colab是帮你快速了解Python代码的利器,你可以直接在上面运行一些好玩好用的Jupyter Notebook项目. 对 ...

  5. python编程快速上手_给Python小白推荐的40本入门书籍,帮你快速上手

    喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远!有不懂的问题可以私聊我哦! 最近,小编的 Python 交流裙里进来了几位比较特殊的同学:一位初三的以编程为兴 ...

  6. 像MIUI一样做Zabbix二次开发(5)——那些坑和优化方向

    踩过的那些坑 从2011年开始玩Zabbix,踩过的坑着实不少,被研发的同事吐了无数槽,所谓"情到深度又爱又恨".以下简述印象比较深刻的几个坑: 二次开发的方式:2011刚开始做的 ...

  7. 简单python脚本实例-30个Python 小例子,帮你快速上手Python

    可能很多人学编程有个误区,总想着从最基础的原理开始,看了一大堆书一堆视频还是不会,兴趣也早没了.而自己动手写代码是最好的开始方式,不管TM三七二十一,直接就是干,无论是看书还是看视频,确保身边有台电脑 ...

  8. Revit二次开发_轴网快速标注

    通过Revit二次开发实现对平行轴网的快速标注.交互操作是框选轴网->点选尺寸标注出现的位置->生成两道尺寸标注. 要达到设想的结果一些地方需要特殊考虑: 框选操作容易误选轴网,起码要把与 ...

  9. 基于Java的Zabbix二次开发-----Zabbix的Api接口实例

    博主之前的文章配置好了Zabbix环境,正常启动Zabbix服务端,并成功监控客户端服务器的情况,如有疑问,下方传送门: centos7下安装Zabbix服务端 Windows下安装Zabbix客户端 ...

最新文章

  1. 电脑有回声_游戏东西丨兽人游戏Echo回声电脑手机汉化版
  2. 深入Managed DirectX9(四)
  3. 算法基础数学知识篇(1)之----- 排列数组
  4. ASP.NET Core MVC 中的 [Controller] 和 [NonController]
  5. go 判断channel是否关闭
  6. sklearn 中的线性回归、岭回归、Lasso回归参数配置及示例
  7. Activity之launchMode:singleTop,singleTask与singleInstance
  8. 火力发电厂与变电站设计防火标准_真题—火力发电厂1
  9. oracle drop purge
  10. ThinkPhp 更改 BIT 类型的问题
  11. 金蝶K3-航天信息税控发票开票软件接口程序
  12. 山石岩读丨前沿领域探析——汽车CAN总线协议详解及攻击面分析
  13. 2019年终总结-坚持的力量
  14. word自动生成目录等
  15. commitlint
  16. 你可能不知道的Gmail分身小技巧
  17. python mysql版本查看_怎么查看mysql版本
  18. 大数据培训班,一般需要支付多少学费?
  19. 论文方法步骤:Knowledge-Enriched Transformer for Emotion Detection in Textual Conversations
  20. 海上垂直无人机垂直起降平台

热门文章

  1. 微信退款 支付宝退款
  2. 一张图解释什么是遗传算法_(完整版)遗传算法简介及代码详解
  3. 广西希望高中2021高考成绩查询,2017高考:广西顶级高中排行榜(一本上线)
  4. Echarts设置背景的网格线为虚线
  5. [转帖]紫光展锐5G芯片
  6. EL:底物化学计量决定中国南方森林整个演替过程中的固氮作用
  7. 如何将RoHS与WEEE整合于ISO9001质量管理系统(转载)
  8. 京东面试真题解析,终获offer
  9. 华硕N53SM安装三星850EVO的固态硬盘并且不需要重装系统
  10. C语言程序设计学习笔记:P5-循环控制