2013-03-07 8 views
3

После обработки данных с: input | фильтр | выход> ElasticSearch формат он откладывается в несколько, как:Оставлять по умолчанию поля Logstash в ElasticSearch

"_index": "logstash-2012.07.02", 
"_type": "stdin", 
"_id": "JdRaI5R6RT2do_WhCYM-qg", 
"_score": 0.30685282, 
"_source": { 
    "@source": "stdin://dist/", 
    "@type": "stdin", 
    "@tags": [ 
     "tag1", 
     "tag2" 
    ], 
    "@fields": {}, 
    "@timestamp": "2012-07-02T06:17:48.533000Z", 
    "@source_host": "dist", 
    "@source_path": "/", 
    "@message": "test" 
} 

я фильтр/магазин наиболее важной информации в конкретных областях, можно выйти из поля по умолчанию, как: @source_path и @source_host? В ближайшем будущем он будет хранить 8 миллиардов журналов в месяц, и я бы хотел выполнить некоторые тесты производительности с этими полями по умолчанию (я просто не использую эти поля).

ответ

0

Некоторые из них будут зависеть от того, какой веб-интерфейс вы используете для просмотра ваших журналов. Я использую Kibana, и регистратор клиента (C#), что индексы следующее:

{ 
    "_index": "logstash-2013.03.13", 
    "_type": "logs", 
    "_id": "n3GzIC68R1mcdj6Wte6jWw", 
    "_version": 1, 
    "_score": 1, 
    "_source": 
    { 
    "@source": "File", 
    "@message": "Shalom", 
    "@fields": 
    { 
     "tempor": "hit" 
    }, 
    "@tags": 
    [ 
     "tag1" 
    ], 
    "level": "Info" 
    "@timestamp": "2013-03-13T21:47:51.9838974Z" 
    } 
} 

Это проявляется в Kibana, а поля источника не существует.

+0

Я действительно не думаю, что это на зависимого от веб-интерфейса. Я храню данные непосредственно в ElasticSearch из Logstash, при получении этих данных через REST API ES у него уже есть эти поля. – vdevos

6

Это удаляет поля с выхода:

filter { 
    mutate { 
     # remove duplicate fields 
     # this leaves timestamp from message and source_path for source 
     remove => ["@timestamp", "@source"] 
    } 
}