温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Zabbix监控日志的方法

发布时间:2020-06-10 17:44:54 来源:亿速云 阅读:1346 作者:元一 栏目:系统运维

Zabbix 简介

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

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

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

Zabbix优点:

1 支持分布式监控

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

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

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

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

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

Zabbix 缺点:

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

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

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

4 zabbix较cacti来说,画图功能较差些、流量获取较为复杂。

示例一:

监控项目

键值设置:

log[/data/canal/logs/job-xxx-xxx/job-xxx-xxx.log,"caused|Exception|DRROR",,,skip,,]

yyyy-MM-dd hh:mm:SS

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

触发器:

问题表达式:{aws-bigdata-canal-49-63:log[ /data/canal/logs/job-xxx-xxx/job-xxx-xxx.log,"caused|Exception|DRROR",,,skip,,].nodata(10s)}=0
恢复表达式:{aws-bigdata-canal-49-63:log[ /data/canal/logs/job-xxx-xxx/job-xxx-xxx.log,"caused|Exception|DRROR",,,skip,,].nodata(2m)}=1

nodata(2m) 这个函数是在2分钟内没有数据 1:true 0:false 。 所以获取到关键字 "caused|Exception|DRROR" nodata函数值就会变成false,就会触发 触发器,达到监控的目的!
Zabbix监控日志的方法
Zabbix监控日志的方法
Zabbix监控日志的方法

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

监控项目:

  log[/var/log/test_file.log,"Error|(?<!Api)Exception|before system exit|kill current process failed|known server|timed out",,,skip,]   

这里重点讲解(?<!Api)Exception只匹配到Exception 不匹配ApiException找到相关文章解释如下

(?:pattern) 非获取匹配,匹配pattern但不获取匹配结果,不进行存储供以后使用。这在使用或字符“(|)”来组合一个模式的各个部分是很有用。例如“industr(?:y|ies)”就是一个比“industry|industries”更简略的表达式。 

(?=pattern) 非获取匹配,正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串,该匹配不需要获取供以后使用。例如,“Windows(?=95|98|NT|2000)”能匹配“Windows2000”中的“Windows”,但不能匹配“Windows3.1”中的“Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。 (?!pattern) 非获取匹配,正向否定预查,在任何不匹配pattern的字符串开始处匹配查找字符串,该匹配不需要获取供以后使用。例如“Windows(?!95|98|NT|2000)”能匹配“Windows3.1”中的“Windows”,但不能匹配“Windows2000”中的“Windows”。

(?<=pattern) 非获取匹配,反向肯定预查,与正向肯定预查类似,只是方向相反。例如,“(?<=95|98|NT|2000)Windows”能匹配“2000Windows”中的“Windows”,但不能匹配“3.1Windows”中的“Windows”。 

(?<!pattern) 非获取匹配,反向否定预查,与正向否定预查类似,只是方向相反。例如“(?<!95|98|NT|2000)Windows”能匹配“3.1Windows”中的“Windows”,但不能匹配“2000Windows”中的“Windows”。这个地方不正确,有问题

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI