一、装置
1、下载并解压
# 下载,不同的操作系统下载不同的包wget https://artifacts.elastic.co/downloads/logstash/logstash-7.12.0-darwin-x86_64.tar.gz# 解压tar -zxvf logstash-7.12.0-darwin-x86_64.tar.gz# 重命名mv logstash-7.12.0 logstash
2、logstash 一些命令行参数
1、查看帮忙信息
cd logstashbin/logstash -h
2、加载指定pipeline文件门路
bin/logstash -f 文件门路
留神⚠️:-f
前面跟的文件门路能够是一个文件的门路,也能够是一个文件夹的门路,如果是文件夹的门路,则会加载该文件夹下的文件,组成一个大的 pipeline 文件。
3、检测配置文件语法是否有谬误
bin/logstash -t
4、热加载pipeline配置文件
bin/logstash -r
5、指定绑定的主机和启动的端口
bin/logstash --http.host 127.0.0.1 --http.port 9210
留神⚠️:
更多配置项参考 bin/logstash -h
的输入。
3、批改logstash的配置文件
1、批改jvm的配置
vim config/jvm.options批改 -Xms 和 -Xmx 等其余参数的值。
2、批改logstash.yml配置
vim config/logstash.yml
# 设置节点的名字node.name: logstash-01# 设置 pipeline 的idpipeline.id: mainpipeline.ordered: auto# 设置pipeline 的线程数(filter+output),默认是cpu的核数# pipeline.workers: 2# 设置main pipeline文件所在的地位# path.config:# 主动从新加载pipeline配置文件config.reload.automatic: true# 设置http api 绑定的ip和端口http.host: 127.0.0.1http.port: 9201# 设置logstash队列的类型 为长久化,默认是 memoryqueue.type: persisted
4、编写一个pipeline文件
实现性能,接口从控制台输出的数据而后输入到管制台上。
文件名: pipeline.conf/demo-std.conf
# 输出, stdin 示意规范输出input { stdin { codec => plain { charset => "UTF-8" } # type 的值轻易给,就一个标识,前期不便查问 type => "console input" # 增加一个 tag tags => ["console"] }}# 数据过滤filter { }# 输入 stdout 示意输入output { stdout { codec => rubydebug { } }}
5、启动logstash
启动的时候,间接某个pipeline文件
# -f 指定 pipeline 文件的门路bin/logstash -f pipeline.conf/demo-std.conf
6、查看运行后果
二、pipeline的组成
由上图可知,一个pipeline有三个元素组成input
、filter
和output
。其中 input
和output
是必须的。filter
是可选的。
input
:指定了从那个中央抓取数据,比方:文件(file)、beats、tcp等等。filter
:是咱们能够批改input的数据,比方减少字段、重命名字段、批改字段类型等等。output
:决定了咱们解决好的数据输入到哪里,比方:es、file、等等。
三、参考链接
1、logstash下载地址
2、logstash的目录构造
3、logstash.yml配置文件的参数
4、logstash命令行参数