Logstash的output模块,相比于input模块来说是一个输出模块,output模块集成了大量的输出插件,如:可以输出到控制台、输出到指定的文件,输出到指定的网络端口、也可以输出数据到kafka/ES等等,下面介绍几种常见的输出插件及其常用配置。
官方手册:https://www.elastic.co/guide/en/logstash/current/output-plugins.html
1. 输出到控制台
output {
stdout {
codec => rubydebug
}
}
从logstash输出的时候,通过codec解码成相应格式
2. 输出到指定文件
output {
file {
path => "/data/logs/%{+YYYY-MM-dd}-%{host}.log" # 文件名为:日期-host字段值.log
codec => line {
format => "%{message}" # 自定义输出格式,这里只输出message字段内容,如果不指定则默认输出所有字段,格式为json
}
gzip => true # 在写入磁盘之前对输出流进行 Gzip 压缩
}
}
3. 输出到kafka
output {
kafka {
codec => json
bootstrap_servers => "192.168.149.100:9092,192.168.149.101:9092"
topic_id => "mytopic"
}
}
4. 输出到UDP
output {
udp {
host => "127.0.0.1"
port => "514"
codec => line { format => "%{message}" } # 自定义格式
}
}