当前位置:主页 > 查看内容

可观测性-Elastic Stack 实战手册

发布时间:2021-05-18 00:00| 位朋友查看

简介:作者:亢伟楠 在开发技术越来越成熟便捷的今天,我们可以很轻松写出来一个程序,用来进行各种各样的业务流程。你能想象如果我们运营一个银行系统,但是不知道每天转账的成功率、取现的效率吗? 和银行系统一样,我们日常中的软件系统,都需要尽量良好的观测……

作者:亢伟楠

开发技术越来越成熟便捷的今天,我们可以很轻松写出来一个程序,用来进行各种各样的业务流程。你能想象如果我们运营一个银行系统,但是不知道每天转账的成功率、取现的效率吗?

和银行系统一样,我们日常中的软件系统,都需要尽量良好的观测和测量,才能保证系统的健康。

正如管理大师彼得德鲁克的名言,”If you can’t measure it, you can’t manage it.” 我们必须对我们的计算系统进行测量和观测,才能进一步管理它。

业界对可观测性的定义由Logging(日志),Metrics (指标)和 Tracing(跟踪)组成。其中大多数软件都仅在一个领域内发力,这导致了实施可观测性时的高昂成本。需要建设多个技术栈的软件,才能实现完整的可观测性。大多数企业基本都使用了 5个+ 的技术栈,有的甚至能达到10个技术栈。

那有没有什么低成本便捷的方案能帮助我们在企业中实施可观测性?

Elastic 可观测性 :一站式低成本解决方案

Elastic Stack 的可观测性 (Observability) 产品是一个让人满意的答案。相较于市面上其他的可观测性系统,Elastic Stack 能提供一站式全栈的可观测性解决方案,而其他系统基本只能提供一个方法的功能,实际落地中,需要搭配多套不同技术栈的系统实现,繁琐且复杂。

Elastic Stack 提供开源的可观测性能力,并且在云原生计算基金会(CNCF)的2020年9月的可观测性技术雷达评测中,获得了“采纳(ADOPT)”评级。

图1 可观测性技术雷达

Elastic Stack 的可观测性由 Logs 、APM(application performance monitor)、Uptime、Metrics 四个模块组成,他们分别由四个组件提供支持。

组件对应情况如下:

Logs -- FilebeatAPM -- APM Server APM agentUptime -- HeartbeatMetrics -- MetricbeatLogs

Kibana 中的 Logs 应用实现任何数据源日志的中心化,搜索。Elastic Stack 是天然的日志处理的集大成者。最新的 Logs 模块更是能实现在 web 的实时 tail、搜索、分类和异常检测功能。我们可以通过 Filebeat 或者 Logstash 把日志导入到 Elasticsearch 中。

图2 Logs 页面

APM(Application Performance Monitor)

Kibana 中的 APM 应用可以实现分布式链路跟踪、事务监控、依赖分析和基于真实用户体验的监控。该功能通过 APM Server 和 APM Agent 组件提供支持。

图3 APM 页面

Uptime

为了帮助您在可用性问题,从而影响用户之前快速做出相应。Uptime 模块提供了对主机,网络设备以及第三方服务的整体可用性快照报告。根据其监控数据,可以查看出目前的总监控点和分别处于 up\down 状态的监控点。该功能通过 Heartbeat 组件提供支持。

图4 Uptime 页面

Metrics

Metricbeats 支持读取多大 50 种系统/数据源的 Metrics 采集,包括:数据库,消息队列,操作系统,文件系统和网关等系统。将 Metrics 数据采集完毕后,在 Metrics 应用中可实现一站式的统一查看、管理,甚至是基于机器学习的异常检测。

图5 Metrics 页面

以上四个模块均支持告警功能。

Fleet:更方便的数据收集

Fleet Agent 提供了更简单方便的统一的 Logs 数据、Metrics 数据和主机的其他数据。不在需要安装多个 Beat 来实现对数据的收集。

Fleet 目前处于 Beta 阶段。

参考链接:CNCF End User Technology Radar https://radar.cncf.io/2020-09-observability
本文转自网络,原文链接:https://developer.aliyun.com/article/784120
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐