自建服务监控与告警实践
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/self-hosted-monitoring-guide。
技能介绍
要解决的问题
团队常见的监控困境很具体:服务挂了自己不知道,直到用户投诉;告警太多被忽略,真正严重的故障也没人醒;SSL 证书过期才发现,本可提前两周避免;小团队没人力维护复杂的监控平台,但裸奔又不安心。这套方法论针对的就是从零到能用这一步。
核心思路
没人看的监控等于没有监控,狼来了的告警比没有告警更危险。 监控的目标不是收集数据,而是故障发生时,对的人在对的时间收到可行动的信息。
技能的核心是一套指标三层模型和最小可用监控清单,半天即可搭完:
- 对外域名 HTTP 200 探测:间隔
60s,必须从外网探,内网自测会漏掉机房网络故障 - SSL 证书到期监控:提前
14 天与3 天两级告警 - 核心端口连通性:数据库、缓存等中间件的 TCP 探测
- 定时任务心跳:任务完成时主动
push,超时未上报即告警——这是发现静默失败的唯一可靠方式 - 磁盘水位:
80%警告 /90%严重 - 双通道告警:即时消息 + 短信/电话(严重级)
探测方式按对象选型:网页和 API 用 HTTP(S) 加关键字校验(返回 200 的错误页很常见);数据库端口通不等于服务可用,能连就该做一次真实查询;定时任务用反向心跳比查日志可靠。
告警规则设计是防风暴的核心:连续失败 2-3 次才报,避免网络抖动吵醒任何人;分级分渠道,P1 用户可感知的全局故障走电话/短信,P2 局部降级走即时消息,P3 趋势提醒每日汇总;发布窗口设静默期,数据库挂了只报数据库,下游 50 个服务不要一起嚎;告警文案必须包含什么挂了、影响什么、第一步查哪里;月度复盘要统计 TOP10,误报调阈值、重复合并、没人处理的删除。
适用边界
本技能提供的是体系设计方法论,不绑定特定监控产品,工具能力细节以官方文档为准。SLA 承诺与合规要求(金融、医疗等行业的可用性审计)需以合同与监管口径为准。
使用场景
- 小团队需要从零搭建基础监控体系,覆盖外网HTTP探测、SSL到期、端口连通、磁盘水位和定时任务心跳。
- 监控告警太多导致无人处理时,需要按P1-P3分级分渠道,并配置连续失败才告警的防风暴规则。
- SSL证书过期才被发现,需要提前14天和3天设置两级到期告警,避免业务中断。
- 定时任务或备份执行失败但日志无报错,需要用任务完成时主动上报、超时未上报即告警的反向心跳方式发现静默失败。
适合人员
- 初创公司运维或后端工程师:资源有限,需要在半天内用最小可用清单搭出能发现故障的监控系统。
- 中小团队技术负责人:经常被无效告警打扰,需要建立分级分渠道和连续失败告警规则来治理告警噪音。
- 运维工程师或SRE:定时任务静默失败难以排查,需要通过反向心跳监控任务执行情况。
- 网站或API服务开发者:关心SSL证书到期和外网可用性,需要提前两级告警和外部HTTP探测来保障用户访问。