博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zabbix之日志文件监控
阅读量:6982 次
发布时间:2019-06-27

本文共 1942 字,大约阅读时间需要 6 分钟。

一、日志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”。

二、监控原理及注意事项

    1、Zabbix Server和Zabbix Agent会追踪日志文件的大小和最后修改时间,并且分别记录在字节计数器和最新的时间计数器中。

    2、Agent会从上次读取日志的地方开始读取日志。

    3、字节计数器和最新时间计数器的数据会被记录在Zabbix数据库,并且发送给Agent,这样能够保证Agent从上次停止的地方开始读取日志。

    4、当日志文件大小小于字节计数器中的数字时,字节计数器会变为0,从头开始读取文件。

    5、所有符合配置的文件,都会被监控。

    6、一个目录下的多个文件如果修改时间相同,会按照字母顺序来读取。

    7、到每个Update interval的时间时,Agent会检查一次目录下的文件。

    8、Zabbix Agent每秒发送日志量,有一个日志行数上限,防止网络和CPU负载过高,这个数字在zabbix_agentd.conf中的MaxLinePerSecond。

    9、在logtr中,正则表达式只对文件名有效,对文件目录无效。

三、日志监控配置

    请确保Agent有如下两项配置

    1、Hostname设定为Server创建主机是填写的Host name,必须一致

    2、ServerActive设定为Server的IP

Host>>目标主机>>item>>create item,如下:

说明:

1. type必须选择zabbix agent(active),因为数据是zabbix被监控的主动提交给server

2. key:log[/var/log/message,error],我们这里是监控的系统日志,打印出带有error的行,大家也可以去监控其他的日志,mysql、nginx等等都是可以的。

3. log time format:MMpddphh:mm:ss,对应日志的行头Sep 14 07:32:38,y表示年、M表示月、d表示日、p和:一个占位符,h表示小时,m表示分钟,s表示秒。

四、结果查看

切换到最新日志里面,找到相应数据,如下是我的监控截图

我们可以针对监控到的一些信息设置触发器,进行报警等等,这里不再介绍。

参考文档:https://www.zabbix.com/documentation/2.4/manual/config/items/itemtypes/log_items

     本文转自 wzlinux 51CTO博客,原文链接:http://blog.51cto.com/wzlinux/1694597,如需转载请自行联系原作者

你可能感兴趣的文章
Java™ 教程(泛型、继承和子类型)
查看>>
Spring AOP
查看>>
如何优雅的构建排序公式
查看>>
React手稿之 React-Saga
查看>>
Java基础【七】 - List集合汇总
查看>>
比原链Bytom错误码一览
查看>>
Python第一天:你必须要知道的Python擅长领域以及各种重点学习框架(包含Python在世界上的应用)...
查看>>
sdedit使用方法介绍(混沌向)
查看>>
Nginx深入了解-进阶(二)
查看>>
脚本模式创建测试用例 - Katalon Studio
查看>>
C++ 函数参数的扩展
查看>>
SpringCloud核心教程 | 第二篇: 使用Intellij中的maven来快速构建Spring Cloud工程
查看>>
opencv python 模板匹配
查看>>
小程序canvas文本换行生成图片
查看>>
TP5.1.18+swoole实现聊天室
查看>>
【前端数据结构基础】集合
查看>>
响应式布局设计
查看>>
node中 模块导入和导出的探究
查看>>
spring mvc如何计算BEST_MATCHING_PATTERN_ATTRIBUTE
查看>>
jQuery源码 - extend 继承&拷贝 解析
查看>>