我正在使用ELK堆棧配置。 logstash-轉發用作日誌託運人,記錄每種類型的標記有一個類型標籤:logstash,syslog和grok
{
"network": {
"servers": [ "___:___" ],
"ssl ca": "___",
"timeout": 15
},
"files": [
{
"paths": [
"/var/log/secure"
],
"fields": {
"type": "syslog"
}
}
]
}
這部分工作得很好......現在,我想logstash的消息字符串分割其部分;幸運的是,在默認模式神交已實現,所以logstash.conf仍然很簡單迄今:
input {
lumberjack {
port => 6782
ssl_certificate => "___" ssl_key => "___"
}
}
filter {
if [type] == "syslog" {
grok {
match => [ "message", "%{SYSLOGLINE}" ]
}
}
}
output {
elasticsearch {
cluster => "___"
template => "___"
template_overwrite => true
node_name => "logstash-___"
bind_host => "___"
}
}
我這裏的問題是,由elasticsearch接收的文件上仍佔據整條生產線(包括時間戳等)在消息字段中。另外,@timestamp仍然顯示logstash收到消息的日期,這使得搜索不好,因爲kibana確實在查詢@timestamp以便按日期過濾......任何想法我做錯了什麼?
謝謝,丹尼爾
太棒了!我通過1)從'message'移動到'logline',2)grok'logline',3)刪除'logline'來解決消息部分。 RTFM,我想...謝謝 – sontags 2014-11-18 06:20:12