在生产环境中,日志最能反映出应用当前和以往出现过的问题,需要我们在海量日志里面找到我们关心的异常记录,记录下来,并且根据异常情况提供报警,可以zabbix监控系统日志、nginx、Apache、业务日志等等。这里我只以系统的日志为例,手动写入日志为例给大家一个直观的展现。
环境:
Zabbix server服务器已经搭建完毕。
Zabbix agent客户端也已经安装好,已启动,并且配置完毕,。(centos linux7.3)
服务端web配置:
配置-主机-创建主机(主机名称一定要和客户端配置文件中的配置内容一致)
配置-主机-找到需要配置刚才新建的主机-新建监控项
填写监控名称(随意)
类型:Zabbix客户端(主动式),需要客户端主动向服务器端传送数据
键值:log[/var/log/messages,"ERROR|error"]
/var/log/messages:为需要监控的客户端日志文件的绝对路径
“ERROR|error”:为关键字
附:log的item解释
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”秒内分析最新的行。
监控项配置完成后,在客户端手动写入日志到messages文件中
在zabbix server端通过web查看检测到日志。
上面就是我们监控zabbix客户端日志文件的方法,我们可以在生产过程中,利用此方法监控我们关心的核心的日志文件,从中筛选出我们关心的内容,并且可以实时报警给我们,以便我们快速定位故障,迅速解决问题,降低故障给我们生产经营造成的影响。