【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. 恢复通知:新增磁盘使用率降至阈值以下时的"恢复通知",便于运维确认问题解决。
相关推荐
z12345677791 天前
2026年企业AI办公工具深度评测:钉钉悟空平替横向选型指南
人工智能·钉钉
正在走向自律2 天前
企业微信与DeepSeek大模型深度融合技术实践——智能消息、小程序及多媒体交互全方案
企业微信·小程序开发·deepseek大模型·多模态交互·智能消息·办公智能化
霸道流氓气质2 天前
视频预览链路三件套:ZLMediaKit · MediaMTX · FFmpeg 完全指南
ffmpeg·音视频
xgc_java2 天前
在Java里把ONNX/OpenCV/FFmpeg跑稳:28篇bytedeco实战小册完整指南
java·opencv·ffmpeg
梦想的旅途22 天前
JavaScript 实现企业微信消息自动发送的技术实践
运维·javascript·自动化·企业微信
wechatbot8882 天前
企业微信 AI 自动化运营:RPA 与 API 方案效果实测
人工智能·微信·自动化·企业微信·rpa
金融Tech趋势派4 天前
金融行业如何用企业微信大圆提升客户服务效率?
人工智能·企业微信
王者鳜錸4 天前
企业解决方案二十一-企微消息接收后提炼关键信息并转发方案实现
企业微信·消息接收·消息提炼转发·消息分析·自动化作业
chenyulin45454 天前
企业微信API二次开发:万级并发回调下的极致幂等性设计与防重放架构实战
大数据·人工智能·安全·架构·企业微信
梦想的旅途24 天前
利用 API 实现企业微信消息自动化推送
运维·自动化·企业微信