我在哪里可以找到 Perfmon 二进制 .blg 文件格式的详细低级规范?或者更好的是,有没有人编写过用于解析 .blg 文件的低级开源库(最好用 C 语言,但任何语言都可以)?
4 回答
有一个名为 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
这对查看历史数据没有帮助,但如果您可以访问运行 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 文件转换为更有用的格式。
另一种选择是将 perfmon 数据收集集导出为模板,并更改 XML 中的日志文件格式 - 查找 LogFileFormat 标记并将值更改为您偏好的格式
0 = CSV,1 = TSV,2 = SQL,3 = 默认二进制格式。
我正在寻找一种将 PerfMon 数据合并到 SIEM 中的方法,并发现让 perfmon 记录到 SQL DB(并从 SIEM 代理从 SQL 视图中读取数据)是最好的方法。
关于其他产品我不能说太多,但是在 LogRhythm SIEM 中,您需要一个“UDLA”(通用数据库日志适配器)日志源 - 如果您想解析/上下文化元数据,您需要一些解析规则(即正则表达式)查询返回的内容。
查看诸如“如果有x个登录错误,并且可用 MBytes 小于 100,则触发警报/AIEngine 规则‘内存不足,无法处理登录’”之类的内容很有用。
这是一个非常蹩脚的例子,但你明白了。
您可能还会查看其他具有潜在恶意解释和良性解释的事物。
例如 - 如果您看到大量尝试重置密码失败,这通常表明存在恶意行为 - 但如果您看到 perfmon 计数器告诉您域控制器总共有少于 1,000 个可用系统 PTE(诚然在 64 位操作系统上不太可能),或者看到 CPU 使用率超过 95%。在这种情况下,它不一定是安全问题,而是负载/容量问题 - 或者您的 DC 出了问题。