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服务才生效。
3.自定义参数文件中可以添加多个自定义key参数,不必写多个子配置文件,但是自定义key值不能重复。
自定义监控,无参数步骤
一、zabbix_agent端
1.编译zabbix_agent.conf配置文件,开启自定义参数配置
其中UnsafeUserParmeters=1开始自定义参数。
[root@agent1111 gaokai]# 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.编写获取监控数值的脚本/root/mem.sh
#vim /root/mem.sh #!/bin/bash case "$1" in "available") free -m |grep "Mem:"|awk '{print $NF}';; "total") free -m |grep "Mem:"|awk '{print $2}';; "used") free -m |grep "Mem:"|awk '{print $3}';; *) echo "not supported";; esac
3.编写自定义参数
#vim /opt/zabbix/etc/zabbix_agentd.conf.d/mem.conf UserParameter=mem.check[*],sh /tmp/mem.sh $1
4.重启zabbix_agent服务
#kill PID(zabbix_agent) #/opt/zabbix/sbin/zabbix_agentd -c /opt/zabbix/etc/zabbix.agentd.conf
二、zabbix_server端测试值
1.在server端使用zabbix_get命令获取指定监控项的值。
2.在zabbix_web页面上进行监控项的配置,以此类推,创建"mem.check[available]、mem.check[total]、mem.check[used]"三项监控。
创建完毕后,选中并下拉到页面下方,点击现在检查,获取监控数据
然后到监测---最新数据页面查看获取到的值,如图
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .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 接口并集成到在线客服系统