【FFmpeg 智慧园区场景应用】4.企业微信 / 钉钉机器人告警配置(替换邮件告警)

企业微信/钉钉机器人告警配置(替换邮件告警)

以下提供 企业微信/钉钉机器人告警 的完整配置流程,含机器人创建、Shell脚本改造、定时任务设置,适配园区运维实时接收存储告警,操作简单可直接复用。


一、企业微信群机器人配置(推荐,无安全关键词限制)

1. 创建机器人并获取Webhook

  1. 打开企业微信群,点击右上角 群设置 → 群机器人 → 添加机器人。
  2. 选择 新建一个机器人 ,输入名称(如"园区存储告警机器人"),点击 添加。
  3. 复制生成的Webhook地址(格式:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx),保存备用。
  4. (可选)设置IP白名单(群机器人→配置→IP白名单),填入服务器公网IP,提升安全性。

2. Shell脚本改造(替换邮件告警为企微机器人)

修改 disk_monitor_alert.sh 中告警配置,新增企微发送函数:

bash 复制代码
#!/bin/bash
# 磁盘监控告警脚本(企业微信机器人版)
# 核心配置(重点修改)
MONITOR_DIR="/data/park/record"
ALERT_THRESHOLD=85
LOG_FILE="/data/park/logs/disk_monitor.log"
WECHAT_WEBHOOK="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的企微机器人key"  # 替换为实际Webhook
ENABLE_WECHAT_ALERT=1  # 启用企微告警:1=启用,0=禁用

# 新增:发送企微告警函数
send_wechat_alert() {
    local alert_msg=$1
    # 构造企微Markdown消息体
    local payload=$(cat <<EOF
{
    "msgtype": "markdown",
    "markdown": {
        "content": "### ⚠️ 智慧园区存储告警\n\n**时间**:$(date +'%Y-%m-%d %H:%M:%S')\n**磁盘分区**:${DISK_PART}\n**总空间**:${DISK_TOTAL}\n**剩余空间**:${DISK_FREE}\n**使用率**:${DISK_USAGE}%\n**阈值**:${ALERT_THRESHOLD}%\n**影响**:可能导致录制失败、AI预处理中断,请及时清理!"
    }
}
EOF
)
    # 发送POST请求
    curl -s -X POST -H "Content-Type: application/json" -d "${payload}" ${WECHAT_WEBHOOK} >> ${LOG_FILE} 2>&1
    echo "$(date +'%Y-%m-%d %H:%M:%S') - 企微告警已发送至群聊" >> ${LOG_FILE}
}

# 以下为原有逻辑,仅修改告警触发部分
# ...(磁盘使用率获取等原有代码不变)

# 触发告警时调用企微函数
if [ ${DISK_USAGE} -ge ${ALERT_THRESHOLD} ]; then
    alert_msg="【告警】磁盘使用率超过阈值..."
    # 写入告警日志(不变)
    # ...
    # 调用企微告警(替换邮件)
    if [ ${ENABLE_WECHAT_ALERT} -eq 1 ]; then
        send_wechat_alert "${alert_msg}"
    fi
fi

3. 测试与验证

  1. 赋予权限:chmod +x disk_monitor_alert.sh。
  2. 手动执行测试:./disk_monitor_alert.sh,查看企微群是否收到告警。
  3. 查看日志:tail -f /data/park/logs/disk_monitor.log,确认发送状态。

二、钉钉群机器人配置(备选,需设置关键词)

1. 创建机器人并获取Webhook

  1. 打开钉钉群,点击右上角 群设置 → 智能群助手 → 添加机器人 → 自定义机器人。
  2. 输入名称,安全设置选择 自定义关键词 ,添加关键词(如"告警""园区"),点击 完成。
  3. 复制Webhook地址(格式:https://oapi.dingtalk.com/robot/send?access_token=xxx),保存备用。

2. Shell脚本改造(钉钉版)

修改 disk_monitor_alert.sh,替换为钉钉发送函数:

bash 复制代码
#!/bin/bash
# 磁盘监控告警脚本(钉钉机器人版)
# 核心配置
MONITOR_DIR="/data/park/record"
ALERT_THRESHOLD=85
LOG_FILE="/data/park/logs/disk_monitor.log"
DINGTALK_WEBHOOK="https://oapi.dingtalk.com/robot/send?access_token=你的钉钉机器人token"  # 替换为实际Webhook
ENABLE_DINGTALK_ALERT=1  # 启用钉钉告警:1=启用,0=禁用

# 新增:发送钉钉告警函数
send_dingtalk_alert() {
    local alert_msg=$1
    # 构造钉钉Markdown消息体(必须包含安全关键词)
    local payload=$(cat <<EOF
{
    "msgtype": "markdown",
    "markdown": {
        "title": "园区存储告警",
        "text": "### ⚠️ 智慧园区存储告警(关键词:告警)\n\n**时间**:$(date +'%Y-%m-%d %H:%M:%S')\n**磁盘分区**:${DISK_PART}\n**总空间**:${DISK_TOTAL}\n**剩余空间**:${DISK_FREE}\n**使用率**:${DISK_USAGE}%\n**阈值**:${ALERT_THRESHOLD}%"
    }
}
EOF
)
    curl -s -X POST -H "Content-Type: application/json" -d "${payload}" ${DINGTALK_WEBHOOK} >> ${LOG_FILE} 2>&1
    echo "$(date +'%Y-%m-%d %H:%M:%S') - 钉钉告警已发送至群聊" >> ${LOG_FILE}
}

# 触发告警时调用钉钉函数
if [ ${DISK_USAGE} -ge ${ALERT_THRESHOLD} ]; then
    # ...(日志记录不变)
    if [ ${ENABLE_DINGTALK_ALERT} -eq 1 ]; then
        send_dingtalk_alert "${alert_msg}"
    fi
fi

三、关键配置与测试要点

1. 依赖与权限

  • 确保服务器安装 curl(sudo apt install curl/sudo yum install curl)。
  • 脚本执行用户需有网络访问权限(可访问企微/钉钉API)。
  • 测试网络连通性:curl -I ${WECHAT_WEBHOOK},返回200状态码即正常。

2. 告警效果验证

  1. 手动触发测试(临时修改阈值为1%):

    bash 复制代码
    ALERT_THRESHOLD=1 ./disk_monitor_alert.sh
  2. 检查群聊是否收到Markdown格式告警,日志是否记录发送成功。

3. 定时任务保持不变

bash 复制代码
# 每30分钟执行一次磁盘监控
*/30 * * * * /data/park/scripts/disk_monitor_alert.sh

四、扩展与优化

  1. 告警降噪:新增"静默周期"(如1小时内只告警1次),避免重复通知。
  2. 多渠道联动:同时启用企微+钉钉告警,提升通知可靠性。
  3. 恢复通知:新增磁盘使用率降至阈值以下时的"恢复通知",便于运维确认问题解决。
相关推荐
天空属于哈夫克34 天前
企业微信二次开发:精准实现关键词自动回复
架构·企业微信
wechatbot8884 天前
极客互动企业微信 SCRM 自动运营平台效果实测
java·微信·企业微信·rpa
极客互动API4 天前
极客互动-企业微信基于外部API接口实现AI客服自动接管外部联系人消息收发
java·微信·企业微信·ai编程·rpa
金融Tech趋势派4 天前
2026企业微信客户运营效率提升方案:AI Agent+SCRM让效率提升300%
企业微信
天空属于哈夫克34 天前
企业微信二次开发:用 sendText 做外部群工单播报
架构·企业微信
星云API技术支持5 天前
企业微信二次开发项目实战:从实例接入到消息收发与 Webhook 回调的完整链路
机器人·yapi·企业微信
星云API技术支持5 天前
企业微信二次开发如何实现外部群自动化?从消息监听到接口调用完整流程
机器人·yapi·企业微信
星云API技术支持5 天前
企业微信二次开发消息收发实战:单聊、群聊与事件消息如何统一处理
机器人·yapi·企业微信
程序员老陆6 天前
WHIP 与 WHEP:WebRTC 直播的标准化入口与出口
ffmpeg·音视频·webrtc·whip·whep
本人手速666+6 天前
WeComApi 与企微外部群自动化:如何把群聊变成可管理流程
企业微信·企微外部群开发·wecomapi·企业微信二次开发·企业微信开发