Я использую Bunyan и bunyas-lumberjack для отправки своих журналов в лог-файл и индексацию их в поиске эластичности. Проблема я столкнулся, когда я фильтрация журналов: Я использую базовый фильтр для Logstash:NodeJS Bunyan Logstash Log Indexing
filter {
if [type == "json"]{
json {
source => "message"
}
}
}
, что ставит JSON из Bunyan в поле source.message и индексирует его в упругом поиске. Как я могу проиндексировать каждое поле из буняна в конкретное поле поиска упругого иска, чтобы я мог его искать или использовать в Кибане?
Я присоединяю то, что я получил сейчас, и то, что хочу получить в качестве примера. В настоящее время :
{
"_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
Кажется, что, добавив кодек как json в lumberjack, все будет хорошо работать: codec => json, но я не думаю, что могу по-прежнему индексировать syslogs, правильно? – alexsc