Я пытаюсь получить данные metricbeat, используя logstash. (Kafka как вход & ElasticSearch как выход).Удалить поле «сообщение» для данных с метрическими битами
input {
kafka {
bootstrap_servers => "XX.XX.XXX.XX:9092"
topics => ["cc-data"]
}
}
output {
elasticsearch {
hosts => ["XX.XX.XXX.XX:9200"]
index => "metricbeat-%{+YYYY.MM.dd}"
}
}
В выходе я вижу данные, как:
{
"_index" : "metricbeat-2017.01.18",
"_type" : "logs",
"_id" : "AVmzQUytyldhSr4kUaUS",
"_score" : 1.0,
"_source" : {
"@timestamp" : "2017-01-18T20:21:45.324Z",
"@version" : "1",
"message" : "{\"@timestamp\":\"2017-01-18T20:21:44.394Z\",\"beat\":{\"hostname\":\"ip-XX-XXX-XX-XXX\",\"name\":\"ip-XX-XXX-XX-XXX\",\"version\":\"5.0.0\"},\"metricset\":{\"module\":\"system\",\"name\":\"process\",\"rtt\":104061},\"system\":{\"process\":{\"cpu\":{\"start_time\":\"2016-08-03T10:10:17.000Z\",\"total\":{\"pct\":0.000000}},\"fd\":{\"limit\":{\"hard\":4096,\"soft\":1024},\"open\":0},\"memory\":{\"rss\":{\"bytes\":0,\"pct\":0.000000},\"share\":0,\"size\":0},\"name\":\"migration/2\",\"pgid\":0,\"pid\":47,\"ppid\":2,\"state\":\"sleeping\",\"username\":\"root\"}},\"type\":\"metricsets\"}"
}
}
]
}
}
Я не хочу «сообщение» в одиночку FIELD .. Вместо этого, все Данные в этой области должны появиться, как это [хочу удалите только имя поля «сообщение», но содержимое этого должно появиться] Как удалить имя поля в отдельности и сохранить содержимое как есть.
Может ли кто-нибудь помочь, как мы это достигнем?
Hi Вал, здесь ошибка я получаю - [2017-01-19T05: 22: 48052] [ WARN] [logstash.outputs.elasticsearch] Не удалось выполнить действие. {: status => 400,: action => ["index", {: _id => nil,: _index => "metricbeat-2017.01.19",: _type => "metricsets",: _routing => nil}, 2017-01-19T04: 45: 04.733Z% {host}% {message}],: response => {"index" => {"_ index" => "metricbeat-2017.01.19", "_type" => " metricsets "," _id "=>" AVm1MKLZyldhSr4khi3q "," status "=> 400," error "=> {" type "=>" mapper_parsing_exception "," reason "=>" не удалось проанализировать [system.process.cpu. start_time] "," cause_by "=> {" type "=>" illegal_argument_exception " –
Это метрические данные. –
Теперь это другая проблема и знак того, что он теперь правильно разбирает поле 'message' как JSON. Можете ли вы обновить свой вопрос с помощью результата, который вы получаете от 'curl -XGET localhost: 9200/_template' и' curl -XGET localhost: 9200/metricbeat-2017.01.19'? – Val