Различные экстракторы для одного и того же входа Graylog ?

Я использую сопутствующие функции Graylog с Filebeat для получения нескольких различных файлов журналов с моего сервера, включая Syslog, Nginx и Java App. Все они поступают в один и тот же вход Graylog для Beats (я пытался предоставить несколько входов, к сожалению, Filebeat отправляет в одно и только одно место). Все отлично работает, кроме экстракторов.

Как мне указать конкретный экстрактор для определенного сообщения журнала? Пример: Если поле ' type '=' API '(мое приложение Java), я хочу применить экстрактор JSON. Если type = 'nginx', применить экстракторы регулярных выражений.

3
задан 12 October 2016 в 20:00
2 ответа

Вы можете связать экстракторы таким образом, чтобы, если сообщение содержит API, копировать сообщение в api_message, выполнять экстрактор в этом новом поле.

сделать то же самое для nginx и т. Д.

-1
ответ дан 3 December 2019 в 07:24

Я загружаю несколько источников журналов на один вход и к нему привязаны 4 экстрактора. Судя по поведению, которое я наблюдал, если экстрактор не соответствует требованиям, он просто переходит к следующему экстрактору. Это всего лишь попытка, а не сила.

Например, мои экстракторы:

  1. Декодировать JSON (входные данные поступают как JSON, он распределяется по полям)
  2. Стандартный формат ведения журнала приложений (мы используем внутренний стандарт)
  3. Код ошибки для приложения (в случае ОШИБКИ наши приложения используют настраиваемое поле Example_Error = Something)
  4. Имя хоста Mac OS X

Когда журнал приложения поступает без ошибок, он:

  1. Получает декодирование из JSON
  2. Соответствует формату через grok с RegEx
  3. Pass (нет поля "Example_Error =")
  4. Pass (нет совпадений с журналами Mac OS X)

И когда поступает системный журнал Mac OS X:

  1. Получает декодирование из JSON
  2. Пройдено (не соответствует формату ведения журнала приложения)
  3. Пройдено (не соответствует полю кода ошибки)
  4. Получает извлеченное имя хоста

С некоторым планированием и хорошими наборами приемов , вы можете заставить это работать с большим количеством экстракторов на основе ожидаемого форматирования ваших журналов. Особенно полезной для вас может быть опция «Выполнять извлечение, только если поле содержит (строку / регулярное выражение)» в экстракторах.

2
ответ дан 3 December 2019 в 07:24

Теги

Похожие вопросы