0
我想用logstash獲取metricbeat數據。 (卡夫卡作爲輸入& ElasticSearch作爲輸出)。刪除metricbeat集數據的「message」字段
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 ..取而代之的是,在這一領域的所有DATAS應該出現,因爲它是[希望單獨刪除「消息」字段名稱 - 但應顯示內容]如何單獨刪除字段名稱,並保持內容原樣。
任何人都可以幫助我們如何實現這一目標?
瓦爾你好,這裏是我得到的錯誤 - [2017-01-19T05:22:48,052] [ 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」=>「 「=」400「,」error「=> {」type「=>」mapper_parsing_exception「,」reason「=>」無法解析[system.process.cpu。 start_time]「,」causes_by「=> {」type「=>」illegal_argument_exception「 –
這是度量標準數據。 –
現在這是一個不同的問題,它現在正在將您的'message'字段正確解析爲JSON。你能用'curl -XGET localhost:9200/_template'和'curl -XGET localhost:9200/metricbeat-2017.01.19'得到的輸出更新你的問題嗎? – Val