又是长期未进行更新…其实是我最近很忙总是没法安静下来静静的敲会键盘。这篇文章讲个小话题就是使用zabbix的日志监控功能。其实对日志的监控使用的还是比较少的,一般线上的代码基本经过测试是属于稳定版本如果对日志监控会造成zabbix额外的消耗性能。但是对日志监控还是在有些情况会进行使用比如:公司购买了一套产品,但是有时候会出现锁表、程序内部卡死的情况…但是应用并不会停止而且对进程或者端口监控是没有用的。这种小小的逻辑错误在表面上是看不出来可能会对整体应用造成雪崩效应,但是应用出现内部逻辑错误的时候会在日志中打出错误(如果你开启的日志的话)这样使用zabbix的日志监控功能能很好的发现问题并即使解决问题!
如何使用zabbix对指定日志进行监控:
关于zabbix_server的配置我这里就不在叙述,如果有需要可以自行google。
①首先需要在zabbix_agent端进行对配置文件设置:
vim zabbix_agentd.conf #只需要填写如下三个选项即可搞定: Server=#你的zabbix_server所在地址或者主机名 ServerActive=#你的zabbix_server所在地址或者主机名还有监听的端口默认10051 Hostname=#这个选项比较关键,一旦起好名字并且启动了zabbix_agent可别随意修改了原因在后面说。
随后启动zabbix_agent即可!systemctl start zabbix-agent
②在zabbix-web中对指定日志进行监控:
首先选择主机:
随后创建一台主机并且将主机名称设置为与你在zabbix_agent配置文件中相同的主机名,切记切记否则你会发现全部设置完以后没有任何的日志进入。
随后找到你新创建的主机的监控项中添加一个监控项目:
首先选择类型:比如要选择为zabbix客户端的主动式提供数据,日志监控只能由zabbix_agent提供相关数据,并不能让zabbix_server来收集数据。随后键值找到以log为关键字的类型,其中的选项其实大多数情况下只需填写三个即可:
- <regexp>:表示日志所在的位置,可别填错哦!
- <encoding>:表示日志需要搜索的关键词。
- <mode>:模式,详细可以查看这里,我这边选择为skip跳过之前的日志数据。
那么可以填成这样:log[/var/log/test.log,”ERROR”,,,skip,] 然后的历史数据保存的时间建议不要太长,zabbix虽然可以帮你过滤日志并且保存数据,但这样对磁盘的空间压力太大,建议用elasticsearch来保存数据,不知道elasticsearch看这里!日志时间格式的意思就是在最新数据中显示的日期格式!
填写完以后保存即可!别忘了多添加一些关键字的数据到指定日志中:
echo "ERROR test test" >> /var/log/test/log
随后在检测中->最新数据中将刚才的监控项的名称为关键字进行搜索来查看数据!如果看到有相关日志出现说明监控项添加完毕,如果过了一段时间啥都没有那么请查看你的hostname名称是否一至?
③添加好了监控项以后,随后添加触发器,如果遇到错误会进行报警:
监控项请自行选择,其中的V表示匹配字符串,这里可以写的短一些因为匹配的是在最新数据中的关键词!我这边也填了一个ERROR。
随后查看上上张图片的,点击下面的表达式构造器:
第二个表达式功能选择在T时间内有没有数据来决定是否发送告警!时间我这边设定为60秒。随后插入之后然后在上上张图选择和来让两个表达式连接起来。随后选择推出构造器,查看结果。
写好以后选择保存就算完成了,如果需要测试那么就多插入一些ERROR字段等着报警即可!
总结:
这篇文章只是片面的讲解了添加日志监控的过程。给一些有zabbix架构的“童鞋”急需添加日志监控使用。还有很多关于server的安装、报警的设置并没有写明。如果有兴趣可以查看其他博客!
Comments