Я пытаюсь извлечь первый действительный общий адрес 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}