【发布时间】:2017-04-11 03:40:12
【问题描述】:
logstash 5.0 版中的数据丢失了很多, 这是一个严重的错误,当一个配置文件配置这么多次时,它没有用,数据丢失再次发生,如何使用logstash收集日志事件属性?
任何回复都会感谢
【问题讨论】:
-
请添加更多详细信息,以便社区为您提供帮助。
logstash 5.0 版中的数据丢失了很多, 这是一个严重的错误,当一个配置文件配置这么多次时,它没有用,数据丢失再次发生,如何使用logstash收集日志事件属性?
任何回复都会感谢
【问题讨论】:
Logstash 是关于从特定位置读取日志的,并且根据您感兴趣的信息,您可以在弹性搜索或其他输出中创建索引。 logstash 配置示例
input {
file {
# PLEASE SET APPROPRIATE PATH WHERE LOG FILE AVAILABLE
#type => "java"
type => "json-log"
path => "d:/vox/logs/logs/vox.json"
start_position => "beginning"
codec => json
}
}
filter {
if [type] == "json-log" {
grok {
match => { "message" => "UserName:%{JAVALOGMESSAGE:UserName} -DL_JobID:%{JAVALOGMESSAGE:DL_JobID} -DL_EntityID:%{JAVALOGMESSAGE:DL_EntityID} -BatchesPerJob:%{JAVALOGMESSAGE:BatchesPerJob} -RecordsInInputFile:%{JAVALOGMESSAGE:RecordsInInputFile} -TimeTakenToProcess:%{JAVALOGMESSAGE:TimeTakenToProcess} -DocsUpdatedInSOLR:%{JAVALOGMESSAGE:DocsUpdatedInSOLR} -Failed:%{JAVALOGMESSAGE:Failed} -RecordsSavedInDSE:%{JAVALOGMESSAGE:RecordsSavedInDSE} -FileLoadStartTime:%{JAVALOGMESSAGE:FileLoadStartTime} -FileLoadEndTime:%{JAVALOGMESSAGE:FileLoadEndTime}" }
add_field => ["STATS_TYPE", "FILE_LOADED"]
}
}
}
filter {
mutate {
# here converting data type
convert => { "FileLoadStartTime" => "integer" }
convert => { "RecordsInInputFile" => "integer" }
}
}
output {
elasticsearch {
# PLEASE CONFIGURE ES IP AND PORT WHERE LOG DOCs HAS TO PUSH
document_type => "json-log"
hosts => ["localhost:9200"]
# action => "index"
# host => "localhost"
index => "locallogstashdx_new"
# workers => 1
}
stdout { codec => rubydebug }
#stdout { debug => true }
}
要了解更多信息,您可以访问许多可用的网站,例如 https://www.elastic.co/guide/en/logstash/current/first-event.html
【讨论】: