Каковы различные способы улучшения индексации в ElasticSearch? - PullRequest
0 голосов
/ 08 ноября 2018

Я использую ELK для обработки и мониторинга файлов журналов значительного размера. Я загружаю журналы из локальной файловой системы.

Но я сталкиваюсь с несколькими проблемами:

  1. Анализ с использованием LogStash очень медленный из-за большого размера данных. Это становится медленнее с увеличением плагинов фильтра. (Это заняло более 4 дней для 3,2 ГБ журналов!)
  2. Выполнение вызовов API и построение визуализаций в Кибане по этим показателям тоже медленное.

Как я могу решить эти проблемы?

  1. Переход на облачные решения: AWS или Google Cloud? Но это может повлечь за собой дополнительные расходы.
  2. Совершенствование методов индексации. Как я могу добиться этого в ES?

Любая помощь будет полезной. Спасибо!

ETA:

Моя конфигурация logstash:

input {
    file {
        path => "/home/adb/data/**/**/*.gz" #path to subfolder (2nd level) containing .gz files
        mode => "read"
        file_completed_action => "log"
        file_completed_log_path => "/home/adb/data/log.txt"
    }
}

filter {
    csv {
        separator => "&"
        columns => ["T", "D", "CID", "RT", "RP" ...]
    }

    kv {
        source => "RP"
        target => "RP"
        value_split => "#"
        field_split => "*"
    }

    mutate {
        split => { "RT" => "*" }
    }

    date {
                match => ["T", "yyyy-MM-dd HH:mm:ss"]
                timezone => "UTC"
                target => "ET"
        }

     mutate {
                convert => {
                        "RT" => "integer"
                }
        }

}

output {
    elasticsearch {
        hosts => "localhost"
        index => "trial1"
        document_type => "A_C"
    }
    stdout {}
}

1 Ответ

0 голосов
/ 09 ноября 2018

Индексирование может быть медленным, если имеется большой объем данных с logstash при эластичной индексации поиска. Вы можете установить apache kafka между вашими приложениями и logstash для ускорения индексации.

...