zabbix4.2监控系列–监控项与触发器
创建监控项,以监控日志为例(主动模式)
在zabbix后台管理页面中,选中主机添加监控项。
(此教程是以服务端为例截图的,大家以agent客户端进行操作)
a.选择主机–>监控项–>创建监控项
b.类型选择主动模式,键值点击后面选择按钮,选择log[/root/api_app/authority/src/main/resources/logs/web-error.log,”[ERROR|[error”,skip,]日志文件监控。日志时间格式选择yyyy-MM-dd hh:mm:ss
★zabbix agent检测分为主动(agent active)和被动(agent)两种形式,主动与被动的说法均是相对于agent来讨论的。简单说明一下主动与被动的区别如下:
主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy
被动:server向agent请求获取监控项的数据,agent返回数据。
创建触发器
监控项正则表达式函数括号中只填单一词,若用连接符”|”,则需分别创建对应的触发器
a.选择触发器–>创建触发器
b.严重性选择警告或者灾难;表达式点击后面添加按钮,选择之前创建的监控项,功能下拉选择iregexp() - 周期 T 内,最后的值与正则表达式 V 匹配(不区分大小写;1 - 匹配,0 - 不匹配);V填上之前监控项正则表达式的要监控的词组BDRC_WARNING;N填上1,表示匹配上该规则
c.点击插入,如下图所示
d.勾选允许手动关闭、勾选已启用,其他默认(上截图漏勾选允许手动关闭),点击添加附:★★若触发器问题事件生成模式选择多重,则出现相同的问题时,会再次触发告警
若触发器问题事件生成模式选择单个,则第一次产生报警,之后就不报了。必须等到恢复正常(可手动选择问题—关闭问题),以后再次出现问题时才会再报(由于qq服务代理发送有限制,每天发送超过200封邮件后,会被标记为垃圾邮件,加入黑名单),购买腾讯企业邮箱进行邮件发送的可以设置多重
★★★★★配置完成后重启客户端服务★★★★★
systemctl restart zabbix-agent.service
查看数据
手动添加此两个关键字的日志记录,然后在检测中——最新数据中,可以看到拦截这两个关键字的日志记录。出现此两个关键字说明拦截到。
在首页-仪表盘中会看到相关警报(Waring或Information)。
注意:
读取日志时,有时会显示cannot open ‘/data/app/app/logs/det.log’: [13] Permission denied。
原因是:zabbix用户无法读取该日志文件。需要在该日志文件的权限中加入读的权限。即+r
日志里有关键字报错,然而我们并没有监控到。
反思:昨天还可以的,今天为什么不阔以?
1.难道路径不对,上机器看路径,发现没变。
2.路径都对,难道权限不对?ll一把看看日志权限,发现其他组里面那个r不见了,就是不能读了,怪不得监控不到。
but为什么r不见了呢?原因是每天会新产生一个日志文件,覆盖掉这个文件,然后权限就无效了。
解决方法:
将zabbix用户加入到root用户组(就是文件的拥有者的群组)
usermod -a -G root zabbix
查看是否加入成功
id zabbix
查看日志权限
ll /data/app/app/logs/xx.log自测:
给日志文件赋值权限
chmod 755 /data/app/app/logs/xx.log
设置zabbix用户免密权限
visudo
zabbix ALL=(ALL) NOPASSWD: NOPASSWD: ALL手动写log日志文件,查看是否预警
echo “[BDRC_WARNING] error abcdefg” >> test.log