[日志监控介绍]
之前,我介绍过 [ Windows环境监控RMAN备份并发送邮件BAT脚本 ] 的脚本监控方法。这次我们来说说Zabbix监控日志如何实现。日志文件监控,它最主要的是监控日志文件中有没有某个字符串的表达式。
如下是我待监控日志文件生成格式:
[日志监控配置]
前提条件:
日志生成服务器必须要部署Zabbix Agent组件,只有这样才可以运用Zabbix客户端(主动式)。
1.监控主机追加监控项
键值是关键,其格式参考:
logtr[<日志路径(可以运用正则表达式)>,,,,,]
参数说明:
◆regexp:要匹配内容的正则表达式,或者直接写你要检索的内容也可以,例如我想检索带ERROR关键词的记录
◆encoding:编码相关,留空即可
◆maxlines:一次性最多提交多少行,这个参数覆盖配置文件zabbxi_agentd.conf中的’MaxLinesPerSecond’,我们也可以留空
◆mode:默认是all,也可以是skip,skip会跳过老数据
◆output:输出给zabbixserver的数据。可以是\1、\2一直\9,\1表示第一个正则表达式匹配出得内容,\2表示第二个正则表达式匹配错的内容。
logrt[“D:\RMANBACKUP_LOG^RMAN_[0-9]{8}.LOG$”,错误|ORA-|RMAN-|TNS-|失败,GB2312,20,skip,]
信息类型: 日志
2.触发器配置
名称 : RMAN日志监控
严重性:灾难
表达式:{ZServer04:logrt[“D:\RMANBACKUP_LOG^RMAN_[0-9]{8}.LOG$”,错误|ORA-|RMAN-|TNS-|失败,GB2312,20,skip,].regexp(错误|ORA-|RMAN-|TNS-|失败)}<>0
事件成功迭代:无
问题事件生成模式:单个
允许手动关闭:是
※ 事件生成后,不会自会发送恢复警告必须要人工介入确认才会恢复!
3.动作配置
此故障会重复发送10次警报,每30分钟一次。如果人工介入并关闭,会消除警报。如果超过10次报警均无人响应,则不会发送警报。
[常见问题]
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中,正则表达式只对文件名有效,对文件目录无效。