Fluentd Elasticsearch Ziel-index

Ich bin mit Fluentd für die übertragung der Daten in Elasticsearch.

td-agent.conf

## ElasticSearch
<match es.**>
  type elasticsearch
  target_index_key @target_index  
  logstash_format true
  flush_interval 5s
</match>

Elasticsearch-index :

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

        }
      }
    },

Übertragen json-Daten :

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

Sollte schreiben der Daten wird der index stattdessen schafft Er neue index – logstash-2016.02.25 und es wird das schreiben von Daten in diese. Ich möchte zum schreiben von Daten zu dem angegebenen index.

Hier ist die Fluentd elasticsearch github link :
https://github.com/uken/fluent-plugin-elasticsearch

Bitte korrigieren Sie mich wenn ich bin fehlt etwas.

  • Ich glaube, Sie haben einen Tippfehler type elasticsearch Lesen sollte @type elasticsearch.
  • Ich bin mit dem td-agent v2 auf centOS, es richtig funktioniert, ohne @.
InformationsquelleAutor Nimit | 2016-02-25



3 Replies
  1. 2

    versuchen, diese,
    seine durch logstash_format wahr, geben Sie bitte Ihre index-name in der unten index_name Feld (Standardwert ist fluentd)

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

    nachdem Sie diesen Befehl ausgeführt, überprüfen Sie bitte index erstellt ist oder nicht, laden Sie die url unten in Ihrem browser

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

    haben ein gutes Glück

    • Danke für die Antwort. Ich habe versucht, ändern Sie die logstash_format auf false, aber ich bin immer gleichen Thema., jetzt schafft es doppelte index-Typ.
    • hast du das erklären index_name?
    • Ja. in meinem Fall ist es test_index
    • Hast du das problem lösen? Ich bleib auch hier.
    • Es kann doch nicht immer nehmen index_name in Kleinbuchstaben? Ich habe versucht, es in Großbuchstaben aber es konvertiert index_name in Kleinbuchstaben Werte.
  2. 1

    Sein, weil Sie logstash_format true, so müssen Sie die logstash_prefix.

    Apaceh httpd Beispiel:

      logstash_prefix fluentd.httpd # defaults to "logstash"
      logstash_prefix_separator _   # defaults to "-"
    
  3. 0

    Dies ist vielleicht alt, aber eigentlich hatte ich das gleiche problem und gelöst durch

    logstash_format false
    index_name fluentd
    

    Diese erstellen nur fluentd als index.
    Von offizieller fluentd tutorial https://docs.fluentd.org/output/elasticsearch

    logstash_format (optional): Mit dieser option legen Sie wahr, Fluentd verwendet die konventionelle index name format logstash-%Y.%m.%d (default: false). Diese option ersetzt die index_name option.

    Für die Reinigung von alten Indizes wählen Sie bitte Kurator: https://github.com/elastic/curator

    Ich hoffe, es hilft jemand.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.