This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
поиск_важных_событий_в_syslog [2026/08/18 13:20] val [Техническое задание] |
поиск_важных_событий_в_syslog [2026/09/08 12:25] (current) val |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ===== Реклама ===== | ===== Реклама ===== | ||
| - | * Как быстро на вопрос "все ли у нас в порядке" поможет ответить просмотр лог файлов системы? Обычно за "роем" сообщений ничего не видно. Давайте разберемся, как можно выделить то что действительно важно | + | * Как быстро на вопрос "все ли у нас в порядке" поможет ответить просмотр лог файлов системы? Обычно за "роем" сообщений "ничего не видно". Давайте разберемся, как можно выделить то, что действительно важно |
| ===== Техническое задание ===== | ===== Техническое задание ===== | ||
| - | * Отфильровать важные сообщения по ключевым словам | + | * Отфильровать важные сообщения по ключевым словам (создать регулярное выражение с помощю LLM) |
| * Настроить отдельный журнал для сообщений с высокой степенью критичности/уровнием важности | * Настроить отдельный журнал для сообщений с высокой степенью критичности/уровнием важности | ||
| + | * Разаработать приложение для уведомления только о важных сообщениях с помощю LLM | ||
| ===== Запись вебинара ===== | ===== Запись вебинара ===== | ||
| - | * Тэги: | + | * Тэги: syslog, facility, PCRE |
| + | * Рутуб: [[https://rutube.ru/video/13a07f510a46079c3cec91814f5b423b/]] | ||
| + | * Ютуб: [[https://youtu.be/5PYHDZsuzqA]] | ||
| ===== Шаг 1. Что у нас есть, для начала ===== | ===== Шаг 1. Что у нас есть, для начала ===== | ||
| Line 19: | Line 21: | ||
| ===== Шаг 2. Поиск важных событий в системе ===== | ===== Шаг 2. Поиск важных событий в системе ===== | ||
| - | * Гипотеза - все ли важные события содержат слово error, как это представлено в примере [[https://www.zabbix.com/documentation/5.2/ru/manual/config/items/itemtypes/log_items|Мониторинг файлов журналов]] zabbix documentation | + | * Проверяем - все ли важные события содержат слово error, как это представлено в примере [[https://www.zabbix.com/documentation/5.2/ru/manual/config/items/itemtypes/log_items|Мониторинг файлов журналов]] zabbix documentation, и, является ли наличие его признаком важного события |
| <code> | <code> | ||
| - | gate# journalctl -f | + | gate# journalctl -S -10m | grep -i error |
| + | ... | ||
| + | Aug 18 14:48:07 gate.corp13.un kernel: vmwgfx 0000:00:02.0: [drm] *ERROR* vmwgfx seems to be running on an unsupported hypervisor. | ||
| + | ... | ||
| </code> | </code> | ||
| - | * Добавляем [[Регистрация событий в Linux#Сервис rsyslog]] на gate | + | * Добавляем [[Регистрация событий в Linux#Сервис rsyslog]] на gate (потребуется для zаbbix или отправки журналов на коллектор) |
| <code> | <code> | ||
| Line 30: | Line 35: | ||
| </code> | </code> | ||
| - | * Запускаем client-ы | + | * Симулируем появление важного события, например, запускаем client-ы и [[Использовать чужой IP адрес в сети|Могут ли использовать чужой IP адрес в сети, как это обнаружить и предотвратить]] (для демонстрации можно отключить [[Настройка сети в Linux#Динамическая настройка ip параметров]] и назначить чужой через [[Настройка сети в Linux#Настройка параметров с использованием утилиты ip]] на client1) |
| - | + | ||
| - | * Симулируем появление важного события, например, [[Использовать чужой IP адрес в сети|Могут ли использовать чужой IP адрес в сети, как это обнаружить и предотвратить]] (для демонстрации можно отключить [[Настройка сети в Linux#Динамическая настройка ip параметров]] и назначить чужой через [[Настройка сети в Linux#Настройка параметров с использованием утилиты ip]] на client1) | + | |
| <code> | <code> | ||
| Line 49: | Line 52: | ||
| </code> | </code> | ||
| - | * Вариант 1: отбираем события по важным словам, исключая не важные | + | * **Вариант 1**: отбираем события по важным словам, исключая отдадочные и, не представляющие интерес |
| * [[https://www.zabbix.com/documentation/5.2/ru/manual/regular_expressions|Регулярные выражения]] zabbix documentation | * [[https://www.zabbix.com/documentation/5.2/ru/manual/regular_expressions|Регулярные выражения]] zabbix documentation | ||
| - | * Промпт: сгенерируй регулярное выражение PCRE для поиска строк со словами error или abandon, исключая строки со словами test или debug, в любом регистре | ||
| - | <code> | ||
| - | gate# journalctl -S -1h | grep -P '^(?!.*(?i:test|debug|pnp)).*(?i:error|abandon|fail|expire)' | ||
| - | gate# cat /var/log/syslog | grep -P ... | + | * **LLM промпты: ** |
| + | - сгенерируй фильтр для поиска строк со словами error или abandon, исключая строки со словами test или debug, в любом регистре, задай уточняющие вопросы | ||
| + | - сгенерируй регулярное выражение PCRE для поиска строк со словами error или abandon, исключая строки со словами test или debug, в любом регистре | ||
| + | - сформируй тестовые данные без комментариев | ||
| + | |||
| + | <code> | ||
| + | gate# cat /var/log/syslog | grep -P '^(?!.*(?i:test|debug|vmwgfx)).*(?i:error|abandon|fail|expire)' | ||
| </code> | </code> | ||
| - | * Вариант 2: Используем степени критичности/уровни важности событий в syslog | + | * **Вариант 2**: отбираем события по степени критичности/уровни важности событий в syslog |
| * Создаем [[Регистрация событий в Linux#Журнал важных сообщений]] в rsyslog, пишем в него все события с указанием уровня важности (можно и источник события) | * Создаем [[Регистрация событий в Linux#Журнал важных сообщений]] в rsyslog, пишем в него все события с указанием уровня важности (можно и источник события) | ||
| * Убеждаемся, что они соответствуют примерам важных событий | * Убеждаемся, что они соответствуют примерам важных событий | ||