务容器
传输层:用双通道设计,实时数据走Kafka批量上传,日志类数据经处理后存入Elasticsearch
存储计算层:时序数据用VictoriaMetrics替代了Prometheus,查询性能提升明显
展示层:Grafana做大盘,关键业务指标单独配置了钻取链路
3. 业务监控的实战技巧
光有技术指标不够,我们总结了几个业务监控必做项:
核心交易链路必须埋点,比如订单创建、支付回调这些关键路径
数据库慢查询按业务类型打标,区分运营查询和线上流量
异步消息队列的堆积量要关联生产者IP和消费者分组
前端监控把页面加载时间和API网关的traceId打通
特别要说的是日志监控,我们吃过亏。曾经有次线上故障,日志量突然暴涨把磁盘写满了。现在要求所有业务日志必须结构化,并且按日志级别设置不同的保留策略。Error级别的日志实时进入告警平台,Warn级别的日志参与业务大盘计算,Info级别的日志抽样存储。
4. 告警治理的血泪经验
告警疲劳是最容易踩的坑。我们优化了三轮:
第一轮压缩告警项,把200多个告警规则精简到47个
第二轮设置智能降噪,连续触发同类告警自动合并
第三轮引入值班表,非工作时间只推送P0/P1级别告警
现在告警平台增加了认领机制,告警触发后5分钟无人认领会自动升级。还做了根因分析功能,当多个告警同时触发时,会自动关联变更记录和链路追踪数据。
5. 成本控制的骚操作
监控系统本身也很烧钱,我们通过几个方法把月度成本压降了60%:
热数据保留7天,温数据保留30天,冷数据转存到对象存储
对非核心业务指标采用采样存储,比如每分钟只存3个点
日志检索按时间段分级,查询3天内日志走热节点,历史日志走冷节点
最近还在试水智能基线告警,通过机器学习历史数据生成动态阈值。不过这个功能还在验证阶段,暂时不敢完全依赖。
6. 踩坑总结
最后给几个实在建议:
监控选型别盲目追求大而全,先解决有无问题
业务指标埋点要产品经理参与,他们最懂业务异常场景
告警响应必须闭环,我们要求每个告警都要有故障报告
容量规划不能忘,监控系统自身的高可用更要保证
监控这事就像买保险,平时觉得浪费钱,出事了才知道它的价值。我们现在每月做一次监控复盘,把误报、漏报的案例拿出来全员review。下一步计划把健康度评分和运维自动化流程打通,实现从发现问题到自愈的完整闭环。
691

被折叠的 条评论
为什么被折叠?



