30 | 给系统加上眼睛:服务端监控要怎么做?
唐扬
该思维导图由 AI 生成,仅供参考
你好,我是唐扬。
在一个项目的生命周期里,运行维护占据着很大的比重,在重要性上,它几乎与项目研发并驾齐驱。而在系统运维过程中,能够及时地发现问题并解决问题,是每一个团队的本职工作。所以,你的垂直电商系统在搭建之初,运维团队肯定完成了对于机器 CPU、内存、磁盘、网络等基础监控,期望能在出现问题时,及时地发现并且处理。你本以为万事大吉,却没想到系统在运行过程中,频频得到用户的投诉,原因是:
使用的数据库主从延迟变长,导致业务功能上出现了问题;
接口的响应时间变长,用户反馈商品页面出现空白页;
系统中出现大量错误,影响了用户的正常使用。
这些问题,你本应该及时发现并处理的,但现实是,你只能被动地收到用户的反馈后,手忙脚乱地修复。这时你的团队才意识到,要想快速地发现和定位业务系统中出现的问题,必须搭建一套完善的服务端监控体系。正所谓“道路千万条,监控第一条,监控不到位,领导两行泪”。不过在搭建的过程中,你的团队又陷入了困境:
首先,监控的指标要如何选择呢?
采集这些指标可以有哪些方法和途径呢?
指标采集到之后又要如何处理和展示呢?
这些问题一环扣一环,关乎着系统的稳定性和可用性,而本节课,我就带你解决这些问题,搭建一套服务端监控体系。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文详细介绍了在系统运维过程中搭建完善的服务端监控体系的方法。首先,作者提到了监控指标的选择,包括借鉴谷歌的四个黄金信号和RED指标体系,以及关注特定组件的独特指标。然后,文章详细介绍了数据指标的采集方式,包括Agent方式、埋点方式和日志采集方式。接着,对监控数据的处理和存储进行了阐述,包括消息队列的使用、数据处理程序的部署以及时序数据库的选择和连接。最后,总结了监控系统中形成的三种报表:访问趋势报表、性能报表和资源报表,以及它们在发现和解决问题中的作用。整体而言,本文为读者提供了系统运维中搭建服务端监控体系的指导,涵盖了监控指标的选择和数据采集的方法,以及监控数据的处理和存储方式。读者可以从中了解到监控系统的重要性,以及如何不断完善监控系统来提高对系统运维的掌控力,降低故障发生的风险。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《高并发系统设计 40 问》,新⼈⾸单¥59
《高并发系统设计 40 问》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(17)
- 最新
- 精选
- 刺猬这里只提到了软件监控,硬件一般有什么好的监控方式
作者回复: open falcon
2019-12-0223 - PatHooCNCF Prometheus
作者回复: 云原生时代的监控系统组件
2019-12-022 - longslee打卡。老师,请教下,在启动 Java 程序的时候,是不是应该养成暴露 jmx 的习惯呢
作者回复: 一般如果做中间件的话,是需要的
2019-12-101 - 👽个人理解: 服务端监控主要内容, 1 关注性能指标, 2 存储服务端日志情况(采用消息队列), 3 服务端指标展示。
作者回复: 其实我觉得很重要的是依赖服务和资源的监控
2020-01-02 - 小可近一年一直在做运维监控系统的工作,从脚本+自研agent到zabbix + logstash,监控服务端消息队列+聚合计算程序。虽然满足需求,但节点多,指标多时,zabbix对应的数据库负载过高,logstash也太重太吃节点性能,当时选型时太就感觉都太重了,但上层定的没办法。现在已经不做这块了,听说又要换方案😂
作者回复: 选型方案是可以慢慢演进的~
2019-12-03 - 阿卡牛有通用开源的agent推荐吗?还是建议每种组件都有自己弄个agent?
作者回复: falcon有很多agent的
2019-12-023 - 寒溪请问agent是一个中间件件还是?
作者回复: 是一个开源或者自研的程序
2019-12-02 - 吃饭饭监控手段还是不少的,Grafana ,Skywalking,Prometheus 等, 另外还可以结合Nginx、 Flume 、Kafka 、ELK 等日志收集做自己的系统分析2019-12-0230
- 悟空聊架构可视化查看:Grafana,Prometheus,Skywalking,Kibana,用 Zipkin 查看链路追踪,zabbix 监控硬件指标。 从哪些地方收集数据:Nginx 访问日志,Tomcat 访问日志,docker,数据库报错日志,redis 慢查询日志,JVM 内存异常等等。 哪些可以用来存储:Elasticsearch,Kafka,influxdb,clickhouse。2021-07-0619
- 无形我们之前自己做的监控主要有两方面的,一个是关键接口nginx日志,主要是状态码,运维收集之后扔到kafka,我们从kafka消费,聚合之后扔到influxdb,后来influxdb内存大,又太慢,又换成了clickhouse,还有一部分是应用层的错误日志,按照一定的频次控制,报警到钉钉群里处理2019-12-027
收起评论