zabbix监控系统一般是要对服务器性能或者项目进行监控,默认的监控模板有时候不好用,或者说根本没有自己想要的,那我们就添加自定义的监控项目
server端调用agent端配置的键值参数调用脚本,然后脚本参数传输给server端,server端写进数据库,然后获取到新的数值再进行处理并在前端显示给用户看
第一,编写监控脚本
第二,修改zabbix_agent的配置
第三,在zabbix_web添加新的 监控项 触发器 图形
前提条件 zabbix已经安装完毕 本次用单KEY值演示,较易理解
这里我们简单写个脚本,模拟nginx的状态(导入随机模块 生成随机数 是因为需要让后面的图形看起来有趋势感)
#!/usr/bin/python3 #TestNum.py内容
import random
number = random.randint(1,100) #测试导入随机数模块生成1-100的随机数
with open('/var/log/nginx_code.log','a') as f: #将随机数写入日志 方便数据确认
f.write(str(number) + '\n')
print(number) #打印因需要取值
#脚本编写完毕
#操作只在客户端(修改配置文件如下参数)
UnsafeUserParameters=1
UserParameter=nginx.code,/usr/bin/python3 /usr/local/zabbix-3.4.11/script/TestNum.py
#修改完重启zabbix_agent客户端
/etc/init.d/zabbix_agentd restart #重启生效
略过以下3步(此次不做演示):
UserParameter还可以通过脚本来取得多个key的值(生产环境已经用多KEY值):
UserParameter=mysql.status[*],/usr/local/zabbix/scripts/check_mysql.sh $1 #例子此次不做演示
UserParameter=check_port[*],/usr/local/zabbix/scripts/check_port.sh -H 127.0.0.1 -p $1 #例子此次不做演示
#修改权限
chown zabbix.zabbix /var/log/nginx_code.log #zabbix为源码安装指定的用户
chown zabbix.zabbix /usr/local/zabbix-3.4.11/script/TestNum.py
chmod 766 /var/log/nginx_code.log
chmod 766 /usr/local/zabbix-3.4.11/script/TestNum.py
chmod +x /usr/local/zabbix-3.4.11/script/TestNum.py #脚本添加执行权限
1 添加监控项 (完毕后滑倒最下面更新即可) 配置-->主机-->监控项-->创建监控项
添加成功(如下 状态正常已启用) 异常:会显示不支持(红色),正常则显示已启用(绿色)
开始添加图形(配置-->主机-->图形-->创建图形) ps:触发器及图形都是在监控项的基础上去配置的,因为监控项是获取实时数据的
图形添加完后,更新查看(如下)
查看脚本运行输出的状态码是否跟图形对应,目前看是一致的(应该输出加个时间的,看起来才更清晰点 哈哈)
图形添加完毕
接下来添加触发器(步骤如下图) ps:按着自己的要求设置N值触发器即可 然后更新
接下来就是验证了(为了演示效果,设置的值比较容易触发,触发如下:)
已触发 验证完毕 Over (如下)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有