首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用EventFlow监控本地机器上的ETW事件

利用EventFlow监控本地机器上的ETW事件
EN

Stack Overflow用户
提问于 2017-09-02 06:59:13
回答 1查看 712关注 0票数 2

我试图设置一个简单的ETW和EventFlow示例,允许监视特定的ETW提供者。在这种情况下,服务控制管理器ETW提供程序将监视何时发出服务启动和停止消息。

我有下面的跟踪和ETW输入配置。

代码语言:javascript
复制
  "inputs": [
{
  "type": "Trace",
  "traceLevel": "Warning"
},
{
  "type": "ETW",
  "providers": [
    {
      "providerName": "Service Control Manager"
    }
  ]
}]

我有以下代码,它使用EventFlow启动监视。

代码语言:javascript
复制
static void Main(string[] args)
    {
        using (var pipeline = DiagnosticPipelineFactory.CreatePipeline("eventFlowConfig.json"))
        {
            System.Diagnostics.Trace.TraceWarning("EventFlow is working!");
            Console.ReadLine();
        }
    }

跟踪事件出现在控制台中,但当我启动和停止服务时,不会出现ETW事件。

EventFlow是针对本地机器上的这种场景设计的吗?如果是这样的话,我在配置或代码中遗漏了什么?

控制台进程以管理员身份运行,并且帐户有权访问Performance用户和Performance监视器组

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-11 22:11:44

如果要从服务控制管理器侦听ETW事件,则需要侦听名为Microsoft-Windows-Services.的提供程序

这是我在我的eventFlowConfig.json中拥有的

代码语言:javascript
复制
{
"inputs": [
    {
    "type": "ETW",
    "providers": [
        { "providerName": "Microsoft-Windows-Services" }
    ]
    }
],
"filters": [],
"outputs": [
    { "type": "StdOutput" }
],
"schemaVersion": "2016-08-11",
"extensions": []
}

为了检查它是否有效,我停止并启动了Server服务。事件按预期的方式在控制台中输出。

作为额外的正常检查,您可以使用Visual 诊断事件查看器侦听ETW事件。启动查看器,单击cog进行配置,在ETW提供程序列表中添加提供程序名称,然后应用。现在,您应该能够在查看器和控制台应用程序中看到相同的事件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46011329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档