Где я могу найти подробный, низкоуровневый spec для двоичного файла формата .blg Perfmon? Или даже лучше, кто-нибудь написал низкоуровневую библиотеку с открытым исходным кодом (желательно на C, но любой язык будет делать) для разбора .blg файлов?
Perfmon. Спецификация файла/parsing
Ответ 1
Это не поможет просмотреть исторические данные, но если у вас есть доступ к системам под управлением Perfmon, вы можете посмотреть Logman. С Logman вы можете установить счетчики производительности и указать формат вывода, таким образом вы можете просто выбрать формат, который легко разобрать. См. Параметр -f
:
-f { bin | bincirc | csv | tsv | SQL } : Specifies the file format used for collecting performance counter and trace data. You can use binary, circular binary, comma and tab separated, or SQL database formats when collecting performance counters.
Как говорили другие, если у вас также есть исторические записи, которые нужно проанализировать, вы можете использовать утилиту Relog для преобразования существующих .blg файлов в более полезный формат.
Ответ 2
Там есть инструмент, называемый relog, который может конвертировать эти файлы в csv или другие форматы.
http://blog.bennett-scharf.com/2008/12/17/converting-an-existing-perfmon-blg-file-to-csv/
http://blogs.msdn.com/b/adcman/archive/2006/05/15/598149.aspx
http://blogs.msdn.com/b/granth/archive/2008/09/23/relogging-perfmon-binary-log-files-to-sql.aspx
Ответ 3
Другой вариант заключается в том, чтобы экспортировать набор сбора данных perfmon в качестве шаблона и изменить формат файла журнала в XML - найти тег LogFileFormat и изменить значение в формате ваших предпочтений
0 = CSV, 1 = TSV, 2 = SQL, 3 = двоичный формат по умолчанию.
Ответ 4
Я искал способ включить данные PerfMon в SIEM и обнаружил, что получение perfmon для входа в SQL DB (и чтение данных из представления SQL из агента SIEM) было лучшим способом сделать это,
Я не могу много говорить о других продуктах, но в LogRhythm SIEM вам нужен источник журнала "UDLA" (универсальный логист базы данных), и если вы хотите разобрать/контекстуализировать метаданные, вам понадобится некоторые правила синтаксического анализа (т.е. регулярное выражение) для возвращаемого запроса.
Полезно видеть такие вещи, как "если есть x количество ошибок входа в систему, а" Свободный MBytes "меньше 100, THEN trigger alarm/AIEngine правило" Недостаточно памяти для обработки логинов "".
Это довольно хромой пример, но вы поняли эту идею.
Вы также можете посмотреть на другие вещи, которые могут иметь потенциально злонамеренное объяснение, а также доброжелательное объяснение.
Например, если вы видите большое количество неудачных попыток паролей reset, это может указывать на какое-то вредоносное поведение, но если вы видите, что счетчики perfmon говорят вам, что контроллер домена имеет в общей сложности менее 1000 бесплатных системных PTE (по общему признанию, маловероятно в 64-разрядной ОС), или видит, что использование ЦП составляет более 95%. В этом случае, это не обязательно проблема безопасности, это проблема загрузки/емкости - или что-то очень не так с вашим DC.