# Sample Logstash configuration for creating a simple # Beats -> Logstash -> Elasticsearch pipeline. input { beats { port => 5044 client_inactivity_timeout => 36000 } } filter { grok{ match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:level} %{JAVALOGMESSAGE:thread} %{JAVALOGMESSAGE:style} : %{JAVALOGMESSAGE:msg}" } } date { match => [ "timestamp" , "yyyy-MM-dd HH:mm:ss,S", "ISO8601" ] } mutate { remove_field => "agent" remove_field => "ecs" remove_field => "@version" remove_field => "host" remove_field => "path" remove_field => "log.flags" } } output { stdout{ codec => rubydebug } if "my-test" in [tags] { elasticsearch { hosts => ["http://192.168.13.205:9200"] index => "test-%{+YYYY.MM.dd}" user => "elastic" password => "1qaz)P:?" } } }
时间: 2024-02-21 08:22:39 浏览: 165
elasticsearch-7.8.0-x86_64.rpm + kibana-7.8.0-x86_64.rpm + logstash-7.8.0.rpm
这是一个简单的Logstash配置文件,用于创建一个Beats -> Logstash -> Elasticsearch的数据流水线。以下是配置文件的说明:
1. 输入配置(input):
- 使用Beats插件从端口5044接收日志数据。
- 设置客户端不活动超时时间为36000秒。
2. 过滤器配置(filter):
- 使用Grok插件将日志消息解析为多个字段,根据日志消息格式进行匹配和提取。
- 使用Date插件将timestamp字段解析为日期时间格式,匹配的格式包括"yyyy-MM-dd HH:mm:ss,S"和"ISO8601"。
- 使用Mutate插件删除一些不需要的字段,包括agent、ecs、@version、host、path和log.flags。
3. 输出配置(output):
- 使用Stdout插件将处理后的日志输出到控制台,方便调试和查看。
- 如果标签(tags)中包含"my-test",则使用Elasticsearch插件将日志发送到Elasticsearch集群。
- 指定Elasticsearch主机列表为["http://192.168.13.205:9200"]。
- 指定索引名称为"test-%{+YYYY.MM.dd}",其中%{+YYYY.MM.dd}会根据当前日期动态生成索引名。
- 指定Elasticsearch集群的用户名和密码为"elastic"和"1qaz)P:?"。
这个配置文件假设你的Logstash服务器已经安装并运行在192.168.13.205的地址上,接收来自Beats端口5044的日志数据,并将处理后的日志发送到Elasticsearch集群。你可以根据需要进行适当的调整和修改。
阅读全文