1、日志item介绍

下面介绍zabbix另一个“重量级”的功能——日志文件监控,它最主要的是监控日志文件中有没有某个字符串的表达式,对应日志轮转与否,zabbix都支持。

在配置Item的时候,Type选择Zabbix agent (active),这里主要需要配置的是Key。下面是监控日志的两种key——log和logtr。

log[/path/to/some/file,<regexp>,<encoding>,<maxlines>,<mode>,<output>]

logtr[/path/to/some/filename_format,<regexp>,<encoding>,<maxlines>,<mode>,<output>]

◆ regexp:要匹配内容的正则表达式,或者直接写你要检索的内容也可以,例如我想检索带ERROR关键词的记录

◆ encoding:编码相关,留空即可

◆ maxlines:一次性最多提交多少行,这个参数覆盖配置文件zabbxi_agentd.conf中的’MaxLinesPerSecond’,我们也可以留空

◆ mode:默认是all,也可以是skip,skip会跳过老数据

◆ output:输出给zabbix server的数据。可以是\1、\2一直\9,\1表示第一个正则表达式匹配出得内容,\2表示第二个正则表达式匹配的内容。

如果仔细看可以发现,第一个参数不一样,logrt的第一个参数可以使用正则表达式。针对日志回滚用得,例如我们每天都切割nginx日志,日志名位www.a.com_2015-01-01.log、www.a.com_2015-01-02.log等等,使用log肯定不合适,如果文件名使用正则,那么新增的日志文件会立即加入监控。

备注:不管新日志、老日志,只要他们有变更,zabbix都会监控。

只要配置了<regexp>,Zabbix会根据<regexp>的正则表达式来匹配日志中的内容。注意,一定要保证Zabbix用户对日志文件有可读权限,否则这个Item的状态会变成“unsupported”。

2、监控原理及注意事项

3、item和Trigger配置

监控messages日志,检测里面含有error的日志,并实现报警

第一步:配置item

zabbix监控哪些东西(zabbix监控系列之监控项)(1)

Name:自己定义

Type:Zabbix agent (active) 必须

Key:根据要求设置

第二步:配置trigger

zabbix监控哪些东西(zabbix监控系列之监控项)(2)

Expression:

{centos6.8:log[/var/log/messages,error].str(error)}=1 and

{centos6.8:log[/var/log/messages,error].nodata(60)}=0

解释:{centos6.8:log[/var/log/messages,error].str(error)}=1 表示如果匹配到“error”关键字,表达式为真

{centos6.8:log[/var/log/messages,error].nodata(60)}=0 表示60秒内有数据产生则表达式为真,即60秒内如果没有新数据了,则表达式为假。

and表示同时满足两个条件,触发器才会触发。

注:在Trigger中没有找到{centos6.8:log[/var/log/messages,error].nodata(60)}=0这个表达式,我是直接复制第一个表达式修改的数据;

,