首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用procmon记录更多事件

用procmon记录更多事件
EN

Server Fault用户
提问于 2013-03-26 17:23:41
回答 1查看 1.4K关注 0票数 0

“”的最大历史深度为1.99亿个事件。我要把这个录10遍。我不介意数据是否被分割,例如每小时都有一个新的数据集。有人知道怎么做吗?我猜是一个批处理文件,备份文件将被顺序命名为文件夹。是否有一种方法来检测一旦Process填充了它的历史深度来杀死它,还是我只需要睡觉?

EN

回答 1

Server Fault用户

发布于 2013-03-26 21:03:35

是的,你得写剧本了。我以前在宝洁公司做过类似的工作,但我的目标不是捕捉数十亿的事件。不过,这应该会对您有所帮助,除非您需要有人为您编写脚本:

创建一个每5分钟运行一次的VBscript。任务计划程序可以帮助您完成这一任务。

如果这是脚本第一次运行,那么启动Procmon如下:

代码语言:javascript
复制
objShell.Run "Cmd /C " & PRM_ProcMonExe & " /quiet /minimized /AcceptEula /backingfile " & PRM_PMLDir & "Procmon" & subDir & ".pml"

然后,在脚本的后续运行中,度量subDir中所有subDir文件的总大小。

代码语言:javascript
复制
If ProcMonTriggered = True And ProcMonTerminated = False Then
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFSO.GetFolder(PRM_PMLDir)
    Set objFiles = objFolder.Files
    For Each objItem In objFiles
        If UCase(objFSO.GetExtensionName(objItem.Name)) = "PML" Then
            totalPMLSize = totalPMLSize + objItem.Size
        End If
    Next
    If totalPMLSize > (PRM_PMLMaxSize * 1073741824) Then
        NQExt.CreateEvent PRM_TriggeredSev, "ProcMon Terminated", "AKP_NULL", gstrEventTarget, 0.0, "Process Monitor was terminated because the PML file reached the limit of " & PRM_PMLMaxSize & "GB." & vbCrlf & "Process Monitor cannot be triggered again until this script is re-deployed." & vbCrlf & "Please see KB " & PRM_KBArticle, "", 0, 0
        Set objShell = CreateObject("WScript.Shell")
        objShell.Run "Cmd /C " & PRM_ProcMonExe & " /AcceptEula /terminate"         
    End If
    If isObject(objFiles) Then Set objFiles = Nothing
    If isObject(objFolder) Then Set objFolder = Nothing
    If isObject(objShell) Then Set objShell = Nothing
    If isObject(objFSO) Then Set objFSO = Nothing
    ProcMonTerminated = True
End If

这不是专门为你的情况量身定制的。你得调整一下。这是我很久以前写的,目的略有不同。您要做的是,如果自上次脚本运行以来子目录中所有*.pml文件的大小都没有增加.然后您就知道是时候终止Procmon并启动一个新的实例了。

关键是,您必须使用/terminate参数优雅地终止Procmon,而不仅仅是终止进程,否则日志将损坏,无法读取。

然后在新的subDir中启动procmon的新实例。创造力将让您创建具有增量名称的子目录,如subdir1、subdir2、subdir3等。

编辑:而且,我从来没有运行过宝洁公司到2亿事件,所以我不知道它是否只是坐在那里,在达到1.99亿之后什么也不做,或者它是否完全关闭。如果是后者,那么你的工作就更容易了。只需检查Procmon.exe是否仍在运行。如果不是,那么您就知道是时候在新的子目录下再次启动它了。

编辑:是的,我认为一旦它到达历史深度,它就会开始滚动.所以做文件大小的事。

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

https://serverfault.com/questions/491548

复制
相关文章

相似问题

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