#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. Спасибо, Ян. Я проверю