🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 一、概述 Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中; ### **架构** ![](https://img.kancloud.cn/f4/f7/f4f7bebf80feaadebed1fe3e44409342_782x428.png) ### **核心功能** Logstash实现的功能主要分为接收数据、解析过滤并转换数据、输出数据三个部分,这三个功能对应的插件依次是input插件、filter插件、output插件,其中,filter插件是可选的,其它两个是必须插件; * input:数据收集 * filter:数据加工,如过滤,修改等。 * output:数据输出 ## 二、安装运行 下载: ``` wget https://artifacts.elastic.co/downloads/logstash/logstash-7.15.1-linux-x86_64.tar.gz ``` 解压: ``` tar -zxvf logstash-7.15.1-linux-x86_64.tar.gz ``` ``` mv logstash-7.15.1 logstash ``` 运行: ``` nohup bin/logstash -f config/logstash-sample.conf & ``` ``` tail -f nohup.out ``` ## 三、配置 Logstash配置文件有如下三部分组成,其中input、output部分是必须配置,filter部分是可选配置; ``` input { 输入插件 } filter { 过滤匹配插件 } output { 输出插件 } ``` ### **logstash-sample.conf样例** ``` # Sample Logstash configuration for creating a simple # Beats -> Logstash -> Elasticsearch pipeline. input { beats { port => 5044 } } output { elasticsearch { hosts => ["http://localhost:9200"] index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" #user => "elastic" #password => "changeme" } } ``` ## 四、输出到ElasticSearch logstash可以将采集到的数据输出到文件、Redis、ElasticSearch等各种存储库中去; ``` output {   elasticsearch{ action => "index" index => "%{[fields][product_type]}-transaction-%{+YYYY-MM}"   hosts => ["10.0.xx.xx:9200", "10.0.xx.xx:9200", "10.0.xx.xx:9200"] } } ```