【问题标题】:How to monitor a log file and send an alert if it stopped?如何监视日志文件并在停止时发送警报?
【发布时间】:2017-02-08 10:20:08
【问题描述】:

如果文件停止写入新行,有没有办法监控日志文件并发送警报(电子邮件)?

【问题讨论】:

    标签: windows file powershell monitoring


    【解决方案1】:

    下面是实现所需结果的 powershell 脚本。 一旦脚本执行,代码将每五分钟执行一次,除非 powershell 窗口关闭,不需要在任务调度器中调度脚本。

    $LogFile = "C:\logs\mylogFile.log"
    while($true)
    {
        $LastWriteTime = (Get-ChildITem $LogFile).LastWriteTime
        $CurrentTime = Get-Date
        $Diff = (New-TimeSpan -Start $LastWriteTime -End $CurrentTime).TotalMinutes
        If($Diff -gt 5)
        {
            #Send Email Alert if file not written from last 5 minutes or Alert That you want
        }
    
        sleep -Seconds (60*5)
    }
    

    【讨论】:

      【解决方案2】:

      您可以使用.NET 中的Timer 之类的计时器实例,并在计时器处理程序上检查文件的最后修改日期。您可以使用 .NET 中的 System.IO.File.GetLastWriteTime 获取文件的最后修改日期。如果上次修改日期足够老,那么您可以发送警报。

      【讨论】:

      • 这是个好主意,但实际上我对编码的背景很薄弱,有人尝试过使用这个主意吗? @丹尼尔
      猜你喜欢
      • 2017-02-19
      • 1970-01-01
      • 1970-01-01
      • 2021-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多