前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Logstash 处理多种格式日志

Logstash 处理多种格式日志

作者头像
franket
发布于 2022-01-20 03:01:10
发布于 2022-01-20 03:01:10
1.5K00
代码可运行
举报
文章被收录于专栏:技术杂记技术杂记
运行总次数:0
代码可运行

前言

生产环境下使用 logstash 经常会遇到多种格式的日志,比如 mongodb 的慢日志,nginx或apache的访问日志,系统syslog日志,mysql的慢日志等

不同日志的解析方法不一样,产生的输出也不一样,如果使用同一个 input|filter|output 流必将导致混乱,最常见的问题就是日志无法获得正确解析 ,message中的内容还是一整条,并没有从中捕获出我们关心的域值,依旧是schemaless的状态,同时tags中会产生 _grokparsefailure 的标记,然后多种日志都存到了同一个index中,混乱不以,给后期的日志分析也带来不便

logstash提供了一种判断机制来对不同内容进行判断,然后分别处理

这里简单分享一下 logstash 中同时处理 mysql慢日志nginx访问日志 的配置过程,相关的详细内容可以参考 Event Dependent ConfigurationLogstash Configuration Examples

Tip: 当前的最新版本为 Logstash 2.1.1filebeat-1.0.1


概要


软件版本

  • percona server 5.6.27-75.0 #是这个版本产生的慢日志,其它版本使用下面的正则,不一定能正常解析
  • elasticsearch 2.1.1
  • logstash 2.1.1
  • filebeat-1.0.1

logstash配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@logstash-server conf.d]# cat filebeat-logstash-es.conf 
input {
	
	beats{
		port => 5077
		tags => ["nginx_access_log"]
	}
	beats{
                port => 5088
                codec => multiline {
                   pattern => "^# User@Host:"
                   negate => true
                   what => previous
                }
		tags => ["mysql_slow_log"]
        }	
}

filter {

 if "nginx_access_log" in [tags] {
  	grok {
    	match => { "message" => "%{COMBINEDAPACHELOG}" }
  	}
 }
 if "mysql_slow_log" in [tags] {
	grok {
	match => [ "message", "(?m)^#\s+User@Host:\s+%{USER:user}\[[^\]]+\]\s+@\s+%{USER:clienthost}\s+\[(?:%{IP:clientip})?\]\s+Id:\s+%{NUMBER:id:int}\n#\s+Schema:\s+%{USER:schema}\s+Last_errno:\s+%{NUMBER:lasterrorno:int}\s+Killed:\s+%{NUMBER:killedno:int}\n#\s+Query_time:\s+%{NUMBER:query_time:float}\s+Lock_time:\s+%{NUMBER:lock_time:float}\s+Rows_sent:\s+%{NUMBER:rows_sent:int}\s+Rows_examined:\s+%{NUMBER:rows_examined:int}\s+Rows_affected:\s+%{NUMBER:rows_affected:int}\n#\s+Bytes_sent:\s+%{NUMBER:bytes_sent:int}\n\s*(?:use\s+%{USER:usedatabase};\s*\n)?SET\s+timestamp=%{NUMBER:timestamp};\n\s*(?<query>(?<action>\w+)\b.*)\s*(?:\n#\s+Time)?.*$"]
	}
        date {
            match => [ "timestamp", "UNIX" ]
            #remove_field => [ "timestamp" ]
        }

 }

}

output {


    if "nginx_access_log" in [tags] {
	elasticsearch {
		hosts=>["localhost:9200"]
		index=>"%{[@metadata][beat]}-%{+YYYY.MM.dd}"
		document_type => "%{[@metadata][type]}"
	}
    }

    if "mysql_slow_log" in [tags] {
	elasticsearch {
		hosts=>["localhost:9200"]
		index=>"mysql-slow-log-%{+YYYY.MM.dd}"
	}
    }
}
[root@logstash-server conf.d]#

本文系转载,前往查看

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

本文系转载,前往查看

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Logstash 处理 Mysql Slow Log1
展示上面的例子,只是想说明,不同大版本(5.1与5.5)的mysql slow log 格式不一致,相同大版本小版本不同的mysql也不一致,并且不同mysql变种(percona server) 也会不一致,即便版本都一致了,同一个slowlog中的不同记录格式也不尽相同,这就是它麻烦的地方
franket
2022/01/20
3790
MySQL日志收集之Filebeat和Logstsh的一键安装配置(ELK架构)
关于ELK是什么、做什么用,我们不在此讨论。本文重点在如何实现快速方便地安装logstash和filebeat组件,特别是在近千台DB Server的环境下(为了安全保守,公司DB Server 目前尚未部署saltstack一类的管控软件)。在尽可能标准化的条件下,希望可以实现一键化安装。下面是我们功能实现的一些尝试,我们把手动一步步操作打包提炼到一个sh文档中,安装部署时只要执行sh文件即可。部署安装logstash和filebeat组件由原来的10分钟缩减到目前的1分钟左右,并且减少了因手动部署带来的误操作。
东山絮柳仔
2021/03/18
7150
Logstash 处理 Mysql Slow Log4
logstash的流水线模型是 intpu|[filter]|output,其中 filter 部分为可选,但是处理mysql这种复杂的日志,没有filter,还真不行
franket
2022/01/20
2820
【ES私房菜】Logstash 安装部署及常用配置
该文章介绍了如何基于Logstash的配置文件,实现不同来源的日志的收集、处理和转发。主要包括了Kafka、Filebeat、Fluentd、Graylog、Elasticsearch、Kibana和Logstash等多个组件的配置和使用方法。同时,文章还提供了在CentOS系统上部署Logstash的步骤和示例配置文件。
张戈
2017/09/28
6.6K0
【ES私房菜】Logstash 安装部署及常用配置
Logstash 处理 Mysql Slow Log6
output 是经过加工和处理后,事件日志的去向 Item Comment output { 框定出口的定义范围 elasticsearch { 定义了一个出口,使用 elasticsearch 插件来进行输出,将结果输出到ES中 hosts => ["localhost:9200"] 指定es的目标地址为 localhost:9200 index=>"mysql-slow-log-%{+YYYY.MM.dd}" 指定存到哪个index,如不指定,默认为logstash-%{+YYYY.MM.dd} std
franket
2022/01/20
2110
ELK+filebeat日志分析系统部署文档
filebeat部署在客户端用于收集日志并把收集到的日志发送到logstash. logstash把收集到的日志处理之后交给elasticsearch. kibana从elasticsearch中提取数据并进行展示. 之所以使用filebeat进行日志收集是因为filebeat不会像logstash使用大量的资源,影响业务服务器.
星哥玩云
2022/07/12
4300
ELK+filebeat日志分析系统部署文档
ELK-收集mysql slow 日志
开发和DBA为了能够实时掌握mysql的运行情况,需要对mysql中执行的sql指令大于1秒的统计出来,并且通过ELK分析,统计,实时查看。通过分析可以让DBA能够优化数据库,能够提升运行速度。
星哥玩云
2022/09/15
6250
ELK实时日志分析平台环境部署--完整记录
在日常运维工作中,对于系统和业务日志的处理尤为重要。今天,在这里分享一下自己部署的ELK(+Redis)-开源实时日志分析平台的记录过程(仅依据本人的实际操作为例说明,如有误述,敬请指出)~ 一、概念介绍 日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。 通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的
洗尽了浮华
2018/01/22
2.1K0
ELK实时日志分析平台环境部署--完整记录
Logstash 基础12
发现在输入 # User@Host: 之前,所有的行都被进行压栈处理,输入此条信息后,前面的信息进行了一个完结,又重新等待新的输入,直到遇到又一个 # User@Host:
franket
2022/02/11
1870
ELK构建MySQL慢日志收集平台详解
ELK最早是Elasticsearch(以下简称ES)、Logstash、Kibana三款开源软件的简称,三款软件后来被同一公司收购,并加入了Xpark、Beats等组件,改名为Elastic Stack,成为现在最流行的开源日志解决方案,虽然有了新名字但大家依然喜欢叫她ELK,现在所说的ELK就指的是基于这些开源软件构建的日志系统。
小尘哥
2018/09/29
1.7K0
ELK构建MySQL慢日志收集平台详解
使用ModSecurity & ELK实现持续安全监控
在这篇博文中Anand Tiwari将讲述他在建立这样一个监控和警报系统时的经历和面临的挑战
Al1ex
2022/09/07
2.5K0
使用ModSecurity & ELK实现持续安全监控
基于ELK Nginx日志分析
针对业务需求建立用户访问行为记录,基于ELK(Elasticsearch日志检索+Logstash日志收集+Kibana查询 展示)日志处理技术,建立业务日志采集和智能分析系统,实现了对访问用户的行为跟踪和针对不同类别用户的访问热点分析、趋势分析和对比分析。
Kevin song
2020/02/19
2.8K0
ELK安装
https://blog.csdn.net/magerguo/article/details/79637646
dogfei
2020/07/31
6630
Logstash 处理多种格式日志1
关键是 tags => [“nginx_access_log”] ,这是在对自己这个输入源的日志进行打标
franket
2022/01/20
2370
大数据ELK(二十二):采集Apache Web服务器日志
Apache的Web Server会产生大量日志,当我们想要对这些日志检索分析。就需要先把这些日志导入到Elasticsearch中。此处,我们就可以使用Logstash来实现日志的采集
Lansonli
2021/12/12
1.9K1
大数据ELK(二十二):采集Apache Web服务器日志
filebeat及logstash配置
在 Filebeat 的配置文件中,fields 配置项允许你添加自定义字段,以便更好地描述、分类或标记日志事件。
章工运维
2023/05/19
6420
【ES三周年】深入理解 ELK 中 Logstash 的底层原理 + 填坑指南
通过本篇内容,你可以学到如何解决 Logstash 的常见问题、理解 Logstash 的运行机制、集群环境下如何部署 ELK Stack。
悟空聊架构
2023/02/23
7.9K2
【ES三周年】深入理解 ELK 中 Logstash 的底层原理 + 填坑指南
ELK日志系统 - Logstash篇
Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据、转换数据,然后将数据发送到您最喜欢的 “存储库” 中。
行 者
2019/12/10
9620
ELK 采集 Nginx 日志联动 ZABBIX 实现 状态码 告警
Nginx 日志配置请参考微信公众号ELK专栏《基于ELK Nginx日志分析》的文章
Kevin song
2020/04/27
1.4K0
ELK 采集 Nginx 日志联动 ZABBIX 实现 状态码 告警
10 分钟快速搭建 ELK 日志分析系统
作者:Json、 一、ELK搭建篇 官网地址: https://www.elastic.co/cn/ 官网权威指南: https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html 安装指南: https://www.elastic.co/guide/en/elasticsearch/reference/5.x/rpm.html ELK是Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全
小小科
2018/05/04
8.2K0
10 分钟快速搭建 ELK 日志分析系统
相关推荐
Logstash 处理 Mysql Slow Log1
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验