0

初心者アラート!

チームへのデモ用に、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"
]
}

単純な数値入力で解析エラーが発生します。grokはGREEDYDATAとして解析できますが、NUMBERとしては解析できないため、Windowsの.txtファイルとエンコーディングなどに問題があるかどうか疑問に思っています。両方の出力にフィールド タグはありません。問題の特定にご協力ください。

4

1 に答える 1