前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >这些技术轮子,让监控落地成为现实!

这些技术轮子,让监控落地成为现实!

作者头像
一猿小讲
发布2019-11-13 20:54:58
1.1K0
发布2019-11-13 20:54:58
举报
文章被收录于专栏:一猿小讲

场景一:页面提示超时了,到底是哪个服务响应慢了呢?

场景二:系统当前的处理能力如何,TPS、QPS 指标是多少呢?

场景三:线上服务部署在多台机器上,你挨个登录机器去查日志,感觉烦不烦?

面对诸如上面的场景,如果你正在纠结,那今天罗列推荐的这些轮子,多少都能解你所惑。

0. 监控天下三分

先帝创业未半而中道崩殂,今监控天下三分。如下图所示,监控的天下被划分为基于 Tracing(调用链)监控、基于Metrics(指标)监控、基于Logging(日志) 的监控。

1. 基于 Tracing 的监控

基于 Tracing 的监控,背后对应的是追踪系统,也有人叫调用链系统,做应用性能监控(APM)这块是必不可少的。

如果你想知道一次服务调用,中间经过了哪些环节?如果你想了解一次服务调用过程中各个环节的耗时?如果... ... 那不妨了解了解下面的这些轮子。

Skywalking,国产的优秀 APM 组件。是一个对 Java 分布式应用的业务运行情况进行追踪、告警和分析的系统。

代码语言:javascript
复制
开源地址:https://github.com/apache/skywalking

Zipkin,是由 Twitter 公司开源的分布式的跟踪系统。主要包括:数据的收集、存储、查找和展现。

代码语言:javascript
复制
开源地址:https://github.com/openzipkin/zipkin

Pinpoint,由韩国人开源的分布式跟踪组件,是一款对 Java 编写的大规模分布式系统的 APM 工具。

代码语言:javascript
复制
开源地址:https://github.com/naver/pinpoint

贴一下效果图,不知能否勾起你心中的火热。

2. 基于 Metrics 的监控

基于 Metrics 的监控,背后对应的是度量(指标监控)系统。

如果你想知道机器在某段时间内的 CPU 使用率、系统负载;如果你想知道应用在某段时间内的 HTTP 请求访问量;如果你想知道 MySQL 的连接数、QPS;如果... ... 那不妨尽情的了解了解下面的这些轮子。

Prometheus + Grafana,普罗米修斯邂逅格拉法纳就成了监控界的 PGOne,宣称使用领先的开源监控解决方案去增强指标监控功能,不过敲摸试了一下,效果也确实强大。

代码语言:javascript
复制
学习地址:https://github.com/prometheus

Influxdata,定位也是一个强大的实时监控系统。大体流程是:telegraf 收集监控的指标;然后交给 InfluxDB 进行存储;chronograf 负责从 InfluxDB 查询数据展示;kapacitor 负责监控报警。

代码语言:javascript
复制
学习地址:https://github.com/influxdata

Grafana,格拉法纳专业负责展示,提供漂亮的UI。不过她可以跟上面的普罗米修斯 Prometheus、InfluxDB 任性组合搭配,这倒是给我们提供一种扩展的可能性,我们只需要把要监控的指标放进 InfluxDB,再搭上 Grafana,那效果堪称完美!

代码语言:javascript
复制
学习地址:https://github.com/grafana

Skywalking,在上面基于 Tracing 监控的部分已经提到了,看来是能者多劳了,既能做调用链监控,又能基于指标进行监控。

代码语言:javascript
复制
学习地址:https://github.com/apache/skywalking

Elastic,估计很多人都听说过它旗下的 ELK,也就是 ElasticSearch + Logstash + Kibana 的组合。由于后来推出了一系列的专门用于采集数据的 Beats,造就了无限的可能性,当然完成 Metrics 指标采集监控也不在话下。

代码语言:javascript
复制
学习地址:https://www.elastic.co/cn/products/infrastructure-monitoring

肆意贴一张 Grafana 的效果图,看看你是否钟爱这一款?

3. 基于 Logging 的监控

基于 Logging 的监控,说白了也就是日志监控。

我们都知道,在微服务盛行的今天,服务散落部署在各个节点,导致排查定位问题需要连续切换 N 台机器,操作相当繁琐,不知道你有没有同感。如果你也有此同感,不妨了解了解下面的技术轮子。

日志监控的整体设计思路大多为:日志采集、日志存储、日志分析及报警,如果日志量再大点,那就来一个对列(kafka、redis、RabbitMQ等)作为缓冲。

Elastic,在上面基于指标监控的部分已经提到了它,其实由于采集数据的 Beats 下有一款 FileBeat 专门采集日志文件,然后把采集的日志存储到 ElasticSearch,接下来用 Kibana 进行分析展示,这样一套轮子组合让你查询日志不再难(小声的说一下,貌似它也支持 APM 应用性能监控,三分天下而它是交汇的覆盖区域)。

代码语言:javascript
复制
入门地址:https://www.elastic.co/cn/products/log-monitoring

Graylog,一个集日志归集、分析、展现和预警工具,而且是基于 Java 开发,你心不心动?有没有想跃跃欲试?

代码语言:javascript
复制
入门地址:https://www.graylog.org

Rsyslog,一款用于Linux系统以通过TCP/UDP协议转发或接收日志消息的开源工具。

代码语言:javascript
复制
入门地址:https://www.rsyslog.com

Flume,一款用 Java 开发的采集 agent,让 Java 猿二次包装开发不是问题。

代码语言:javascript
复制
入门地址:http://flume.apache.org/

4. 多说两句

说了这么多,轮子千万款,感觉总有一款适合你,或许有了轮子的助力,会让你事半功倍,腾出更多时间冲咖啡!

不过话又说回来,纸上得来终觉浅,绝知此事要躬行;纵然轮子千万款,唯有实践才是硬道理!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一猿小讲 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档