правила конвейера graylog для пропуска несуществующих ключей в таблице поиска

#graylog2 #graylog

#graylog2 #graylog

Вопрос:

Я новичок в правилах конвейера 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:

Просто для справки — тот же вопрос задается в сообществе Graylog:

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

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

Комментарии:

1. Спасибо, Ян. Я проверю