热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

既然你发问了,那我

既然你诚心诚意的发问了
那我就大发慈悲的告诉你
为了防止世界被破坏
为了守护世界的和平
贯彻爱与真实的邪恶
可爱又迷人的反派角色

老金

今天来给大家讲一讲

Zabbix监控日志文件

文| 懒懒的天空

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

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

1)log[/var/log/syslog,,,,,]

2)logtr[/var/log/.*.log,,,,,]

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进行日志的查询分析。




推荐阅读
  • centos6.8 下nginx1.10 安装 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 深入解析Linux下的I/O多路转接epoll技术
    本文深入解析了Linux下的I/O多路转接epoll技术,介绍了select和poll函数的问题,以及epoll函数的设计和优点。同时讲解了epoll函数的使用方法,包括epoll_create和epoll_ctl两个系统调用。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • Nginx Buffer 机制引发的下载故障
    Nginx ... [详细]
  • 开发笔记:Squid代理服务
    本文由编程笔记#小编为大家整理,主要介绍了Squid代理服务相关的知识,希望对你有一定的参考价值。Squid服务基础缓存代理概述 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • nginx+多个tomcat
    学习nginx的时候遇到的问题:nginx怎么部署两台tomcat?upstream在网上找的资源,我在nginx配置文件(nginx.conf)中添加了两个server。结果只显 ... [详细]
  • ZABBIX 3.0 配置监控NGINX性能【OK】
    1.在agent端查看配置:nginx-V查看编辑时是否加入状态监控模块:--with-http_stub_status_module--with-http_gzip_stat ... [详细]
author-avatar
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有