Logstash多管道配置:pipeline1参数设置与运行方法咨询
Logstash 多管道配置与运行问题解答
一、my-pipeline-1的配置文件(p1.config)必填核心结构
Logstash管道配置文件的核心是三段式结构,其中input和output为必填项,filter根据数据处理需求可选:
- Input段:定义数据来源,需指定对应数据源的参数。比如读取本地Nginx日志的示例:
input { file { path => "/var/log/nginx/access.log" start_position => "beginning" } } - Filter段(可选):对输入数据做清洗、转换、解析,比如用
grok匹配日志格式、mutate调整字段:filter { grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } mutate { remove_field => ["message"] } } - Output段:定义数据输出目标,比如Elasticsearch、控制台或本地文件:
output { elasticsearch { hosts => ["http://localhost:9200"] index => "nginx-access-%{+YYYY.MM.dd}" } stdout { codec => rubydebug } # 可选,控制台打印调试数据 }
除了这三段,你也可以在配置文件中添加全局参数(如pipeline.workers),但输入、输出是管道运行的必要基础。
二、运行my-pipeline-1的两种方式
方式1:基于已配置的pipeline.yml启动(多管道同时运行)
你已经在pipeline.yml中完成了双管道配置,直接启动Logstash即可自动加载并运行所有配置的管道:
# Linux/macOS环境 bin/logstash # Windows环境 bin\logstash.bat
Logstash会默认读取config/目录下的pipeline.yml,同时启动my-pipeline-1和my-pipeline-2,各自使用你配置的参数(比如my-pipeline-1的3个worker)。
方式2:单独运行my-pipeline-1
如果只想启动这一个管道,有两种操作路径:
- 临时修改pipeline.yml:注释掉my-pipeline-2的配置块,再启动Logstash即可只运行my-pipeline-1。
- 启动时直接指定配置文件:跳过pipeline.yml,用命令直接指定p1.config和管道参数:
其中bin/logstash -f /etc/logstash/conf.d/p1.config --pipeline.id my-pipeline-1 --pipeline.workers 3--pipeline.workers 3是可选的,也可以直接在p1.config中添加全局参数pipeline.workers: 3来设置。
内容的提问来源于stack exchange,提问作者sayali rane
相关产品推荐
相关产品推荐

