Graylog регулярное выражение извлекать первый действительный Ma c Адрес в сообщении - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь извлечь первый действительный общий адрес ma c из нескольких разных записей сообщений в Graylog. Я могу сделать это с различными экстракторами Grok, но я хочу сделать это с Regex, чтобы я мог делать преобразования в Ma c для всех строчных букв. Ниже приведены некоторые примеры сообщений и паттерны Grok, которые работают.

Вопрос, как бы я преобразовал эти экстракторы Grok в регулярные выражения, или есть ли одно регулярное выражение, которое будет работать во всех 4 примерах? По сути, регулярное выражение просто должно соответствовать первому действительному адресу MA C в каждой строке и извлекать его.

Пример 1: Равноденствие: * spamApTask1: 20 марта 15: 26: 04.033: # CAPWAP-3- ECHO_ERR: capwap_ac_sm. c: 7019 Не получил ответ сердцебиения; AP: 00: 3a: 9a: 48: 9b: 40

Пример 2: Равноденствие: * spamReceiveTask: 17 марта 12: 34: 39.264: # CAPWAP-3-DTLS_CONN_ERR: capwap_a c. c : 934 00: 3a: 9a: 30: f5: 90: DTLS-соединение не найдено для AP 192.168.99.74 (43456), контроллер: 192.168.99.2 (5246) отправка пакета

Пример 3: Равноденствие: * spamApTask1: мар 22 08: 35: 14.562: # LWAPP-4-SIG_INFO1: spam_lrad. c: 44474 Информация о подписи; AP 00: 14: 1b: 61: f8: 40, сигнал тревоги включен, стандартный сигнал NULL, зонд 1, трек для Macprecerence 2, попадания 1, слот 0, канал 1, наиболее обидный MA C 00:00:00: 00:00:00 # да, но должен сделать Ma c строчными

Пример 4: Равноденствие: * idsTrackEventTask: 22 марта 08: 40: 13.816: # WPS-4-SIG_ALARM_OFF: sig_event. c: 656 AP 00: 14: 1B: 61: F8: 40: Аварийный сигнал выключен, стандартный сигнал NULL, зонд или 1, дорожка = на мА c пред = 2 хита = 1 слот = 0 канал = 1 да, но должен сделать Ma c строчные

Sample1 Grok pattern:%{GREEDYDATA}AP: {COMMONMAC:WLC_APBaseMac}
Sample2 Grok pattern:%{GREEDYDATA}capwap_ac.c:934 %{COMMONMAC:WLC_APBaseMac}
Sample3 Grok pattern:%{GREEDYDATA}AP %{COMMONMAC:WLC_APBaseMac}
Sample4 Grok pattern:%{GREEDYDATA}AP %{COMMONMAC:WLC_APBaseMac}

1 Ответ

0 голосов
/ 23 марта 2020

Вы можете создать шаблон, который соответствует 5 группам из 2 шестнадцатеричных цифр, за которыми следует точка с запятой, за которой следует последняя 6-я группа из 2 шестнадцатеричных цифр:

(?i)(?:[0-9a-f]{2}:){5}[0-9a-f]{2}

Демо здесь, (?i) в начале делает поиск нечувствительным к регистру.

ОБНОВЛЕНО

Если приведенное выше регулярное выражение не работает в Graylog, то вы можете попробовать самые базовые c форма этого, где все квантификаторы и наборы символов расширены:

[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]

Демо здесь .

...