【问题标题】:Monitor a log file using tail -f使用 tail -f 监控日志文件
【发布时间】:2017-07-12 19:14:29
【问题描述】:

需要一些指导

使用tail-f监控应用程序日志文件(日志轮换),如果日志文件中的异常需要使用脚本发送警报。

【问题讨论】:

  • 如果没有更多上下文和/或您尝试过的代码示例,您很可能不会得到任何答案。对于初学者,我建议运行一个 cronjob 来恢复您的日志,然后立即运行您的分析脚本。
  • 我是这个环境的新手,我想监控一个应用程序日志文件,每天轮换一次,看看是否有任何异常它应该发送一些通知。我该怎么做?
  • 查看cron 以在一天中的特定时间设置特定任务,并查看awkgrepsed 以根据模式分析文件的内容

标签: bash shell logging


【解决方案1】:

仅使用tail -f 很难构建日志监视器。 tail 确实有一个 +c 选项可以从特定位置读取,但是围绕它构建好的代码会很棘手。

你需要的是这个:

  • 一个读取控制文件,存储从日志文件读取的最后一个字节位置
  • 使用读取控制文件进行增量读取(使用seek)并根据读取的行进行模式匹配和通知并更新读取控制文件的脚本
  • inode 编号可用于命名读取控制文件,这样即使日志文件被重命名或移动,增量逻辑也能继续工作

上述脚本既可以作为守护进程运行,也可以作为 cron 作业定期执行。我强烈建议为此使用 Perl、Ruby、Python 甚至 Java/C/C++。

【讨论】:

    猜你喜欢
    • 2020-05-30
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多