【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. 依赖与权限

  • 确保服务器安装 curlsudo 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. 恢复通知:新增磁盘使用率降至阈值以下时的"恢复通知",便于运维确认问题解决。
相关推荐
智子喻3 小时前
2026企业微信社群运营工具专业度排名:AI驱动下的私域增长工具实测
大数据·网络·新媒体运营·企业微信·用户运营
2501_941982053 小时前
企微API外部群自动化:快速建立自己的护城河
运维·自动化·企业微信
kkoral3 小时前
【FFmpeg 智慧园区场景应用】3.Shell脚本增强:故障自动重启 + 磁盘监控告警
ffmpeg
大大祥1 天前
Android FFmpeg集成
android·ffmpeg·kotlin·音视频·jni·ndk·音视频编解码
好多渔鱼好多1 天前
【流媒体】FFmpeg技术介绍与构建方法
ffmpeg
没有羊的王K1 天前
下载安装FFmpeg教程
ffmpeg
天空属于哈夫克31 天前
驱动级企微群控:超越模拟点击的外部群操作技术自动化
运维·自动化·企业微信
易晨 微盛·企微管家1 天前
2025企业微信智能表格实操指南:从数据整理到业务提效
大数据·人工智能·企业微信
kkoral1 天前
【FFmpeg 智慧园区场景应用】1.实战命令清单
ffmpeg