外观
TDSQL 告警规则设置
告警规则设计原则
针对性原则
- 告警规则应针对具体的业务场景和需求
- 避免设置过于笼统的告警规则
- 告警信息应包含明确的问题描述和定位信息
准确性原则
- 告警规则应准确反映系统状态
- 避免误告警和漏告警
- 告警阈值应基于实际业务数据调整
分级原则
- 根据问题的严重程度设置不同的告警级别
- 不同级别的告警采用不同的通知方式
- 建立清晰的告警升级机制
可操作原则
- 告警信息应包含可操作的建议
- 提供问题定位和解决的指导
- 包含相关的监控数据和日志
告警规则类型
资源告警
CPU告警
- 告警名称:CPU使用率过高
- 监控指标:CPU使用率
- 告警阈值:>90% 持续5分钟
- 告警级别:严重(P1)
- 告警描述:实例CPU使用率超过90%,已持续5分钟
- 处理建议:检查是否有异常查询或高负载业务,考虑优化查询或扩容
内存告警
- 告警名称:内存使用率过高
- 监控指标:内存使用率
- 告警阈值:>85% 持续5分钟
- 告警级别:严重(P1)
- 告警描述:实例内存使用率超过85%,已持续5分钟
- 处理建议:检查内存使用情况,优化缓存配置或扩容
磁盘告警
- 告警名称:磁盘使用率过高
- 监控指标:磁盘使用率
- 告警阈值:>80% 持续10分钟
- 告警级别:重要(P2)
- 告警描述:实例磁盘使用率超过80%,已持续10分钟
- 处理建议:清理无用数据,考虑扩容或调整存储策略
性能告警
连接数告警
- 告警名称:数据库连接数过高
- 监控指标:活跃连接数
- 告警阈值:>最大连接数的80% 持续5分钟
- 告警级别:重要(P2)
- 告警描述:数据库活跃连接数超过最大连接数的80%,已持续5分钟
- 处理建议:检查连接泄露,优化连接池配置
慢查询告警
- 告警名称:慢查询数量过多
- 监控指标:慢查询数
- 告警阈值:>100个/分钟 持续5分钟
- 告警级别:重要(P2)
- 告警描述:每分钟慢查询数量超过100个,已持续5分钟
- 处理建议:分析慢查询日志,优化查询语句和索引
QPS/TPS告警
- 告警名称:QPS突增
- 监控指标:QPS
- 告警阈值:>基线值的200% 持续5分钟
- 告警级别:重要(P2)
- 告警描述:QPS超过基线值的200%,已持续5分钟
- 处理建议:检查是否有异常流量,考虑扩容
数据告警
复制延迟告警
- 告警名称:主从复制延迟过大
- 监控指标:复制延迟
- 告警阈值:>300秒 持续5分钟
- 告警级别:严重(P1)
- 告警描述:主从复制延迟超过300秒,已持续5分钟
- 处理建议:检查网络连接,优化复制配置
备份失败告警
- 告警名称:备份失败
- 监控指标:备份状态
- 告警阈值:备份失败
- 告警级别:严重(P1)
- 告警描述:数据库备份失败
- 处理建议:检查备份配置和存储状态,重新执行备份
数据不一致告警
- 告警名称:主从数据不一致
- 监控指标:数据一致性状态
- 告警阈值:数据不一致
- 告警级别:紧急(P0)
- 告警描述:主从节点数据不一致
- 处理建议:立即停止写入,重新同步数据
安全告警
登录失败告警
- 告警名称:登录失败次数过多
- 监控指标:登录失败次数
- 告警阈值:>50次/分钟 持续5分钟
- 告警级别:严重(P1)
- 告警描述:每分钟登录失败次数超过50次,已持续5分钟
- 处理建议:检查是否有暴力破解尝试,加强安全措施
权限变更告警
- 告警名称:权限变更通知
- 监控指标:权限变更事件
- 告警阈值:发生权限变更
- 告警级别:重要(P2)
- 告警描述:数据库权限发生变更
- 处理建议:确认权限变更是否合法,检查变更日志
告警规则设置方法
使用TDSQL管理控制台设置
1. 登录管理控制台
- 访问TDSQL管理控制台
- 输入用户名和密码登录
2. 选择目标实例
- 在实例列表中选择需要设置告警的实例
- 进入实例详情页
3. 进入告警设置页面
- 点击左侧导航栏中的"告警设置"
- 进入告警规则设置页面
4. 创建告警规则
- 点击"创建告警规则"
- 选择告警类型和指标
- 设置告警阈值和持续时间
- 选择告警级别
- 配置告警通知方式
- 点击"确定"保存告警规则
使用API设置
bash
# 创建告警规则API示例
curl -X POST \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"instance_id": "tdsql-123456",
"rule_name": "CPU使用率过高",
"metric_name": "cpu_usage",
"threshold": 90,
"comparison_operator": ">",
"duration": 300,
"alarm_level": "P1",
"notification_channels": ["email", "sms", "wechat"]
}' \
https://tdsql-api.example.com/v1/alarm-rules使用命令行工具设置
bash
# 使用tdsql_cli工具设置告警规则
tdsql_cli alarm create \
--instance-id tdsql-123456 \
--rule-name "内存使用率过高" \
--metric memory_usage \
--threshold 85 \
--operator ">" \
--duration 300 \
--level P1 \
--channels email,sms告警通知配置
通知渠道
- 邮件通知:发送告警邮件到指定邮箱
- 短信通知:发送告警短信到指定手机
- 即时通讯工具:通过企业微信、钉钉等发送告警
- 电话通知:严重告警可通过电话通知
- Webhook:将告警信息发送到指定URL
通知模板
邮件通知模板
主题:【TDSQL告警】${alarm_level} - ${rule_name}
告警时间:${alarm_time}
实例ID:${instance_id}
实例名称:${instance_name}
告警规则:${rule_name}
告警指标:${metric_name}
当前值:${current_value}
告警阈值:${threshold}
持续时间:${duration}秒
告警描述:${description}
处理建议:${suggestion}
查看详情:${console_url}短信通知模板
【TDSQL告警】${instance_name} ${rule_name},当前值${current_value},超过阈值${threshold},请及时处理。通知策略
- P0告警:立即通知,多渠道同时发送
- P1告警:5分钟内通知,至少两种渠道
- P2告警:10分钟内通知,至少一种渠道
- P3告警:30分钟内通知,邮件渠道
告警规则管理
规则启用与禁用
- 根据业务需求启用或禁用告警规则
- 维护期间可临时禁用告警规则
- 定期审查和清理无用的告警规则
规则测试
- 新创建的告警规则应进行测试
- 验证告警触发条件和通知是否正常
- 测试告警恢复机制
规则优化
- 定期分析告警数据
- 调整告警阈值和持续时间
- 优化告警规则,减少误告警
- 合并相似的告警规则
规则版本管理
- 记录告警规则的变更历史
- 支持告警规则的回滚
- 建立告警规则模板库
告警处理流程
告警接收
- 收到告警通知后,立即确认告警
- 查看告警详情和相关监控数据
- 判断告警的严重程度和影响范围
问题定位
- 根据告警信息定位问题
- 查看相关日志和监控数据
- 分析问题原因
问题处理
- 根据告警建议采取相应措施
- 记录处理过程和结果
- 验证问题是否解决
告警关闭
- 问题解决后,关闭告警
- 总结告警原因和处理经验
- 更新告警规则和处理流程
最佳实践
1. 告警规则分级
- 根据问题影响范围和紧急程度分级
- 不同级别采用不同的通知方式
- 建立清晰的升级机制
2. 告警规则精简
- 避免设置过多的告警规则
- 关注核心指标和业务关键点
- 定期清理无用的告警规则
3. 告警规则动态调整
- 根据业务变化调整告警规则
- 季节性业务需调整告警阈值
- 业务高峰期可临时调整告警设置
4. 告警信息丰富
- 告警信息应包含足够的上下文
- 提供明确的问题描述和定位信息
- 包含可操作的建议
5. 告警演练
- 定期进行告警演练
- 测试告警触发和通知机制
- 验证告警处理流程的有效性
常见问题(FAQ)
Q1: 如何减少误告警?
A1: 减少误告警的方法:
- 合理设置告警阈值,避免过于敏感
- 增加告警持续时间,避免瞬时波动
- 结合多个指标进行告警,提高准确性
- 定期调整和优化告警规则
- 针对不同时段设置不同的告警阈值
Q2: 如何处理告警风暴?
A2: 处理告警风暴的方法:
- 立即确认告警风暴的原因
- 临时禁用相关告警规则
- 优先处理核心业务的告警
- 分析告警风暴的根本原因
- 优化告警规则,避免类似情况再次发生
Q3: 如何设置有效的告警阈值?
A3: 设置有效告警阈值的建议:
- 基于历史数据和业务需求
- 考虑正常波动范围
- 从小值开始,逐步调整
- 参考行业最佳实践
- 定期评估和调整阈值
Q4: 告警规则应该包含哪些信息?
A4: 告警规则应包含的信息:
- 告警名称和描述
- 监控指标和阈值
- 告警级别和通知方式
- 持续时间和触发条件
- 处理建议和联系方式
Q5: 如何验证告警规则的有效性?
A5: 验证告警规则有效性的方法:
- 进行模拟测试,触发告警
- 检查告警通知是否及时准确
- 验证告警信息的完整性
- 测试告警恢复机制
- 定期审查告警历史和处理结果
Q6: 如何建立完善的告警体系?
A6: 建立完善告警体系的步骤:
- 识别关键指标和业务场景
- 设计合理的告警规则
- 配置有效的通知渠道
- 建立清晰的告警处理流程
- 定期评估和优化告警体系
- 进行告警演练和培训
