帮助手册 Cron 监控

定时监控

使用简单的无编码设置监控 cron 作业、微服务、守护程序和几乎所有其他内容。快速排除 cron 故障并在 cron 故障影响您的系统之前获得告警。

为什么要监控 Cron 作业?

Cron 作业用于计划备份、电子邮件、状态检查等任务。因此,这些 cron 作业会对您的 Web 服务器和应用程序的性能产生重大影响。这使得持续监控它们并深入了解重要的工作和后端系统变得至关重要。

使用我们的监控解决方案,您现在可以获得与 cron 监控相关的三个最重要问题的答案:

  • 现在或在任何给定的时间段内有多少和哪些 cron 作业正在运行?
  • 我的任务运行了多长时间?
  • 我的任何工作是否失败、卡住或运行时间超过预期?

添加 Cron 监视器

开始跟踪您的工作、工作人员、服务或任何可以发送 HTTP 请求的事物。 

  1. 登录到 Site24x7 并转到Server Cron Monitoring (+)
  2. 输入以下详细信息:
    • 显示名称:输入名称以供识别。
    • Cron 表达式这些表达式可帮助您计划 cron 作业。它们需要以特定格式添加。
    • 时区:从下拉列表中定义适当的时区以计划您的 cron 作业。
    • 宽限期:提供一个时间长度,定义在启动后多久可以触发告警。这基本上是为了避免由于网络延迟而导致的错误告警。
    • 阈值和可用性:设置阈值配置文件以确定何时应将特定资源声明为危急或停止。
  3. 高级配置下,填写以下字段:
    • 用户告警组:决定有告警时必须通知谁。
    • 标签:通过应用唯一标签对您帐户中的相关资源进行分类和排序。 
  4. 第三方集成下,从可用的集成中进行选择,以将您的监视器告警推送到您首选的第三方服务中。保存您的更改。
提示:您可以使用 API 添加 cron 监视器或下载脚本以自动检测和添加 cron 监视器。了解更多
使用 Cron 表达式

cron 表达式允许更大的灵活性,并有助于定义固定的时间计划。它由五个字段组成,以空格分隔。

Cron 表达式的语法:

m   h   dom  mon  dow
*    *      *        *       *        test.sh
|     |     |        |       |
|     |     |        |       #--------- Day of the Week (0 to 6) (Sunday = 0 or 7)
|     |     |        #----------- Month (1 to 12)
|     |     #-------------  Day of the Month (1 to 31)
|     #----------------  Hour (0 to 23)
#-------------------  Minute (0 to 59)                 

期间 范围 描述
分钟) 0-59 * 表示每分钟开始时的每一分钟
小时) 0–23 * 表示每小时开始时的每小时
一个月的天数 1–31 * 表示每天
1-12 * 表示每个月,如果您愿意,可以使用月份名称
星期几 0–7 0 和 7 都表示星期日,你也可以使用名字

例子:

  • 每天晚上 11 点运行位于 /etc/script 的名为 backup.sh 的备份脚本
    00 23 * * * /etc/script/backup.sh
  • 在每个月的第一天晚上 11:45 运行名为 backup-monthly.sh 的每月备份脚本
    45 11 1 * * /etc/script/monthly.sh
  • 使用 /N 间隔让指定范围内的所有值以 N 的间隔运行,例如每九分钟(0、9、18、27、36、45、54)
    */9 * * * * 
  • 每天凌晨 3 点和 5 点运行位于 /etc/script 的名为 test.sh 的脚本
    * 3,5 * * * /etc/script/test.sh
  • 每天早上 6 点到 9 点之间每小时运行一个名为 server.sh 的脚本,该脚本位于 /etc/script
    * 6-9 * * * /etc/script/server.sh

设置

添加 cron 监视器后,您将被自动重定向到设置页面。在这里,您会发现为您的监视器列出的两个唯一 ping URL:

  • 在您的工作开始之前要 ping 的 URL
    https://plus.site24x7.com/cron/{api key}/{monitor display name/device key}/start
  • 工作结束后要 ping 的 URL
    https://plus.site24x7.com/cron/{api key}/{monitor display name/device key}/end

在您的工作开始、完成或失败时收集信息的完整 URL 格式

https://plus.site24x7.com/cron/{apikey}/{监视器显示名称/设备密钥}/{ENDPOINT}
 
监视器将处于发现状态,直到收到第一个 ping。

如何从您的端点推送数据?

使用以下格式之一从您的端点推送数据并更新您的作业状态:

1) Crontab 2) Bash 3) Python 4) PowerShell 5) ruby 

下面是一个使用 Crontab 的示例:

 

Cron URL

提醒您的 Cron 作业

设置告警以了解您的工作、工作人员或服务的运行时间是否超过预期。在以下情况下,这些告警将证明是有益的:

  • 作业相互重叠(难以检查单个作业)。
  • 您需要检查增加的客户群或更大的数据库是否随着时间的推移导致性能下降。  

您可以使用设置页面中提供的唯一 ping URL来发送特定时间段的告警。为此,请在您的作业开始时ping 您的/start端点,并在成功完成时ping 您的/end端点。如果您的作业的运行时间不同,您可以使用 cron 表达式来指定固定的持续时间。

报表

以下报表可用于 cron 监控:

  • 汇总报表 - 查看 cron 监视器的整体可用性、中断详细信息、可用性和暂停摘要。 
    Cron Summary Report
  • 可用性汇总报表 - 查看任何选定时间段内 cron 监视器的总体可用性摘要、中断和停机时间。
    Cron Availability Summary Report
  • 健康趋势报表 - 查看 cron 监视器从最初设置时的可用性趋势。
    Cron Health Trend Report

有效计划 Cron 作业的技巧 

  • 如果您的作业未按预期开始,请使用宽限期选项并指定延长的时间段。 
  • 如果您收到监视器的意外告警,请检查您是否在作业开始之前ping /start端点和之后的/end端点。/start 或 /end  ping丢失或放错 位置  是最常见的错误。
  • 如果您正确地 ping /start/end ,请尝试将命令中的 AND (&&) 逻辑更改为 OR 逻辑 (;)。
    仅当您的命令成功完成时才尝试从 ping /endCron Expressions要始终 ping 您的/end URL:Cron Expressions
    通过这样做,即使您的命令以非 0 退出代码退出,您也将 ping 您的 URL。如果是这种情况,请找出您的命令退出并显示错误代码的原因。
  • 通过对 Linux 服务器使用date命令或对 Windows 使用tzutil /g确认您的服务器时间是否与添加监视器时设置的时区匹配

许可

这是一个基本的监视器。 

25 个 cron 监视器 = 1 个基本监视器 = 1 美元

 

相关文章

帮助手册 Cron 监控