监控系统选型,这篇不可不读!

作者:微信小助手

发布时间:2020-09-01T12:22:12

(给ImportNew加星标,提高Java技能)

转自:骆俊武


之前,我写过几篇有关「线上问题排查」的文章,文中附带了一些监控图,有些读者对此很感兴趣,问我监控系统选型上有没有好的建议?

目前我所经历的几家公司,监控系统都是自研的。其实业界有很多优秀的开源产品可供选择,能满足绝大部分的监控需求,如果能从中选择一款满足企业当下的诉求,显然最省时省力。

这篇文章,我将对监控体系的基础知识、原理和架构做一次系统性整理,同时还会对几款最常用的开源监控产品做下介绍,以便大家选型时参考。内容包括3部分

  • 必知必会的监控基础知识
  • 主流监控系统介绍
  • 监控系统的选型建议

01 必知必会的监控基础知识

监控系统俗称第三只眼,几乎是我们每天都会打交道的系统,下面 4 项基础知识我认为是必须要了解的。

1. 监控系统的7大作用
正所谓「无监控,不运维」,监控系统的地位不言而喻。不管你是监控系统的开发者还是使用者,首先肯定要清楚:监控系统的目标是什么?它能发挥什么作用?

  • 实时采集监控数据:包括 硬件、操作系统、中间件、应用程序等各个维度的数据。
  • 实时反馈监控状态:通过对采集的数据进行多维度统计和可视化展示,能实时体现监控对象的状态是正常还是异常。
  • 预知故障和告警: 能够提前预知故障风险,并及时发出告警信息。
  • 辅助定位故障:提供故障发生时的各项指标数据,辅助故障分析和定位。
  • 辅助性能调优:为性能调优提供数据支持,比如慢SQL,接口响应时间等。

  • 辅助容量规划: 为服务器、中间件以及应用集群的容量规划提供数据支撑。
  • 辅助自动化运维: 为自动扩容或者根据配置的SLA进行服务降级等智能运维提供数据支撑。
2. 使用监控系统的正确姿势

出任何线上事故,先不说其他地方有问题,监控部分一定是有问题的。

听着很甩锅的一句话,仔细思考好像有一定道理。我们在事故复盘时,通常会思考这3个和监控有关的问题:有没有做监控?监控是否及时?监控信息是否有助于快速定位问题?

可见光有一套好的监控系统还不够,还必须知道如何用好它