elk之logstash配置文件详解(代码片段)

joeywong joeywong     2023-02-06     626

关键词:

  Logstash 是一个开源的数据收集引擎,它具有备实时数据传输能力。它可以统一过滤来自不同源的数据,并按照开发者的制定的规范输出到目的地。它以插件的形式来组织功能,通过配置文件来描述需要插件做什么,配置文件主要由input、filter和output三部分组成。

一、input

  负责从数据源提取数据,由于我提取的是日志文件,所以使用的是file插件,该插件常用的几个参数是:

  • path:指定日志文件路径。
  • type:指定一个自定义名称,设置type后,可以在后面的filter和output中对不同的type做不同的处理,适用于需要消费多个日志文件的场景。
  • start_position:指定起始读取位置,“beginning”表示第一次启动从文件头开始读取,后面动态读取;“end”表示从文件尾开始(类似tail -f)。
  • sincedb_path:sincedb_path 指定sincedb文件的路径。sincedb保存每个日志文件已经被读取到的位置,如果Logstash重启,对于同一个文件,会继续从上次记录的位置开始读取。如果想重新从头读取文件,需要删除sincedb文件。如果设置为“/dev/null”,即不保存位置信息。

二、 output

  负责输出数据,改部分也有提供丰富的插件。 以es为例,需要指定es接收数据的地址和端口,以及日志存入的index 名称。
# 输出到es
output
        elasticsearch
            hosts => ["192.168.1.3:9200"]
            index => "log-%+YYYY.MM.dd"
        

三、filter

  负责通过配置插件来解析、处理日志数据。插件介绍

  •  grok:用于将非结构化的文本数据转化为结构化的数据,内部使用正则语法对文本数据进行匹配,为了降低使用复杂度,其提供了一组pattern,我们可以直接调用pattern而不需要自己写正则表达式,参考源码grok-patterns。也可以使用工具Grok Debugger可以对解析语法进行调试。
  • kv:用于将某个字段的值进行分解,类似于编程语言中的字符串Split。在下面的配置中,我们将request_args字段值按照“&”进行分解,分解后的字段名称以“request_args_”作为前缀,并且丢弃重复的字段。            
  • geoip:用于根据IP信息生成地理位置信息,默认使用自带的一份GeoLiteCity database,也可以自己更换为最新的数据库,但是需要数据格式需要遵循Maxmind的格式(参考GeoLite),似乎目前只能支持legacy database,数据类型必须是.dat。下载GeoLiteCity.dat.gz后解压, 并将文件路径配置到source中即可。        
  •  translate,用于检测某字段的值是否符合条件,如果符合条件则将其翻译成新的值,写入一个新的字段,匹配pattern可以通过YAML文件来配置。

elk之logstash系统日志和nginx日志收集-4(代码片段)

logstash常用参数 1path  是必须的选项,每一个file配置,都至少有一个path  2exclude  是不想监听的文件,logstash会自动忽略该文件的监听。配置的规则与path类似,支持字符串或者数组,但是要求必须是绝对路径。  3start_... 查看详情

elk日志分析平台之logstash数据采集(代码片段)

目录logstash简介数据采集三要素:输入,过滤和输出一Logstash安装与配置二Logstash的输入输出1命令行方式:标准输入到标准输出2conf文件方式:标准输入,输出到文件3conf文件方式:标准输入,输出到ES和... 查看详情

elk日志分析平台之logstash数据采集(代码片段)

目录logstash简介数据采集三要素:输入,过滤和输出一Logstash安装与配置二Logstash的输入输出1命令行方式:标准输入到标准输出2conf文件方式:标准输入,输出到文件3conf文件方式:标准输入,输出到ES和... 查看详情

elk之logstash学习(代码片段)

Logstash最强大的功能在于丰富的过滤器插件。此过滤器提供的并不单单是过滤的功能,还可以对进入过滤器的原始数据进行复杂的逻辑处理。甚至添加独特的事件到后续流程中。1、logstash基本语法组成logstash主要由三部分组成:in... 查看详情

elk之logstash的输入输出-4(代码片段)

logstash的标准输入输出[[email protected]logstash]#./bin/logstash-e‘inputstdinoutputstdoutcodec=>rubydebug‘hellowword"message"=>"hellow","host"=>"elk-node01","@version"=>"1","@timest 查看详情

elk做日志分析(filebeat+logstash+elasticsearch)配置(代码片段)

利用Filebeat去读取日志发送到Logstash,再由Logstash处理后发送给Elasticsearch。一、Filebeat项目日志文件:利用Filebeat去读取文件,paths下面配置路径地址,Filebeat会自动去读取/data/share/business_log/TA-*/debug.log文件#===========================Filebea... 查看详情

logstash配置文件详解(代码片段)

 logstashpipeline包含两个必须的元素:input和output,和一个可选元素:filter。 从input读取事件源,(经过filter解析和处理之后),从output输出到目标存储库(elasticsearch或其他)。 在生产环境使用logstash,一般使用都将配... 查看详情

海量日志下的日志架构优化:filebeat+logstash+kafka+elk(代码片段)

...构。但是如果业务每天会产生海量的日志,就有可能引发logstash和elasticsearch的性能瓶颈问题。因此改善这一问题的方法就是filebeat+logstash+kafka+ELK,也就是将存储从elasticsearch转移给消息中间件,减少海量数据引起的宕机,降低elast... 查看详情

elk搭建实时日志分析平台之二logstash和kibana搭建(代码片段)

...时日志分析平台之一ElasticSearch》文:铁乐与猫四、安装Logstashlogstash是一个数据分析软件,主要目的是分析log日志。1)下载和解压logstash下载地址:https://www.elastic.co/cn/downloads/logstash上传到服务器/usr/ELK目录后,解压:sudotar-zxvflog... 查看详情

elk上手2在centos下安装logstash和kibana(代码片段)

...安装ElassticSearch一、官网下载地址二、准备环境三、安装Logstash四、安装Kibana1.下载2.配置3.启动4.访问界面一、官网下载地址https://www.elastic.co/cn/downloads/logstash二、准备环境CentOS8JDK8三、安装Logstashwgethttps://artifacts.elastic.co/downloads/lo... 查看详情

elk日志分析平台之logstash数据采集(代码片段)

目录logstash简介数据采集三要素:输入,过滤和输出一Logstash安装与配置二Logstash的输入输出1命令行方式:标准输入到标准输出2conf文件方式:标准输入,输出到文件3conf文件方式:标准输入,输出到ES和... 查看详情

日志分析系统elk之logstash(代码片段)

Logstash什么是ELKLogstash简介Logstash组成1、输入2、过滤器(可选)3、输出Logstash安装与配置通过命令行运行Logstash参数-e参数-f日志输出到文件日志上传到elasticsearchLogstash伪装为日志服务器grok过滤插件分割命令行的信息输出... 查看详情

elk学习笔记之logstash之inputs配置

Logstash之inputs配置: inputplugindoc:https://www.elastic.co/guide/en/logstash/current/index.html插件很多,选两个常用的使用下。1.stdininputplugin参数:建立stdin-sample.conf:input{ stdin{}}output{ stdout{}}执行:. 查看详情

elk之logstash(代码片段)

1、logstash简介?logstash是一个数据分析软件,主要目的是分析log日志。整一套软件可以当作一个MVC模型,logstash是controller层,Elasticsearch是一个model层,kibana是view层。首先将数据传给logstash,它将数据进行过滤和格式化(转成JSON格... 查看详情

elk学习笔记之logstash之filter配置

Logstash之filter: jsonfilter:input{      stdin{      }}filter{      json{     &nb 查看详情

docker安装logstash(代码片段)

使用同版本镜像7.4.11、下载Logstash镜像dockerpulllogstash:7.4.1#查看镜像dockerimages 2、编辑logstash.yml配置文件logstash.yml配置文件放在宿主机/data/elk/logstash目录下,内容如下:path.config:/usr/share/logstash/conf.d/*.confpath.logs:/var/log/logstash ... 查看详情

elk上手3logback接入logstash(代码片段)

ELK上手3logback接入logstash一、准备工作二、Logstash配置三、Logback设置1.pom.xml引用2.logback-spring.xml设置四、kibana查看日志1.设置索引2.查看日志一、准备工作已安装Elasticsearch已安装logstashJava开发环境二、Logstash配置在Logstash的config目录... 查看详情

elk上手3logback接入logstash(代码片段)

ELK上手3logback接入logstash一、准备工作二、Logstash配置三、Logback设置1.pom.xml引用2.logback-spring.xml设置四、kibana查看日志1.设置索引2.查看日志一、准备工作已安装Elasticsearch已安装logstashJava开发环境二、Logstash配置在Logstash的config目录... 查看详情