Я пытаюсь заставить фильтр translate в logstash работать с данными JSON, но это не по какой-то причине.(Использование logstash 6.7).
Вот мой однострочный файл под названием lookup.json
:
{"AgentFlags": "1", "AgentTime": "1551711018.0", "test_id": "12345"}
Данные, которые передаются через logstash, выглядят так, файл называется data.json
:
{«MachineDomain»:”Test.net”, “OU”: “Рабочие столы; Рабочие станции”, ”test_id”: ”12345”}
И файл logstash:
input {
file {
path => "/path/to/data.json"
sincedb_path => "/dev/null"
start_position => "beginning"
}
# stdin {}
}
filter {
json {
source => "message"
}
# mutate {
# remove_field => [ "message", "host", "@version"]
# }
## Translate
translate {
field => "test_id"
dictionary_path => "/path/to/lookup.json"
destination => "[computer_testing]" # new field to add lookup data
refresh_interval => 10 # refresh file every 10 seconds
}
}
output {
stdout {codec => rubydebug}
}
По сути, ничего не получаетсяпересчитываются.