C++监视磁盘活动进程信息(ETW同理适用其他性能监控)

admin 2023年2月24日10:27:51评论65 views字数 1470阅读4分54秒阅读模式

一、目的

为了实现监控磁盘活动的进程信息(微软自带资源监视器软件)C++监视磁盘活动进程信息(ETW同理适用其他性能监控)

二、了解ETW

ETW是Event Tracing for Windows的简称,它是Windows提供的原生的事件跟踪日志系统。由于采用内核(Kernel)层面的缓冲和日志记录机制,所以ETW提供了一种非常高效的事件跟踪日志解决方案。

  1. 事件监测(Event Instrumentation)总会包含两个基本的实体,事件的提供者(ETW Provider)和消费者(ETW Consumer),ETW框架可以视为它们的中介。ETW Provider会预先注册到ETW框架上,提供者程序在某个时刻触发事件,并将标准化定义的事件提供给ETW框架。Consumer同样需要注册到ETW框架上,在注册的时候可以设置事件的删选条件和接收处理事件的回掉。对于接收到的事件,如果它满足某个注册ETW Consumer的筛选条件,ETW会调用相应的回调来处理该事件。

  2. ETW针对事件的处理是在某个会话(ETW Session)中进行的,ETW Session提供了一个接收、存储、处理和分发事件的执行上下文。ETW框架可以创建多一个会话来处理由提供者程序发送的事件,但是ETW Session并不会与某个单一的提供者绑定在一起,多个提供者程序可以向同一个ETW Session发送事件。对于接收到的事件,ETW Session可以将它保存在创建的日志文件中,也可以实时地分发给注册的消费者应用。ETW会话的开启和终止是通过 Session的开启和终止是通过ETW控制器(ETW Controller)进行管理的。除了管理ETW Session之外,ETW Controller还可以禁用(Disable)或者恢复(Enable)注册到某个ETW Session上的ETW Provider。

整个ETW模型由ETW框架本身和ETW Provider、ETW Consumer以及ETW Controller组成C++监视磁盘活动进程信息(ETW同理适用其他性能监控)

三、分析

通过Microsoft Message Analyzer工具(网上自行下载,这个工具很强大,可以监控很多东西,需要自己多研究)看看是否有我们需要的数据(打个样,想要监控其他性能数据的话思路差不多)C++监视磁盘活动进程信息(ETW同理适用其他性能监控)C++监视磁盘活动进程信息(ETW同理适用其他性能监控)

这里可以添加系统或自定义的提供者,我们优先找系统的C++监视磁盘活动进程信息(ETW同理适用其他性能监控)

关键字搜索,找到disk相关的provider,如果不清楚的话可以全选,后面再从实时的数据中筛选出有用的。开启监控后可以看到很多数据C++监视磁盘活动进程信息(ETW同理适用其他性能监控)

其中Windows_Kernel_Trace数据是一定有的,红色圈起来部分是Windows_Kernel_Trace数据解析的结构体,结构体详情在下面显示C++监视磁盘活动进程信息(ETW同理适用其他性能监控)

其中Etw部分对应的是结构体EVENT_RECORD的数据。将Windows_Kernel_Trace过滤,得到我们真正想要的磁盘io数据C++监视磁盘活动进程信息(ETW同理适用其他性能监控)

可以看到Microsoft_Windows_Kernel_Disk是我们真正需要关注的provider,这其中包括写事件(EventID:11),读事件(EventID:10),刷缓冲事件(EventID:14)。不同事件的数据结构也很清楚了,现在要做的就是在代码中关注对应事件并解析即可

注:在这个文档中我们也可以看到该一些事件和结构体信息github.com/repnz/etw-p…C++监视磁盘活动进程信息(ETW同理适用其他性能监控)


作者:头微凉
链接:https://juejin.cn/post/6998491308687884301
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


原文始发于微信公众号(汇编语言):C++监视磁盘活动进程信息(ETW同理适用其他性能监控)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月24日10:27:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   C++监视磁盘活动进程信息(ETW同理适用其他性能监控)http://cn-sec.com/archives/1569194.html

发表评论

匿名网友 填写信息