美文网首页
zbx源码分析 -- agent.ping

zbx源码分析 -- agent.ping

作者: thinkc | 来源:发表于2018-07-29 10:37 被阅读0次

    zbx版本:3.0.19

    agent.ping这个键值所在的文件是zabbix-3.0.19\src\libs\zbxsysinfo\agent\agent.c

    首先看一下ZBX_METRIC这个结构体,所在的文件是zabbix-3.0.19\include\module.h

    4个结构成员说明如下:
    第1个成员:监控项的键值(例如agent.ping)
    第2个成员:标志, 可以是CF_HAVEPARAMS或0(取决于监控项是否接受参数)
    第3个成员:函数,实现这个监控项的函数
    第4个成员:测试参数,当zbx客户端带有"-p"标志启动时,这个参数列表会被用到

    由上可知,agent.ping键值的功能就是由AGENT_PING函数实现的。AGENT_PING函数里就2行,其中SET_UI64_RESULT所在的文件是zabbix-3.0.19\include\module.h

    SET_UI64_RESULT的功能就是把右边值赋给左边变量。所以我们知道了,agent.ping这个键值会始终返回1。

    zbx自带模板里有对应描述,说明对源码的分析是正确的。

    再多说几句parameters_agent,这个数组被用到的文件是zabbix-3.0.19\src\libs\zbxsysinfo\sysinfo.c

    主要就是调用了add_metric函数,parameters_agent数组是add_metric函数的参数。add_metric函数的作用就是向zbx系统中注册一个新监控项键值。

    commands是在sysinfo.c开头定义的一个ZBX_METRIC结构体变量,初始值是NULL。

    add_metric函数中,把metric的成员值赋给commands的成员,除了第一次(commands初始值是NULL)之外,还要做内容比较,防止键值重复。

    commands结构哪里使用?以后再分析。:)

    相关文章

      网友评论

          本文标题:zbx源码分析 -- agent.ping

          本文链接:https://www.haomeiwen.com/subject/rbkzmftx.html