前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Zabbix自定义监控项(服务器监控)

Zabbix自定义监控项(服务器监控)

原创
作者头像
运维小火苗
修改于 2021-12-24 08:14:57
修改于 2021-12-24 08:14:57
4.5K00
代码可运行
举报
文章被收录于专栏:Linux运维之美Linux运维之美
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
zabbix监控系统一般是要对服务器性能或者项目进行监控,默认的监控模板有时候不好用,或者说根本没有自己想要的,那我们就添加自定义的监控项目

server端调用agent端配置的键值参数调用脚本,然后脚本参数传输给server端,server端写进数据库,然后获取到新的数值再进行处理并在前端显示给用户看


第一,编写监控脚本
第二,修改zabbix_agent的配置
第三,在zabbix_web添加新的 监控项 触发器 图形

前提条件 zabbix已经安装完毕  本次用单KEY值演示,较易理解
第一,编写监控脚本
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
这里我们简单写个脚本,模拟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) #打印因需要取值

#脚本编写完毕
第二,修改zabbix_agent的配置
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#操作只在客户端(修改配置文件如下参数)
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  #例子此次不做演示
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#修改权限
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  #脚本添加执行权限
第三,在zabbix_web添加新的 监控项 触发器 图形
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1 添加监控项 (完毕后滑倒最下面更新即可) 配置-->主机-->监控项-->创建监控项

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
添加成功(如下 状态正常已启用) 异常:会显示不支持(红色),正常则显示已启用(绿色)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
开始添加图形(配置-->主机-->图形-->创建图形)  ps:触发器及图形都是在监控项的基础上去配置的,因为监控项是获取实时数据的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
图形添加完后,更新查看(如下)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
查看脚本运行输出的状态码是否跟图形对应,目前看是一致的(应该输出加个时间的,看起来才更清晰点 哈哈)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
图形添加完毕
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
接下来添加触发器(步骤如下图) ps:按着自己的要求设置N值触发器即可 然后更新

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
接下来就是验证了(为了演示效果,设置的值比较容易触发,触发如下:)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
已触发 验证完毕 Over (如下)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一,编写监控脚本
  • 第二,修改zabbix_agent的配置
  • 第三,在zabbix_web添加新的 监控项 触发器 图形
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档