Elasticsearch系列组件:Logstash强大的日志管理和数据分析工具
warning:
这篇文章距离上次修改已过188天,其中的内容可能已经有所变动。
Logstash是一个强大的开源数据处理管道,它可以同时获取来自不同源的数据,对这些数据进行转换,并将这些数据发送到一个或多个目的地。
以下是一个Logstash配置的基本示例,它从一个文本文件中读取日志事件,解析每一行为单独的字段,然后将解析后的数据输出到Elasticsearch。
input {
file {
path => "/var/log/messages"
start_position => "beginning"
}
}
filter {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{DATA:program}(?:
<div class="katex-block">\[%{POSINT:pid}\]</div>
)?: %{GREEDYDATA:syslog_message}" }
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
date {
match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "syslog-%{+YYYY.MM.dd}"
document_type => "syslog"
}
}
在这个配置中,Logstash从一个文本文件中读取数据,使用grok
插件来解析每一条日志消息,然后使用date
插件来解析日志中的时间戳,最后将解析后的数据发送到Elasticsearch,索引名称为syslog
,并且每天创建一个新的索引。
评论已关闭