新手警报!
我正在学习在Windows上使用logstash来向团队演示。 请参阅以下配置和结果:
1)
file content : 123
配置文件:
input {
file {
path => "C:\Users\xyz\Desktop\Demo\WriteText.txt"
start_position => "beginning"
}
}
filter {
grok {
match => { "@message" => "%{GREEDYDATA:data}"}
}
}
output {
stdout { codec => rubydebug }
}
我的命令行显示以下输出:
{
"path" => "C:\Users\xyz\Desktop\Demo\WriteText.txt",
"@timestamp" => 2017-06-20T16:18:33.956Z,
"@version" => "1",
"host" => "ABC",
"message" => "123"
}
//上面的输出中没有显示数据字段
2) 输入文字的内容: 789
CONFIG2:
grok {
match => { "@message" => "%{NUMBER:data}"}
}
命令行输出:
output
{
"path" => "C:\Users\xyz\Desktop\Demo\WriteText.txt",
"@timestamp" => 2017-06-20T16:22:56.167Z,
"@version" => "1",
"host" => "ABC",
"message" => "789",
"tags" => [
[0] "_grokparsefailure"
]
}
我收到简单数字输入的解析错误。所以我想知道问题是否与Windows .txt文件和编码或其他东西,因为grok能够解析为GREEDYDATA而不是NUMBER。并且两个输出中都没有字段标记。 请帮我确定问题。
答案 0 :(得分:0)
我的grok过滤器试图解析@message字段。但是没有这样的字段。
match => [ "消息""%{GREEDYDATA:数据}"] 做了伎俩。