概述
Logstash来自ES家族,是一款强大的数据处理工具,它可以实现数据传输,格式处理,格式化输出,还有强大的插件功能,常用于日志处理。
Logstash的数据处理流水线有三个主要角色完成:inputs –> filters –> outputs:
![2e88076266bbd776bc2ecf0912691f4a.png](https://img-blog.csdnimg.cn/img_convert/2e88076266bbd776bc2ecf0912691f4a.png)
- inputs:必须,负责产生事件(Inputs generate events),常用:File、syslog、redis、kafka、beats(如:Filebeats) 【拓展阅读】
- filters:可选,负责数据处理与转换(filters modify them),常用:grok、json,mutate、drop、clone、geoip 【拓展阅读】
- outputs:必须,负责数据输出(outputs ship them elsewhere),常用:elasticsearch、file、graphite、statsd、kafka【拓展阅读】
安装部署
logstash安装启动都非常简单,这里就简单提一下关键步骤:
1、部署jdk环境(这部分就不做介绍了)
2、安装 logstash
①、下载:
wget https://artifacts.elastic.co/downloads/logstash/logstash-5.5.1.tar.gz
②、解压:
tar -xvf logstash-5.5.1.tar.gz
③、启动
nohup ./bin/logstash -f config/logstash.conf >/dev/null 2>&1 &
常用input配置:
1、读日志文件:
![bdc1a8dee2cc8ddadd93250d5c5afec9.png](https://img-blog.csdnimg.cn/img_convert/bdc1a8dee2cc8ddadd93250d5c5afec9.png)
2、监听beat数据
![1d8336c659e510c4194689b4cc4132d9.png](https://img-blog.csdnimg.cn/img_convert/1d8336c659e510c4194689b4cc4132d9.png)
3、读取redis数据
![7a7b89eefee5ccf086241f541e51110b.png](https://img-blog.csdnimg.cn/img_convert/7a7b89eefee5ccf086241f541e51110b.png)
常用filter配置
1、MySQL慢日志:
filter { #区分字段: if [@metadata][type] == "mysql_slow_log" { grok { # 正则匹配(不同MySQL版本慢日志格式可能不通,此处适用于MySQL 5.7+版本) match => [ "message