правила конвейера graylog для пропуска несуществующих ключей в таблице поиска - PullRequest
0 голосов
/ 22 марта 2019

Я новичок в правилах конвейера Graylog.Я хочу написать конвейер, чтобы пропустить несуществующие ключи в таблице поиска из индексации.

у нас есть 20 IP-адресов в качестве ключей и 4 области в качестве значений.мы получаем более 100 IP-адресов от источника.Я хочу проиндексировать только 10 существующих IP-адресов в справочной таблице.

CSV-файл:

"IP_Address","region"
"IP1","region1"
"IP2","region4"
"IP3","region3"
"IP4","region1"
"IP5","region2"
"IP6","region4"
"IP7","region1"

Я пробовал использовать много функций, как показано ниже.

  • Опция 1: правило «поиск IP-адреса»

    when
      is_null(lookup_value("IP_Addr_table", IP_Address))
    then
      drop_message();
    end
    
  • Опция 2: пробная попытка в два этапа

    Стадия: 0

    правило "область поиска"

    when
      has_field("region")
    then
     let device_region = lookup_value("IP_addr_table", to_string($message.IP_Address));
    end
    

    стадия: 1

    правило "область поиска"

    when
      has_field("device_region")    -- I want to check the variable value here.
    then
    end
    

Также может кто угоднообеспечить хорошее место для изучения конвейеров и использования правил, отличных от документации Graylog

1 Ответ

0 голосов
/ 22 марта 2019

Только для справки - тот же вопрос задается в сообществе Graylog:

https://community.graylog.org/t/pipeline-rule-to-stop-indexing-for-non-lookup-values/9580

Мой ответ будет дан в этом месте.

...