zabbix4.2监控系列–监控项与触发器

创建监控项,以监控日志为例(主动模式)

在zabbix后台管理页面中,选中主机添加监控项。

(此教程是以服务端为例截图的,大家以agent客户端进行操作)

a.选择主机–>监控项–>创建监控项

zabbix 监控win主机 zabbix监控项_运维


b.类型选择主动模式,键值点击后面选择按钮,选择log[/root/api_app/authority/src/main/resources/logs/web-error.log,”[ERROR|[error”,skip,]日志文件监控。日志时间格式选择yyyy-MM-dd hh:mm:ss

zabbix 监控win主机 zabbix监控项_zabbix_02


zabbix agent检测分为主动(agent active)和被动(agent)两种形式,主动与被动的说法均是相对于agent来讨论的。简单说明一下主动与被动的区别如下:

主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy

被动:server向agent请求获取监控项的数据,agent返回数据。

创建触发器

监控项正则表达式函数括号中只填单一词,若用连接符”|”,则需分别创建对应的触发器

a.选择触发器–>创建触发器

zabbix 监控win主机 zabbix监控项_运维_03


zabbix 监控win主机 zabbix监控项_运维_04


b.严重性选择警告或者灾难;表达式点击后面添加按钮,选择之前创建的监控项,功能下拉选择iregexp() - 周期 T 内,最后的值与正则表达式 V 匹配(不区分大小写;1 - 匹配,0 - 不匹配);V填上之前监控项正则表达式的要监控的词组BDRC_WARNING;N填上1,表示匹配上该规则

zabbix 监控win主机 zabbix监控项_zabbix_05


c.点击插入,如下图所示

zabbix 监控win主机 zabbix监控项_运维_06


d.勾选允许手动关闭、勾选已启用,其他默认(上截图漏勾选允许手动关闭),点击添加附:★★若触发器问题事件生成模式选择多重,则出现相同的问题时,会再次触发告警

若触发器问题事件生成模式选择单个,则第一次产生报警,之后就不报了。必须等到恢复正常(可手动选择问题—关闭问题),以后再次出现问题时才会再报(由于qq服务代理发送有限制,每天发送超过200封邮件后,会被标记为垃圾邮件,加入黑名单),购买腾讯企业邮箱进行邮件发送的可以设置多重

zabbix 监控win主机 zabbix监控项_zabbix_07


★★★★★配置完成后重启客户端服务★★★★★

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