通过 filebeats 或 nxlog 等日志收集器读取 XEL(SQL Server 扩展事件文件)
Posted
技术标签:
【中文标题】通过 filebeats 或 nxlog 等日志收集器读取 XEL(SQL Server 扩展事件文件)【英文标题】:Reading XEL (SQL Server eXtended Event file) by log collectors such as filebeats or nxlog 【发布时间】:2019-02-09 12:57:45 【问题描述】:我想用graylog
和filebeats
或nxlogs
等日志收集器创建一个集中式日志。
我知道Microsoft SQL Server extended events
创建 .XEL 文件。但它们是二进制文件。
有没有什么干净的方法可以通过filebeats
或nxlog
或任何其他工具读取此xel 文件并将其发送到graylog?
【问题讨论】:
您可以使用.NET QueryableXEventData class 在 .NET 代码或 PowerShell 脚本中以编程方式读取 xel 文件。根据您的需要,我认为从 XE 数据创建一个文本文件以供您的工具提取是最简单的。 【参考方案1】:使用 nxlog,您可以使用 im_exec 模块并编写一个脚本(如 @dan-guzman 建议的那样),将 .xel 文件转换为基于文本的格式。 另一种选择是使用Event Tracing for Windows Target 和im_etw 输入模块来收集ETW 事件。
【讨论】:
我一直在尝试设置 im_etw 模块,基本上一切似乎都很好,但我没有从 ncLog 获得任何输出。 nxLog 正在工作,因为我从例如sql 服务器错误日志。我一直在尝试与不同的提供商合作,但没有任何成功。您知道应该使用哪个 etw 提供程序来处理扩展事件吗?以上是关于通过 filebeats 或 nxlog 等日志收集器读取 XEL(SQL Server 扩展事件文件)的主要内容,如果未能解决你的问题,请参考以下文章