Утилита обработки логов и баз Resource Checker

Сообщения
10
Реакции
12
Помог
1 раз(а)
Всем привет.

Хочу представить вниманию заинтересованных форумчан утилиту для обработки логов и баз плагина Resource Checker (далее - RC).
Утилита написано лично мной, поэтому на правильные адекватные вопросы ответы будут тоже достаточно адекватные.
Не нашел подходящего раздела в ресурсах, да и версия первая (пробная), поэтому размещаю её пока что тут - во Флудилке.

Утилита работает в командной строке. Единственный минус утилиты - из коробки она работает под Linux. Но это не такая большая проблема, утилита может заработать и под Windows, если установить дополнительные инструменты (требуется ActivePerl). Поэтому, при достаточном количестве желающих, я напишу инструкцию и для её использования под Windows.

Есть две основные проблемы, которые мне пришлось испытать при использовании различных баз RC.

Проблема 1.


В сети есть много версий баз RC, которые не совпадают друг с другом.
Мне хотелось понимать, чем отличаются базы, что в одной базе RC есть, но в другой нет.
Насколько одни правила одной базы позволяют полностью (или не полностью) покрыть правила другой базы.
В утилите решение представлено возможностью получить "разницу" между первой базой и второй.

Формат команды: ./rc_tool.pl -d {база_1} {база_2}
Команда выводит правила из первой базы, которые уникальны, или не покрываются полностью правилами из второй.
Вывод идет в консоль, поэтому результат следует сохранять пайпом (pipe) - ./rc_tool.pl -d {база_1} {база_2} > {результат}

Проблема 2.

Все знают о потенциальном ограничении на максимальное количество имен файлов в базе.
А также стремятся уменьшить их количество, оставив только те записи, которые реально срабатывают.
Реальные срабатывания есть в логах, а ручная проверка по многотонным логам - очень утомляет.
В утилите решение представлено возможностью сделать фильтрацию базы RC по реальным логам, оставив только те правила, которые реально работали.

Формат команды: ./rc_tool.pl -f {база} {логи}
Команда фильтрует базу по логам, и оставляет в базе только те записи, по которым были реальные срабатывания в логах.
Вывод идет в консоль, поэтому результат следует сохранять пайпом (pipe) - ./rc_tool.pl -f {база} {логи} > {результат}

Проблема 3.

Базы могут содержать потенциальные ошибки, а также дубли имен файлов по коротким и длинным именам.

В утилите это представлено возможностью проверить синтаксис файла базы (на самом деле, проверка принудительно осуществляется и в первых двух случаях).
Формат команды: ./rc_tool.pl -t {база}

Основное использование (как это использую я):

У меня есть старая версия базы, и логи, которые по ней были наработаны.
Есть новая версия базы, которая содержит полезные нововведения, которые ценны, и их нельзя пропустить.
Я делаю следующее:
1. Получаю разницу между старой и новой базой, которая содержит те правила, которых нет в новой (забыли, забили, или по другим причинам, неважно).
2. Фильтрую эту разницу по логам, и получаю актуальный список правил, которые реально работают, но их нет в новой базе (или новая база не покрывает их полностью).
3. Добавляю актуальный список правил в новую базу.
4. Делаю проверку полученного файла и исправляю недочёты.
В результате я получаю преимущества всей новой базы, не удалю правила из старой, которые реально работали, и исправляю ошибки и дубли в полученной базе.

У утилиты есть еще и другие опции и возможности, смотрите подсказку командой строки (./rc_tool.pl -h)
 

Вложения

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу