从 0 开始学微服务
胡忠想
微博技术专家
63927 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 43 讲
开篇词 (1讲)
结束语 (1讲)
从 0 开始学微服务
15
15
1.0x
00:00/00:00
登录|注册

15 | 如何搭建一个可靠的监控系统?

专栏第 7 期我给你讲解了监控系统的实现原理,先来简单回顾一下,一个监控系统的组成主要涉及四个环节:数据收集、数据传输、数据处理和数据展示。不同的监控系统实现方案,在这四个环节所使用的技术方案不同,适合的业务场景也不一样。
目前,比较流行的开源监控系统实现方案主要有两种:以ELK为代表的集中式日志解决方案,以及GraphiteTICKPrometheus等为代表的时序数据库解决方案。接下来我就以这几个常见的监控系统实现方案,谈谈它们的实现原理,分别适用于什么场景,以及具体该如何做技术选型。

ELK

ELK 是 Elasticsearch、Logstash、Kibana 三个开源软件产品首字母的缩写,它们三个通常配合使用,所以被称为 ELK Stack,它的架构可以用下面的图片来描述。
这三个软件的功能也各不相同。
Logstash 负责数据收集和传输,它支持动态地从各种数据源收集数据,并对数据进行过滤、分析、格式化等,然后存储到指定的位置。
Elasticsearch 负责数据处理,它是一个开源分布式搜索和分析引擎,具有可伸缩、高可靠和易管理等特点,基于 Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析操作,通常被用作基础搜索引擎。
Kibana 负责数据展示,也是一个开源和免费的工具,通常和 Elasticsearch 搭配使用,对其中的数据进行搜索、分析并且以图表的方式展示。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《从 0 开始学微服务》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(16)

  • 最新
  • 精选
  • xuanyuan
    elk更多是日志吧。大家买课程很多希望看到外面看不到的经验,而不是网上文章的拼凑,毫无营养,说实话。

    作者回复: elk用作监控的有很多地方,另外专栏面向的读者层次不同,有的读者没有基础知识,照顾下他们,科普还是有必要的,更深的使用经验在考虑单独篇幅里写。

    2
    79
  • 金hb.Ryan 冷空氣駕到
    很欣慰,我司的监控技术栈是influxdb+grafana,配合程序/collectd 来推送,不过即使influxdb很强大还是建议适当merge一下,不然...都是泪

    作者回复: 哈哈,开源组件在生产环境中用肯定是要优化的

    3
  • 天若有情天亦老
    elk+xpack 可以做到小规模的业务监控。 就是watcher比较难用 目前用的方案是 elk stack+zabbix ,求更优方案

    作者回复: 能cover住需求就行

  • herome
    墙裂推荐 美团的CAT !!!!
    17
  • 公号-技术夜未眠
    关于不同类型监控的技术选型建议: 日志监控推荐用ELK Metrics参数监控推荐用promethus+gafana 调用链监控推荐用skywalking 业务监控推荐用业务开发+gafana
    1
    8
  • 开开眼界,用时自行研究,这里就是常规介绍
    1
    6
  • 玉剑冰锋
    个人认为ELK更适合进行故障排查定位、数据分析、深度挖掘方向,不知道老师是否认可?另外请教老师一个问题,Prometheus这种拉取方式在小规模可以体现出优势,大规模的情况拉取是不是就不如推送更优了?
    2
    4
  • 俯瞰风景.
    监控系统的组成主要涉及四个环节:数据收集、数据传输、数据处理和数据展示。 每个环节都有相应的开源组件可以使用。 成熟的方案有: **1、Beats + Logstash + Elasticsearch + Kibana(Grafana)** **2、StatsD + Carbon + Whisper + Graphite-Web(Grafana)** **3、Telegraf + InfluxDB + Chronograf****(Grafana)**** + Kapacitor ** **4、Prometheus + Grafana** 对于时序数据的处理,后三种方案性能更高,因为有专门的时序数据库来存储数据;对于多维度数据的处理,第一种方案更加合适。
    3
  • cqc
    从官方文档来看,Prometheus的指标存储,很高效,但是问题在于没有成熟的高可用,历史数据归档,海量历史数据查询支持。在调研监控系统的过程中,还发现了小米的open falcon,感觉设计得很复杂,它和Prometheus都属于现代的面向微服务设计的指标监控系统,老师能否有机会深度比较一下?另外,想让老师指正一下我对于监控系统的理解:根据我目前的理解,监控系统可以划分为不同的维度:指标监控(如Prometheus,Zabbix),日志监控(NLK/NFK),调用链监控(zipkin),不知道对不对?
    1
    3
  • 旭东(Frank)
    国产的有好的监控组件吗?如CAT
    1
收起评论
显示
设置
留言
16
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部