2016-02-25 3 views
3

Я использую Fluentd для передачи данных в Elasticsearch.Fluentd Elasticsearch целевой показатель

TD-agent.conf

## ElasticSearch 
<match es.**> 
    type elasticsearch 
    target_index_key @target_index 
    logstash_format true 
    flush_interval 5s 
</match> 
индекс

Elasticsearch:

"logstash-2016.02.24" : { 
    "aliases" : { }, 
    "mappings" : { 
     "fluentd" : { 
     "dynamic" : "strict", 
     "properties" : { 
      "@timestamp" : { 
      "type" : "date", 
      "format" : "strict_date_optional_time||epoch_millis" 
      }, 
      "dummy" : { 
      "type" : "string" 
      } 

     } 
     } 
    }, 

Передача данных JSON:

$ curl -X POST -d 'json={"@target_index": "logstash-2016.02.24","dummy":"test"}' http://localhost:8888/es.test 

Он должен записывать данные в указанный индекс вместо этого. Он создает новый индекс - logstash-2016.02.25, и он будет записывать данные в это. Я хочу записать данные в данный индекс.

Вот Fluentd elasticsearch GitHub ссылка: https://github.com/uken/fluent-plugin-elasticsearch

Пожалуйста, поправьте меня, если я что-то не хватает.

+0

Я думаю, что у вас есть опечатка, 'type elasticsearch' должен читать' @type elasticsearch'. – Val

+0

Я использую td-agent v2 на centOS, он работает нормально без @. – Nimit

ответ

0

попробовать это, его из-за logstash_format верно, введите имя индекса в ниже ИМЯ_ИНДЕКСЕ поля (значение по умолчанию fluentd)

<match es.**> 
@type elasticsearch 
host localhost 
port 9200 
index_name <.....your_index_name_here.....> 
type_name fluentd 
flush_interval 5s 
</match> 

после запуска этого, пожалуйста, проверьте индекс создан или не нагрузка ниже URL в адресной строке браузера

http://localhost:9200/_plugin/head/

имеют удачи

+0

Спасибо за ответ. Я попытался изменить logstash_format на false, но у меня такая же проблема. Теперь он создает повторяющийся тип индекса. – Nimit

+0

Вы объявили index_name? –

+0

Да. в моем случае это test_index – Nimit