如何设置在指定时间段发送告警通知(需要升级到v3.3.9或以上)

在server/config/application.yml修改配置项warnCronTime,配置项遵循cron表达式规则,此项默认为空,表示会一直发送告警
以下几个例子请参考
1、如下配置,表示周1到周5的8点-20点发送告警,其他时间不发
 #告警时间段cron表达式设置(在该时间段内发送告警,其他时间不发),默认为空会持续发送,如'* * 8-20 ? * MON-FRI'表示周1到周5的8点-20点发送告警,'* * 8-20 * * ?'表示每天的8点-20点发送告警,带单引号
  warnCronTime: '* * 8-20 ? * MON-FRI'
2、如下配置,表示每天的8点-20点发送告警,其他时间不发
 #告警时间段cron表达式设置(在该时间段内发送告警,其他时间不发),默认为空会持续发送,如'* * 8-20 ? * MON-FRI'表示周1到周5的8点-20点发送告警,'* * 8-20 * * ?'表示每天的8点-20点发送告警,带单引号
 warnCronTime: '* * 8-20 * * ?'
3、如下配置,表示每天上午10点,14点,16点发送告警,其他时间不发
 #告警时间段cron表达式设置(在该时间段内发送告警,其他时间不发),默认为空会持续发送,如'* * 8-20 ? * MON-FRI'表示周1到周5的8点-20点发送告警,'* * 8-20 * * ?'表示每天的8点-20点发送告警,带单引号
 warnCronTime: '* * 10,14,16 * * ?'
4、如果我们使用的告警脚本方式shell,也可以这样实现如下,比如每天早上8点到晚上8点告警,其他时间不发告警
#!/bin/bash
# -*- coding: utf-8 -*-
###SCRIPT_NAME:weixin.sh###
###send message from weixin for monitoring###
###wgcloud###

time_nw=$(date -s now +%s)
time_08=$(date -s 03:00:00 +%s)
time_20=$(date -s 20:00:00 +%s)

         
if [[ $time_nw -le $time_08  || $time_nw -ge $time_20 ]]; then
    exit 1
fi      

echo "执行任务处理相关逻辑----------- $time_nw"
	
好了,我们重启server试试