一、在zabbix目录下创建 scripts文件夹并赋予zabbix权限,用于存放统计脚本

mkdir scripts
chown -R zabbix.zabbix scripts/

二、编辑zabbix_agent.conf 配置文件,修改自定义发现脚本文件路径(前提先安装 agent端)

Include=/etc/zabbix/zabbix_agentd.d/*.conf
UnsafeUserParameters=1

#给主机Zabbix执行root的权限
[root@Server_2 zabbix_agentd.d]# vim /etc/sudoers
zabbix  ALL=(root)      NOPASSWD:/bin/python
zabbix  ALL=(root)      NOPASSWD:/bin/tail

三、在 scripts 目录下编写 log_error.py 并给执行权限

#!/usr/bin/env python
import os
import sys
import json
#import simplejson as json
t=os.popen("ls /home/app/logs/*.log")
logs = []
for log in  t.readlines():
        r = os.path.basename(log.strip())
        logs += [{'{#LOGNAME}':r}]
print json.dumps({'data':logs},sort_keys=True,indent=4,separators=(',',':'))

[root@localhost scripts]#  chmod +x /etc/zabbix/scripts/pv_uv.sh
[root@localhost scripts]# chmod -R 644 /var/log
[root@localhost scripts]# vim userparameter_log_error.conf
UserParameter=logerror.discovery,/etc/zabbix/scripts/log_error.py

#去server端zabbix_get 值
[root@Server_1 zabbix]# zabbix_get -s 192.168.40.158 -k logerror.discovery

四、Zabbix 前端设置自动发现步骤
在这里插入图片描述1.
1.创建监控项
Name:{#LOGNAME} status
Key:log[/home/app/logs/{#LOGNAME},Exception|ERROR|Error,]
在这里插入图片描述
2.创建触发器类型 PS:表达式可以选择,也可以在我的基础上更改
Name:{#LOGNAME} 日志报错
表达式:{Server02:log[/home/app/logs/{#LOGNAME},Exception|ERROR|Error,].strlen(0)}>0 and {Server02:log[/home/app/logs/{#LOGNAME},Exception|ERROR|Error,].nodata(300)}=0
在这里插入图片描述
五、写一个段报错内容输出到指定文件,并观察监控在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐