Я использую Bunyan и bunyas-lumberjack, чтобы отправлять свои журналы в хранилище журналов и индексировать их в эластичном поиске. Проблема, с которой я сталкиваюсь, заключается в том, что я фильтрую журналы: я использую базовый фильтр для Logstash:
filter {
if [type == "json"]{
json {
source => "message"
}
}
}
который помещает JSON из bunyan в поле source.message и индексирует его в эластичном поиске. Как я могу проиндексировать каждое поле из bunyan в определенное эластичное поле поиска, чтобы я мог выполнять поиск по нему или использовать его в Kibana?
Я прилагаю то, что я получил сейчас, и то, что я хочу получить в качестве примера. В настоящее время:
{
"_index": "logstash-2015.10.26",
"_type": "json",
"_id": "AVCjvDHWHiX5VLMgQZIC",
"_score": null,
"_source": {
"message": "{\"name\":\"myLog\",\"hostname\":\"atnm-4.local\",\"pid\":6210,\"level\":\"error\",\"message\":\"This should work!\",\"@timestamp\":\"2015-10-26T10:40:29.503Z\",\"tags\":[\"bunyan\"],\"source\":\"atnm-4.local/node\"}",
"@version": "1",
"@timestamp": "2015-10-26T10:40:31.184Z",
"type": "json",
"host": "atnm-4.local",
"bunyanLevel": "50"
},
Хотел:
{
"_index": "logstash-2015.10.26",
"_type": "json",
"_id": "AVCjvDHWHiX5VLMgQZIC",
"_score": null,
"_source": {
"message": {
"name": example,
"hostname": example,
"etc": example