高并发系统设计 40 问
唐扬
美图公司技术专家
49013 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 49 讲
高并发系统设计 40 问
15
15
1.0x
00:00/00:00
登录|注册

30 | 给系统加上眼睛:服务端监控要怎么做?

存储在时间序列数据库
聚合运算
解析数据格式
监控报表
数据采集方式
监控指标
流式处理中间件
写入Elasticsearch和展示数据
Tomcat和Nginx访问日志
客户端计算调用资源耗时
面向切面编程
Java中间件通过JMX获取信息
Memcached服务器性能数据
饱和度
错误
通信量
延迟
监控数据处理和展示
指标采集方法和途径
监控指标选择
分享监控系统搭建经验
监控系统重要性
重点
资源报表
性能报表
访问趋势报表
Grafana连接时序数据库
两个队列处理程序
消息队列削峰填谷
日志采集
埋点方式
Agent方式
RED指标体系
四个黄金信号
困境
系统错误增多
接口响应时间变长
数据库主从延迟
需要及时发现和解决问题
重要性
与项目研发同等重要
运行维护比重大
一课一思
课程小结
监控报表
监控数据处理和存储
数据指标采集
监控指标表格
监控指标选择
搭建监控体系
问题出现
问题发现与解决
项目生命周期
给系统加上眼睛:服务端监控要怎么做?

该思维导图由 AI 生成,仅供参考

你好,我是唐扬。
在一个项目的生命周期里,运行维护占据着很大的比重,在重要性上,它几乎与项目研发并驾齐驱。而在系统运维过程中,能够及时地发现问题并解决问题,是每一个团队的本职工作。所以,你的垂直电商系统在搭建之初,运维团队肯定完成了对于机器 CPU、内存、磁盘、网络等基础监控,期望能在出现问题时,及时地发现并且处理。你本以为万事大吉,却没想到系统在运行过程中,频频得到用户的投诉,原因是:
使用的数据库主从延迟变长,导致业务功能上出现了问题;
接口的响应时间变长,用户反馈商品页面出现空白页;
系统中出现大量错误,影响了用户的正常使用。
这些问题,你本应该及时发现并处理的,但现实是,你只能被动地收到用户的反馈后,手忙脚乱地修复。这时你的团队才意识到,要想快速地发现和定位业务系统中出现的问题,必须搭建一套完善的服务端监控体系。正所谓“道路千万条,监控第一条,监控不到位,领导两行泪”。不过在搭建的过程中,你的团队又陷入了困境:
首先,监控的指标要如何选择呢?
采集这些指标可以有哪些方法和途径呢?
指标采集到之后又要如何处理和展示呢?
这些问题一环扣一环,关乎着系统的稳定性和可用性,而本节课,我就带你解决这些问题,搭建一套服务端监控体系。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文详细介绍了在系统运维过程中搭建完善的服务端监控体系的方法。首先,作者提到了监控指标的选择,包括借鉴谷歌的四个黄金信号和RED指标体系,以及关注特定组件的独特指标。然后,文章详细介绍了数据指标的采集方式,包括Agent方式、埋点方式和日志采集方式。接着,对监控数据的处理和存储进行了阐述,包括消息队列的使用、数据处理程序的部署以及时序数据库的选择和连接。最后,总结了监控系统中形成的三种报表:访问趋势报表、性能报表和资源报表,以及它们在发现和解决问题中的作用。整体而言,本文为读者提供了系统运维中搭建服务端监控体系的指导,涵盖了监控指标的选择和数据采集的方法,以及监控数据的处理和存储方式。读者可以从中了解到监控系统的重要性,以及如何不断完善监控系统来提高对系统运维的掌控力,降低故障发生的风险。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《高并发系统设计 40 问》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(17)

  • 最新
  • 精选
  • 刺猬
    这里只提到了软件监控,硬件一般有什么好的监控方式

    作者回复: open falcon

    2019-12-02
    2
    3
  • PatHoo
    CNCF Prometheus

    作者回复: 云原生时代的监控系统组件

    2019-12-02
    2
  • longslee
    打卡。老师,请教下,在启动 Java 程序的时候,是不是应该养成暴露 jmx 的习惯呢

    作者回复: 一般如果做中间件的话,是需要的

    2019-12-10
    1
  • 👽
    个人理解: 服务端监控主要内容, 1 关注性能指标, 2 存储服务端日志情况(采用消息队列), 3 服务端指标展示。

    作者回复: 其实我觉得很重要的是依赖服务和资源的监控

    2020-01-02
  • 小可
    近一年一直在做运维监控系统的工作,从脚本+自研agent到zabbix + logstash,监控服务端消息队列+聚合计算程序。虽然满足需求,但节点多,指标多时,zabbix对应的数据库负载过高,logstash也太重太吃节点性能,当时选型时太就感觉都太重了,但上层定的没办法。现在已经不做这块了,听说又要换方案😂

    作者回复: 选型方案是可以慢慢演进的~

    2019-12-03
  • 阿卡牛
    有通用开源的agent推荐吗?还是建议每种组件都有自己弄个agent?

    作者回复: falcon有很多agent的

    2019-12-02
    3
  • 寒溪
    请问agent是一个中间件件还是?

    作者回复: 是一个开源或者自研的程序

    2019-12-02
  • 吃饭饭
    监控手段还是不少的,Grafana ,Skywalking,Prometheus 等, 另外还可以结合Nginx、 Flume 、Kafka 、ELK 等日志收集做自己的系统分析
    2019-12-02
    30
  • 悟空聊架构
    可视化查看:Grafana,Prometheus,Skywalking,Kibana,用 Zipkin 查看链路追踪,zabbix 监控硬件指标。 从哪些地方收集数据:Nginx 访问日志,Tomcat 访问日志,docker,数据库报错日志,redis 慢查询日志,JVM 内存异常等等。 哪些可以用来存储:Elasticsearch,Kafka,influxdb,clickhouse。
    2021-07-06
    1
    9
  • 无形
    我们之前自己做的监控主要有两方面的,一个是关键接口nginx日志,主要是状态码,运维收集之后扔到kafka,我们从kafka消费,聚合之后扔到influxdb,后来influxdb内存大,又太慢,又换成了clickhouse,还有一部分是应用层的错误日志,按照一定的频次控制,报警到钉钉群里处理
    2019-12-02
    7
收起评论
显示
设置
留言
17
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部