前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Z大牛分享 | Zabbix监控日志文件

Z大牛分享 | Zabbix监控日志文件

作者头像
Zabbix
发布2021-02-03 09:47:24
2.2K0
发布2021-02-03 09:47:24
举报
文章被收录于专栏:Zabbix中国官方
既然你诚心诚意的发问了 那我就大发慈悲的告诉你 为了防止世界被破坏 为了守护世界的和平 贯彻爱与真实的邪恶 可爱又迷人的反派角色

老金

今天来给大家讲一讲

Zabbix监控日志文件

文| 懒懒的天空

最近很多人在咨询日志监控的事情,对于日志这个问题,简单也简单,不简单也不简单,日志最先反映出应用当前的问题,在海量日志里面找到我们异常记录,然后记录下来,并且根据情况报警,大家可以监控系统日志、nginx、Apache、业务日志。想用好用对,不是辣么容易,一直想系统的写下,无奈人比较懒,就把自己的微薄经验跟大家一起互相学习下。zabbix最主要的是监控日志文件中有没有某个字符串的表达式,支持日志文件正则和关键字正则,其是把日志文件中符合关键字的日志过滤出来入库,不包含的日志不采集,且只支持主动模式。

1、 zabbix日志监控表达式描述

1)log[/var/log/syslog,<regexp>,<encoding>,<maxlines>,<mode>,<output>]

2)logtr[/var/log/.*.log,<regexp>,<encoding>,<maxlines>,<mode>,<output>]

l egexp:要匹配内容的正则表达式,或者直接写你要检索的内容也可以。譬如一个ERROR 二个 ERROR|FALSE,当然你也可以不写,就采集了所有的日志了

l encoding:编码相关,linux建议用UTF-8,WIN建议用ANSI,具体情况具体分析

l maxlines:一次性最多提交多少行,这个参数覆盖配置文件zabbxi_agentd.conf中的’MaxLinesPerSecond’,默认留空

l mode:默认是all,也可以是skip,skip会跳过老数据,这个最好是skip,不然会采集历史数据

l output:输出给zabbixserver的数据。可以是\1、\2一直\9,\1表示第一个正则表达式匹配出得内容,\2表示第二个正则表达式匹配错的内容。这个没怎么用

log支持日志切割,只监控当前文件夹日志 logrt支持文件正则,支持多个日志文件采集,不管新旧文件,只要他们有变更,zabbix都会监控。

注意,一定要保证Zabbix用户对日志文件有可读权限,否则这个Item的状态会变“unsupported”。

2、zabbix监控linux日志举例

zabbix监控linux登陆日志,如下有日志切割

1) -rw-------. 1 root root 0 6月 15 09:42 secure

2) -rw-------. 1 root root 91 2月 26 12:50 secure-20170226

3) -rw-------. 1 root root 91 2月 26 17:51 secure-20170317

4) -rw-------. 1 root root 60 3月 27 12:35 secure-20170329

5) -rw-------. 1 root root 0 3月 29 20:34 secure-20170615

监控项配置如下图,过滤用了正则(Accepted|Failed)

采集后的日志如下图

触发器配置如下图,我是非法登陆6次才报警,不然被攻击了报个不停

注意,日志触发器一般要加nodata(60)=0,不然你的触发器的值会一直是problem,会一直触发报警,切记

3、zabbix监控windows日志举例

windows日志如果日志内容有中文的话,你不配置好编码,你就等着乱码吧,哈哈哈哈哈。具体跟前面差不多,怎样判断编码方式呢,这里有个小技巧,你用记事本打开日志内容,然后另存日志,就可以看到你的日志的编码方式了,不知道准不准,我反正都是这么干的,一般来说都是ANSI编码,我就下面举个简单的logrt例子:

1) logrt[{"c:\server.*.log","连接服务器失败",ANSI,,skip,]

4、日志监控题外话

zabbix只能做简易的日志采集报警,如果需要做日志分析,或者做日志查询展示,这个ELK真是不二选择。 ELK 其实并不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写,Elasticsearch,Logstash 和 Kibana。这三款软件都是开源软件,通常是配合使用,而且又先后归于 Elastic.co 公司名下,故被简称为 ELK 协议栈,架构如下,就不展开说了:

不过现在前端采集日志文件一般用filebeat了。我自己开发了一套简易的日志采集报警方式,应付日常应用勾勒,架构如下图,见笑了:

采集服务器用filebeat送到kafka集群缓存,python客户端处理日志,入mysql数据库,同时从redis服务器取过滤关键字,匹配日志,匹配则发送到redis消息发布,客户端通过消息订阅即可实时收到报警日志。同时使用loganalyzer进行日志的查询分析。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Zabbix开源社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档