Elasticsearch Предел поля более 1000 - PullRequest
0 голосов
/ 04 октября 2018

Может кто-нибудь помочь, пожалуйста.Мне нужно исправить ошибку, чтобы журнал CloudTrail в S3 можно было отправить в Logstash ES и просмотреть в Kibana.Не могу понять, как увеличить предел поля до чего-то более высокого.Моя конфигурация выглядит так:

input {
   s3 {
     bucket => "sample-s3bucket"
     region => "eu-west-1"
     type => "cloudtrail"
     codec => cloudtrail {}
     sincedb_path => "/tmp/logstash/cloudtrail"
     exclude_pattern => "/CloudTrail-Digest/"
     interval => 300
   }
}

filter {
    if [type] == "cloudtrail" {
        json {
            source => "message"
        }

        geoip {
            source => "sourceIPAddress"
            target => "geoip"
            add_tag => ["cloudtrail-geoip"]
        }
    }
}

output {
    elasticsearch {
      hosts => "coordinate_node:9200"
      index => 'cloudtrail-%{+YYYY.MM.dd}'
         }
    stdout {
     codec => rubydebug
    }
 }

Вот что я вижу на моей машине Logstash о limit

2018-10-04T17: 49: 49,883] [WARN] [logstash.outputs.elasticsearch] Не удалось проиндексировать событие для Elasticsearch.{: status => 400,: action => ["index", {: _id => nil,: _index => "cloudtrail-2018.09.27",: _type => "doc",: _routing => nil},#],: response => {"index" => {"_ index" => "cloudtrail-2018.09.27", "_type" => "doc", "_id" => "lrMzQGYBOny1_iySNW6G", "status" =>400, "error" => {"type" => "invalid_argument_exception", "reason" => "Превышен лимит общих полей [1000] в индексе [cloudtrail-2018.09.27]"}}}

Заранее спасибо

1 Ответ

0 голосов
/ 05 октября 2018
  1. Вам нужно будет либо установить в кластере шаблон индекса .

Вы можете использовать шаблон ниже, чтобы установить настройки для всех индексов, которые добавляются вкластер.После того как вы выполните индексирование с помощью logstash, ниже шаблона будет установлен предел поля 2000 для всех создаваемых индексов.

PUT /_template/Global
{
    "index_patterns" : ["*"],
    "order" : 0,
    "settings" : {
        "index.mapping.total_fields.limit" : "2000"
    }        
}

Примечание. Вы можете изменить шаблон на "index_patterns" : ["cloudtrail-*"], если хотите использоватьнастройки для конкретных индексов.

Другим вариантом является использование шаблона logstash, как описано по этой ссылке

Вам также следует рассмотреть возможность реструктуризации отображения документа, когда поля в одномВ документе указывается такое большое число, не все поля обязательны для заполнения в ответе.Посмотрите на создание отношений, таких как Join / parent-child и т. Д., Чтобы создать меньшие документы для эффективности.

...