2014-11-19 5 views
0

Я работаю над хранением данных по elasticsearch с помощью logstash с сервера rabbitmq.Dynamic elasticsearch index_type using logstash

Моя команда logstash выглядит

Но мне нужно было logstash поместить данные в различные типы в elasticsearch кластере. Что я имел в виду типа:

"hits": { 
     "total": 3, 
     "max_score": 1, 
     "hits": [ 
     { 
      "_index": "logstash-2014.11.19", 
      "_type": "logs", 
      "_id": "ZEea8HBOSs-QwH67q1Kcaw", 
      "_score": 1, 
      "_source": { 
       "context": [], 
       "level": 200, 
       "level_name": "INFO", 

Это часть результата поиска, где вы можете увидеть logstash по DEFUALT создает тип с именем «журналы» (_Type: «журналы»). В моем проекте мне нужен тип, который должен быть динамическим и должен быть создан на основе входных данных. Например: мой ввод данных выглядит

{ 
    "data":"some data", 
    "type": "type_1" 
} 

и мне нужно logstash, чтобы создать новый тип в elasticsearch с именем «TYPE_1» ..

Я попытался с помощью grok..But не мог в состоянии получите это специфическое требование.

ответ

5

Его работал для меня таким образом

elasticsearch { 
    host => "localhost" 
    index_type => "%{type}" 
    } 
+2

index_type был переименован в document_type в 1,5 раза (см https://github.com/elastic/logstash/issues/3151). Текущая документация: https://www.elastic.co/guide/en/logstash/current/plugins-outputs-elasticsearch.html#plugins-outputs-elasticsearch-document_type –

+0

Спасибо .. я позабочусь, пока мы перейдем на новые – Ysak

Смежные вопросы