前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zabbix前端源码分析 -- 主机可用性(Availability)图标

Zabbix前端源码分析 -- 主机可用性(Availability)图标

作者头像
Zabbix
发布2021-02-03 11:22:05
1.1K0
发布2021-02-03 11:22:05
举报
文章被收录于专栏:Zabbix中国官方
本期精彩

Zabbix前端源码分析

——主机可用性(Availability)图标

关于 thinkc(社区川总)

某大型企业云计算架构师,多年Zabbix,Python,Linux使用经验,社区群活跃核心成员之一

就是上图所示的部分,有人问为啥他的监控项不是主动模式,可这些图标却仍然一直是灰色。本文不讨论解决问题的办法,只分析这些图标显示的底层实现原理。

Zabbix版本:3.0.19

首先可以看到这个页面对应的是hosts.php文件,具体位置是zabbix-3.0.19\frontends\php\hosts.php

这个文件的内容比较繁杂,我们只要知道在1117行hosts = API::Host()->get([]),通过调用API的host->get功能,得到主机列表,然后在1187行封装进data变量中,最后在1201行data);将data变量传递给configuration.host.list做Web页面渲染就ok。

CView在本文不赘述,以后再分析。

configuration.host.list也是个php文件,具体位置是frontends\php\include\views\configuration.host.list.php

这个文件主要做Web页面渲染,简单说这个文件的内容就是先创建个Table,并设置Header。

你猜对了,Header就是渲染的红框处的这部分。

然后将hosts.php传递过来的data['hosts']通过foreach循环解析,其中可用性图标的判断和输出,是通过282行getHostAvailabilityTable(host)实现的。

getHostAvailabilityTable函数所在的文件是frontends\php\include\html.inc.php,从588行开始,看注释就知道这个函数的作用了:Returns zbx, snmp, jmx, ipmi availability status icons and the discovered host lifetime indicator.

时间原因,本文的分析非常粗,后续有时间再补充完善。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Zabbix开源社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档