在生产环境中,日志最能反映出应用当前和以往出现过的问题,需要我们在海量日志里面找到我们关心的异常记录,记录下来,并且根据异常情况提供报警,可以zabbix监控系统日志、nginxApache、业务日志等等。这里我只以系统的日志为例,手动写入日志为例给大家一个直观的展现。

环境:

Zabbix server服务器已经搭建完毕。

Zabbix agent客户端也已经安装好,已启动,并且配置完毕,。(centos linux7.3

服务端web配置:

配置-主机-创建主机(主机名称一定要和客户端配置文件中的配置内容一致)

 Zabbix学习笔记(二十四)_zabbix                                              

配置-主机-找到需要配置刚才新建的主机-新建监控项

Zabbix学习笔记(二十四)_zabbix_02

填写监控名称(随意)

类型:Zabbix客户端(主动式),需要客户端主动向服务器端传送数据

键值:log[/var/log/messages,"ERROR|error"]

/var/log/messages:为需要监控的客户端日志文件的绝对路径

“ERROR|error”:为关键字

附:logitem解释

log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>]

file - 日志文件的绝对路径。 

regexp - 过滤日志的正则表达式,或者需要检索的内容(关键字) 

encoding - 字符编码留空即可 

maxlines - agent每秒发送给server(或proxy)的数据的最大行数,这个参数会覆盖掉zabbix_agentd.conf配置文件里的’MaxLinesPerSecond’参数。 

mode - 可填参数:all(默认),skip(跳过旧数据)。 

output - 自定义格式化输出,默认输出regexp匹配的整行数据。可以是\1\2一直\9\1表示第一个正则表达式匹配出得内容,\2表示第二个正则表达式匹配错的内容。 

maxdelay- 日志项中的“maxdelay”参数允许忽略日志文件中的一些旧行,以便在“maxdelay”秒内分析最新的行。

Zabbix学习笔记(二十四)_zabbix_03

监控项配置完成后,在客户端手动写入日志到messages文件中

Zabbix学习笔记(二十四)_日志监控_04

zabbix server端通过web查看检测到日志。

Zabbix学习笔记(二十四)_zabbix_05

上面就是我们监控zabbix客户端日志文件的方法,我们可以在生产过程中,利用此方法监控我们关心的核心的日志文件,从中筛选出我们关心的内容,并且可以实时报警给我们,以便我们快速定位故障,迅速解决问题,降低故障给我们生产经营造成的影响。