美菜网监控实践之路
如果无法正常显示,请先停止浏览器的去广告插件。
1.
2. 美菜网监控实践之路
中小企业如何自建监控体系
王治国 2021-05-22
3. 自我介绍
• 王治国
• 东北大学计算机硕士
• 曾就职于新浪微博、雪球网
• 美菜网监控系统负责人
• 研究领域:分布式系统及可观测性
4. 目录
• 监控系统概述
• 系统架构
• 最佳实践
• 未来演进
5. 监控系统概述
• 为什么要建设监控系统
• 如何评价监控系统
• 美菜网监控系统演进过程
6. 为什么要建设监控系统?
• 持续交付,DevOps落地的关
键基础设施
• 数据驱动,为研发、运维及
运营团队赋能
7. 如何评价监控系统?
数据平台
稳定性
10%
20%
30%
20%
50%
发现问题
定位问题
异常恢复
30%
OpenAPI
SDK
可视化
查询语言
40%
8. 美菜网监控系统演进过程
• 驱动因素
• 业务痛点
• 架构优化
9. 系统架构
• 产品概览
• 子系统
• 监控指标
• 日志平台
• 链路跟踪
10. 产品概览
11. 监控指标
• 基于夜莺开发
• 兼容OpenFalcon
• 高可用
• 告警策略
• 扩展点
• 服务树同步
• Prometheus插件
• 时序存储:InfluxDB集群
12. 指标覆盖度
• 基础指标
• 物理机(云主机)
• 容器
• 中间件(Prometheus Exporter)
• Mysql、Redis、Mongo、ES等
• Nginx
• Hadoop、Hbase、Hive等
• 应用层(微服务)
• Java,JVM、Tomcat、Dubbo、Mybaits、
接口,及业务自定义
• PHP,FPM、Swool框架
• Golang、NodeJS
13. 与DevOps平台整合
• 对接CMCB、服务树、权限系统
14. 日志平台
• McLog-Agent
• 采集宿主机所有应用配置的日志文件
• 支持多行合并
• 监控指标
• 性能&稳定性
• 中文分词,索引量大,写入性能下降50%
• ES集群优化,G1/自定义Mapping/Shard数量
• 突增流量,限流&降级
15. 链路跟踪
• 基于Skywalking开发
• Java、PHP等多语言
• Agent不侵入业务
• 应用拓扑及聚合指标
• 社区活跃,产品成熟度高
• 扩展点
• 以应用为中心展示拓扑,支持扩展
• 与DevOps集成,业务选择开启链路跟踪
• 与日志平台集成,查询TraceId相关业务日志
• 支持老版本Dubbo(< 2.5.4)
16. 最佳实践
• 告警治理
• 巡检大盘
• 灭火图
• 故障定位
17. 告警治理(夜莺)
• 基于服务树配置告警策略
• 负责人:研发vs运维
• 告警策略:指标,阈值(固定、环比)
• 响应级别:P1/P2/P3
• 告警响应:先认领,再处理
• 告警处理:忽略、屏蔽
• 告警优化:阈值,优先级,接收人(离职)
告警太多了?
18. 巡检大盘(Grafana)
• ⻩金指标
• 延迟、流量、错误及饱和度
• USE(内部视⻆)
• 利用率、饱和度和错误
• RED(服务视⻆)
• 速率、错误和持续时间
19. 灭火图
• 按业务维度聚合
• 多级下钻
• 业务线
• 业务场景
• 核心接口
• 接口SLA
• 日常运营
20. 故障定位
21. 未来:可观测平台
22.