Zabbix监控日志的方法

  

Zabbix简介

Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

Zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

Zabbix由2部分构成,Zabbix服务器与可选组件Zabbix代理。

Zabbix服务器可以通过SNMP, Zabbix代理,平,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux、Solaris、hp - ux、AIX、免费的BSD,开放的BSD, OS X等平台上。

Zabbix优点:

1支持分布式监控

2自带绘图功能,获取到数值型的数据,可自动生成图

3 WEB配置方式,操作易用性较好。添加监控项或机器时速度很快。

4有报警时无论在任何界面会弹出小窗口报警,同时有报警的声音提示,同时可对监控项的快速查看。

5自带内置函数较为丰富,同时也支持脚本及nagios等脚本的调用。

6出现问题时,可自动远程执行命令(需对代理设置执行权限)

Zabbix缺点:

1批量修改不方便,可用数据库辅助

2深入后,中文资料相当少,大部分问题需看官方的文档及论坛。

3缺少数据汇总功能,如无法查看一组服务器平均值,可考虑对其进行二次开发。

4 Zabbix较仙人掌来说,画图功能较差些,流量获取较为复杂。

示例一:

监控项目

键值设置:

 <代码>日志(/数据/管/日志/job-xxx-xxx/job-xxx-xxx.log,“引起异常| | DRROR",,,,,)
  
  yyyy-MM-dd hh: mm: SS  

这个键值里边的内容为,日志绝对路径,关键字,跳过是跳过老内容,只监控新产生的日志,其他的不写的用“,“隔开

 <代码类=" language-shell ">触发器:
  
  问题表达式:{aws - bigdata运河- 49 - 63:日志(/数据/管/日志/job-xxx-xxx/job-xxx-xxx.log,“引起异常| | DRROR",,,,,) .nodata (10)}=0
  恢复表达式:{aws - bigdata运河- 49 - 63:日志(/数据/管/日志/job-xxx-xxx/job-xxx-xxx.log,“引起异常| | DRROR",,,,,) .nodata(2米)}=1  

nodata后(2米)这个函数是在2分钟内没有数据1:0:假的,所以获取到关键字“| |异常引起DRROR"nodata后函数值就会变成假的,就会触发触发器,达到监控的目的。
 Zabbix监控日志的方法”> <br/> <img src=

# #示例二:
,通常我们监控会监控到一些关键字就直接报错,但是往往有需求关键字和一些字符串组合起来是没有问题的即使是存在关键字错误异常等等这个时候就需要我们使用强大的正则

监控项目:

 <代码类=" language-shell ">,日志(/var/log/test_file.log,“错误| | (? & lt; ! Api)异常系统退出之前|杀死当前进程失败| |已知服务器定时out",,,,), 

<强>这里重点讲解(? & lt; ! Api)异常只匹配到异常不匹配ApiException找到相关文章解释如下

 <代码类=" language-shell ">(?:模式)非获取匹配,匹配模式但不获取匹配结果,不进行存储供以后使用。这在使用或字符”(|)”来组合一个模式的各个部分是很有用例。如“工业(?:y | ies)”就是一个比“行业|产业”更简略的表达式。
  
  (?=模式)非获取匹配,正向肯定预查,在任何匹配模式的字符串开始处匹配查找字符串,该匹配不需要获取供以后使用,例如,“Windows (?=95 | 98 | NT | 2000)“能匹配“此外”中的“窗口”,但不能匹配“Windows3.1”中的“Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。(? !模式)非获取匹配,正向否定预查,在任何不匹配模式的字符串开始处匹配查找字符串,该匹配不需要获取供以后使用,例如“Windows (? ! 95 | 98 | NT | 2000)“能匹配“Windows3.1”中的“窗口”,但不能匹配“此外”中的“窗口”。
  
  (& lt;=模式)非获取匹配,反向肯定预查,与正向肯定预查类似,只是方向相反,例如,“(& lt;=95 | 98 | NT | 2000)窗口”能匹配“2000”窗口中的“窗口”,但不能匹配“3.1窗中”的“窗口”。
  
  (? & lt; !模式)非获取匹配,反向否定预查,与正向否定预查类似,只是方向相反,例如“(? & lt; ! 95 | 98 | NT | 2000)窗口”能匹配“3.1窗中”的“窗口”,但不能匹配“2000”窗口中的“Windows”。这个地方不正确,有问题

Zabbix监控日志的方法