zabbix监控日志文件


一.简介

监控日志也是zabbix的一个很好的功能。像redis集群崩溃,会重组,但端口不会出问题,这就导致监控端口不会发现redis已经出现问题。

结构:
监控项筛选固定的内容进行记录,触发器对内容再次筛选或匹配,符合后进行告警

环境:
zabbix-3.4.2

二.操作

1.在客户端搭建一个httpd服务器
yum -y install httpd
systemctl start httpd

2.让zabbix客户端有权限查看,具体权限看情况设置
chmod -R 777 /var/log/httpd/

3.自定义一个监控项,基于主机的

#被动模式不行
类型:主动式

#log[文件位置,筛选内容]
键值:log[/var/log/httpd/access_log,/admin.html]

#日志格式
信息类型:日志

#y表示年,M表示月,d表示日,p和:表示占位符,h表示小时,m表示分钟,s表示秒。
日志时间格式:yyMMddphh:mm:ss

file

4.浏览器访问http://1.1.1.1/admin.htmlx

5.检测 -> 最新数据 -> 异常访问admin
file

6.触发器规则,我这里设置200报警,其实可以设置200正常,其它报警,规则可以再看看。
file

file

7.访问http://1.1.1.1/admin.htmlx ,过一会再访问http://1.1.1.1/admin.html ,看是否触发器会有提示
file

8.再访问正确地址,会发现报警取消了。

三.其它说明

key

首先要了解key
log[ file  ,<regexp>,<encoding>,<maxlines>,<mode>,<output>]

file:文件名,写绝对路径

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

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

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

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

logrt

logrt的file可以用正则表达式,防止日志切割。例如access_*.log
logrt[ file ,<regexp>,<encoding>,<maxlines>,<mode>,<output>]

注意说明

  1. zabbix server和zabbix agent 会追踪日志文件的大小和最后修改时间,并且分别记录到字节计数器和最新时间计数器中
  2. agent会从上次读取日志的地方开始读取日志
  3. 字节计数器和最新时间计数器的数据会被记录在zabbix数据库,并且发送给agent,这样能够保证agent从上次停止的地方开始读取
  4. 当日志文件大小小于字节计数器的数字时,字节计数器会变成0,从头开始读取文件,用于日志切割
  5. 所有符合配置的文件,都会被监控
  6. 一个目录下的多个文件如果修改时间相同,会按照字母顺序来读取
  7. 到每个update interval的时间时,agent会检查一次目录下的文件
  8. zabbix-agent每秒发送的日志数据,有一个日志行数的上限,这是为了防止网络和cpu负载过高,这个数字是zabbix_agent.conf中的MaxLinesPerSecond。
  9. 发送的日志量最多是agent设置的buffer size的50%,就算只有日志类监控(即没有其它类型的item),也是只有50%。同时,由于有maxlines,故需要将zabbix_agent.conf中的BufferSize设置为maxlines的2倍
  10. 当anget没有log类型的监控的时候,所有BufferSize都会为其它类型item服务。如果这时新建了日志文件类型的监控,会将BufferSize中最老的50%数据清空给日志文件item使用。
  11. 在logrt中,正在表达式只对文件名有效,对文件目录无效。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM