zabbix4.0-自定义监控:无参数key

zabbix_server端IP:192.168.24.132

zabbix_agent端IP:192.168.24.122

  zabbix_agent端设置的是主动模式,同时也开启了10050端口。

前言:

1.自定义参数获取到的数据自己需要搞清楚数据类型到底是无符号整数,还是浮点数,否则就会出现监控项不支持的报错提示。

2.当zabbix_agent配置文件发生改变时,直接/opt/zabbix/sbin/zabbix_agentd -c /opt/zabbix/etc/zabbix_agentd.conf 企图重新加载配置文件是没的,需要kill掉zabbix_agentd后,再重新启动zabbix_agentd服务才生效。


自定义监控,无参数步骤

一、zabbix_agent端

  1.编译zabbix_agent.conf配置文件,开启自定义参数配置

    其中UnsafeUserParmeters=1开始自定义参数。

复制代码
[root@agent1111 bin]# cat /opt/zabbix/etc/zabbix_agentd.conf|grep -v  -e "#" -e "^$"
PidFile=/opt/zabbix/zabbix_agentd.pid
LogFile=/opt/zabbix/zabbix_agentd.log
Server=192.168.24.132
ListenPort=10050
StartAgents=3
ServerActive=192.168.24.132
HostnameItem=system.hostname
HostMetadataItem=system.uname
Include=/opt/zabbix/etc/zabbix_agentd.conf.d/*.conf
UnsafeUserParameters=1
复制代码

  2.在/opt/zabbix/etc/zabbix_agentd.conf.d/目录下编写自定义监控文件,如test.conf。

#vim /opt/zabbix/etc/zabbix_agentd.conf/test.conf
UserParameter=mem.free,/usr/bin/free -m|grep Mem|awk '{print $4}'

其中  mem.free为监控项,到时候与zabbix_web页面的"键值"保持一致。 

   /usr/bin/free -m|grep Mem|awk '{print $4}'为获取监控项的值得具体命令,该命令也可以使用脚本来得到。如替换为"sh /path/*.sh"

  3.kill掉zabbix_agentd后,重启启动zabbix_agentd。

#kill  PID(zabbix_agentd)
#/opt/zabbix/sbin/zabbix_agentd -c /opt/zabbix/etc/zabbix.agentd.conf

 

二、zabbix_server端

  1.重启zabbix_agent后,在server端使用"zabbix_get"命令看是否可以获取到该自定义key值,且对比agent端是否一致。

[root@localhost bin]# ./zabbix_get  -s 192.168.24.122 -p 10050 -k "mem.free"
1025

  2.当能获取到正常的值后,在zabbix_web端开始配置监控项,如图

      

 

   3.然后更新后,选中该监控项,立即检查,获取监控数据,然后到"监测---最新数据"页查看数据是否可正常获取。如图,可正常获取

 

 


 

实验中碰到的报错:

1.zabbix_server端在使用zabbix_get时报错:

 

   原因:zabbix_agent端在编辑了自定义监控后,企图直接/opt/zabbix/sbin/zabbix_agentd -c /opt/zabbix/etc/zabbix_agentd.conf ,让zbbix_agent服务重新加载配置文件,结果服务并没有重新加载。

  解决:kill掉zabbix_agent服务后,重新启动zabbix_agent服务。报错解决,且可获取到正常的值。

 

 

posted @   浮~生  阅读(178)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示