Skip to content

TDSQL 告警通知方式

邮件通知配置

邮件服务器配置

配置步骤

  1. 登录TDSQL控制台
  2. 进入「监控告警」→「告警配置」→「通知渠道」
  3. 点击「新增通知渠道」→「邮件」
  4. 填写SMTP服务器信息:
    • SMTP服务器地址
    • SMTP端口号
    • 发件人邮箱
    • 发件人密码/授权码
    • 加密方式(SSL/TLS)
  5. 点击「测试连接」验证配置
  6. 保存配置

配置示例

yaml
# 邮件服务器配置示例
smtp_server: smtp.example.com
smtp_port: 465
sender_email: alerts@example.com
sender_password: "your_password"
encryption: ssl

邮件模板配置

模板变量

  • {ALARM_NAME}:告警名称
  • {ALARM_LEVEL}:告警级别
  • {ALARM_TIME}:告警触发时间
  • {ALARM_DESC}:告警描述
  • {ALARM_SOURCE}:告警源
  • {ALARM_DETAILS}:告警详情
  • {RECOVERY_TIME}:恢复时间
  • {RECOVERY_DESC}:恢复描述

模板示例

【{ALARM_LEVEL}】TDSQL 告警通知

告警名称:{ALARM_NAME}
告警级别:{ALARM_LEVEL}
触发时间:{ALARM_TIME}
告警源:{ALARM_SOURCE}

告警描述:
{ALARM_DESC}

告警详情:
{ALARM_DETAILS}

请及时处理!

短信通知配置

短信服务配置

配置步骤

  1. 登录TDSQL控制台
  2. 进入「监控告警」→「告警配置」→「通知渠道」
  3. 点击「新增通知渠道」→「短信」
  4. 选择短信服务商:
    • 腾讯云短信
    • 阿里云短信
    • 其他第三方短信服务
  5. 填写API密钥和签名信息
  6. 配置短信模板
  7. 点击「测试发送」验证配置
  8. 保存配置

短信模板设计

设计原则

  • 简洁明了,关键信息优先
  • 包含告警级别、名称、触发时间
  • 限制在70字符以内
  • 避免敏感信息

模板示例

【TDSQL】{ALARM_LEVEL}告警:{ALARM_NAME}于{ALARM_TIME}触发,请及时处理。

电话通知配置

电话通知适用场景

  • P0级紧急告警
  • 关键业务系统故障
  • 其他渠道通知未响应时的兜底方案

电话通知配置

配置步骤

  1. 登录TDSQL控制台
  2. 进入「监控告警」→「告警配置」→「通知渠道」
  3. 点击「新增通知渠道」→「电话」
  4. 选择电话服务提供商
  5. 配置API密钥和电话号码
  6. 设置电话通知规则:
    • 通知次数
    • 通知间隔
    • 告警级别触发条件
  7. 保存配置

企业微信通知配置

企业微信应用配置

配置步骤

  1. 登录企业微信管理后台
  2. 进入「应用管理」→「自建」→「创建应用」
  3. 填写应用信息:
    • 应用名称:TDSQL告警通知
    • 应用描述:用于接收TDSQL数据库告警
    • 应用头像:上传TDSQL相关图标
  4. 获取应用ID和Secret
  5. 获取企业ID
  6. 配置可信IP
  7. 保存配置

企业微信通知模板

模板示例

{{
  "msgtype": "markdown",
  "markdown": {
    "content": "# TDSQL {ALARM_LEVEL} 告警\n\n## 告警信息\n- **告警名称**:{ALARM_NAME}\n- **告警级别**:{ALARM_LEVEL}\n- **触发时间**:{ALARM_TIME}\n- **告警源**:{ALARM_SOURCE}\n\n## 告警详情\n{ALARM_DETAILS}\n\n## 处理建议\n请及时登录TDSQL控制台查看详细信息并处理。"
  }
}

钉钉通知配置

钉钉机器人配置

配置步骤

  1. 登录钉钉客户端
  2. 进入目标群聊
  3. 点击「群设置」→「智能群助手」→「添加机器人」
  4. 选择「自定义机器人」
  5. 填写机器人信息:
    • 机器人名称:TDSQL告警机器人
    • 安全设置:选择IP白名单或签名验证
    • 选择通知群聊
  6. 获取Webhook地址
  7. 保存配置

钉钉通知模板

模板示例

json
{
  "msgtype": "markdown",
  "markdown": {
    "title": "TDSQL {ALARM_LEVEL} 告警",
    "text": "# TDSQL {ALARM_LEVEL} 告警\n\n## 告警信息\n- **告警名称**:{ALARM_NAME}\n- **告警级别**:{ALARM_LEVEL}\n- **触发时间**:{ALARM_TIME}\n- **告警源**:{ALARM_SOURCE}\n\n## 告警详情\n{ALARM_DETAILS}\n\n## 处理建议\n请及时登录TDSQL控制台查看详细信息并处理。"
  }
}

Webhook通知配置

Webhook适用场景

  • 集成自定义告警系统
  • 对接第三方监控平台
  • 实现告警自动处理
  • 与企业内部系统集成

Webhook配置

配置步骤

  1. 登录TDSQL控制台
  2. 进入「监控告警」→「告警配置」→「通知渠道」
  3. 点击「新增通知渠道」→「Webhook」
  4. 填写Webhook地址
  5. 配置HTTP方法(GET/POST)
  6. 设置请求头信息
  7. 配置请求体模板
  8. 点击「测试发送」验证配置
  9. 保存配置

Webhook请求模板

POST请求示例

json
{
  "alarm_id": "{ALARM_ID}",
  "alarm_name": "{ALARM_NAME}",
  "alarm_level": "{ALARM_LEVEL}",
  "alarm_time": "{ALARM_TIME}",
  "alarm_source": "{ALARM_SOURCE}",
  "alarm_desc": "{ALARM_DESC}",
  "alarm_details": "{ALARM_DETAILS}",
  "recovery_time": "{RECOVERY_TIME}",
  "recovery_desc": "{RECOVERY_DESC}",
  "status": "{STATUS}"
}

告警通知策略配置

告警通知策略设计

按告警级别设计

告警级别通知渠道通知频率通知人员
P0(紧急)电话+短信+企业微信立即通知,每5分钟重试,共3次运维负责人+DBA+业务负责人
P1(重要)短信+企业微信立即通知,每10分钟重试,共2次DBA+运维人员
P2(普通)企业微信立即通知,不重试运维人员
P3(提示)企业微信每小时汇总通知运维人员

按时间段设计

  • 工作日(9:00-18:00):所有渠道正常通知
  • 非工作日(18:00-9:00):仅P0、P1级告警通知
  • 夜间(22:00-6:00):仅P0级告警通知电话,其他级别次日汇总

告警通知管理

通知历史查询

查询步骤

  1. 登录TDSQL控制台
  2. 进入「监控告警」→「告警历史」
  3. 设置查询条件:
    • 时间范围
    • 告警级别
    • 告警状态
    • 通知渠道
  4. 点击「查询」
  5. 查看通知详情:
    • 通知时间
    • 通知渠道
    • 通知内容
    • 通知结果
    • 重试记录

通知失败处理

失败原因分析

  • 配置错误:服务器地址、端口、认证信息错误
  • 网络问题:网络不通、防火墙限制
  • 服务不可用:第三方服务故障
  • 频率限制:超过服务商发送频率限制
  • 格式错误:请求格式不符合要求

失败处理流程

  1. 系统自动重试(根据配置的重试次数和间隔)
  2. 切换备用通知渠道
  3. 记录失败日志
  4. 生成通知失败告警
  5. 运维人员手动处理

告警通知最佳实践

配置最佳实践

1. 多渠道组合

  • 重要告警配置多种通知渠道
  • 紧急告警设置兜底机制
  • 普通告警使用成本较低的渠道

2. 合理设置通知频率

  • 避免告警风暴
  • 紧急告警高频通知
  • 普通告警低频或汇总通知

3. 明确通知对象

  • 根据告警级别设置不同的通知人员
  • 确保关键人员能收到紧急告警
  • 定期更新通知人员列表

运维最佳实践

1. 定期测试通知渠道

  • 每月测试所有通知渠道
  • 确保配置有效
  • 及时更新过期的认证信息

2. 优化告警通知内容

  • 包含关键信息
  • 简洁明了
  • 提供处理建议
  • 包含跳转链接

3. 建立告警处理流程

  • 明确告警处理责任人
  • 制定SLA(服务级别协议)
  • 建立升级机制
  • 定期回顾告警处理情况

常见问题(FAQ)

Q1: 如何避免告警风暴?

A1: 避免告警风暴的方法:

  • 合理设置告警阈值
  • 配置告警抑制规则
  • 使用告警聚合功能
  • 按时间段调整通知策略
  • 优化监控指标

Q2: 如何确保告警通知的可靠性?

A2: 确保告警通知可靠性的措施:

  • 配置多种通知渠道
  • 定期测试通知渠道
  • 设置重试机制
  • 建立备用通知方案
  • 监控通知系统本身

Q3: 如何优化告警通知内容?

A3: 优化告警通知内容的方法:

  • 包含关键信息(告警名称、级别、时间、源)
  • 提供明确的处理建议
  • 包含跳转链接
  • 使用格式化模板
  • 避免冗余信息

Q4: 如何管理大量的告警通知?

A4: 管理大量告警通知的方法:

  • 建立告警分级机制
  • 使用告警聚合功能
  • 配置告警抑制规则
  • 定期分析告警数据
  • 优化监控策略

Q5: 如何处理通知渠道故障?

A5: 处理通知渠道故障的步骤:

  1. 检查渠道配置
  2. 测试网络连接
  3. 联系服务提供商
  4. 切换到备用渠道
  5. 记录故障信息
  6. 恢复后验证

Q6: 如何设置告警通知的时间规则?

A6: 设置告警通知时间规则的方法:

  • 按时间段配置不同的通知策略
  • 工作日和非工作日区分对待
  • 夜间仅通知紧急告警
  • 定期告警汇总通知

Q7: 如何确保告警通知的安全性?

A7: 确保告警通知安全性的措施:

  • 使用加密传输(SSL/TLS)
  • 定期更新认证信息
  • 配置IP白名单
  • 避免在通知中包含敏感信息
  • 限制通知渠道的权限

Q8: 如何集成自定义告警系统?

A8: 集成自定义告警系统的方法:

  • 使用Webhook通知
  • 配置标准的HTTP请求格式
  • 实现双向认证
  • 建立监控指标映射
  • 测试集成效果