• Как склеить строки в logstash идущие не по порядку?

    @zdravnik Автор вопроса
    ВОт решение моей задачи:

    grok {
    match => [ "message", "%{SYSLOGTIMESTAMP:timestamp} %{SYSLOGHOST:logsource} %{SYSLOGPROG}: \[%{INT:line}-%{INT:part_of_line}\] %{GREEDYDATA:ostatok}" ]
    }

    aggregate {
    task_id => "%{line}%{pid}"
    code => "
    map.merge!(event) if map.empty?
    map['full_message'] ||= ''
    map['full_message'] += event['ostatok']
    "
    timeout => 10
    push_map_as_event_on_timeout => true
    timeout_code => "event.tag('aggregated')"
    }

    if "aggregated" not in [tags] {
    drop {}
    }
    Ответ написан
    1 комментарий
  • Почему 100% загрузки CPU при использовании elasticsearch?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    На счет кешей: вообще говоря они есть, просто называются маппингом. Видимо вы его не настроили. Смотрите доку по маппингу индексов, по умолчанию он тоже создается, но далеко не всегда оптимально. Поля, для которых поиск не нужен - не индексируйте. Там, где можно оптимизировать сам индекс, например таймстамп стоит явно индексировать как дату по шаблону, а не просто строку, мультиязычный поиск со склонениями стоит оставить только там, где это реально необходимо и т.д.

    Эластик - это не серебрянная пуля и не ИИ, он умеет пдстраиваться под данные, но эфективней это слелать самостоятельно.

    Так же не забудьте поковырять вармеры.
    Ответ написан
    Комментировать