可观测性-Elastic Stack 实战手册

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

970X90.png

· 更多精彩内容,请下载阅读全本《Elastic Stack实战手册》

· 加入创作人行列,一起交流碰撞,参与技术圈年度盛事吧

创作人:亢伟楠
审稿人:曾红

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

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

正如管理大师彼得德鲁克的名言,”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.png

图1 可观测性技术雷达

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

组件对应情况如下:

  • Logs -- Filebeat
  • APM -- APM Server & APM agent
  • Uptime -- Heartbeat
  • Metrics -- Metricbeat

Logs

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

2.png

图2 Logs 页面

APM(Application Performance Monitor)

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

3.png

图3 APM 页面

Uptime

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

4.png

图4 Uptime 页面

Metrics

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

5.png

图5 Metrics 页面

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

Fleet:更方便的数据收集

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

Fleet 目前处于 Beta 阶段。

参考链接:

  1. CNCF End User Technology Radar https://radar.cncf.io/2020-09-observability
创作人简介:
亢伟楠,目前就职于 58 同城信息安全部,任架构师。 在 Elastic 社区任日报编辑,曾
获得中文社区杰出贡献者奖项。平时对高并发、高可用等方向有较多关注,目前主要推
动可观测性落地。
博客: https://cyberdak.github.io/
相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
Linux
认识Linux指令之 “tar” 指令
认识Linux指令之 “tar” 指令
484 0
认识Linux指令之 “tar” 指令
|
前端开发 NoSQL 关系型数据库
Kong网关介绍以及在Docker上部署容器以及Dashboard
Kong 是在客户端和(微)服务间转发API通信的API网关,通过插件扩展功能
2929 0
Kong网关介绍以及在Docker上部署容器以及Dashboard
|
3月前
|
编解码 NoSQL 安全
Celery 太重了?这可能是你一直在找的 asyncio 任务队列
arq是Python原生异步任务队列,基于asyncio与Redis Streams构建,轻量(仅依赖redis-py)、高性能、开箱即用。专为FastAPI等异步框架设计,告别Celery的复杂配置,实现高并发I/O任务的优雅调度。(239字)
474 0
|
存储 安全 固态存储
《深入理解数据库事务:掌握ACID特性的奥秘》
事务是数据库操作中确保数据一致性和完整性的核心机制,其ACID特性(原子性、一致性、隔离性、持久性)是关键保障。原子性确保操作“全有或全无”,避免部分执行导致的数据不一致;一致性维护业务逻辑和约束规则,使数据始终处于有效状态;隔离性通过并发控制技术防止多个事务互相干扰;持久性则保证事务提交后数据永久保存,即使系统故障也能恢复。以银行转账为例,事务将扣款与存款视为一个整体,任何失败均回滚,确保资金安全。掌握ACID特性对开发高效可靠的数据库系统至关重要。
676 1
|
设计模式 XML 安全
Java枚举(Enum)与设计模式应用
Java枚举不仅是类型安全的常量,还具备面向对象能力,可添加属性与方法,实现接口。通过枚举能优雅实现单例、策略、状态等设计模式,具备线程安全、序列化安全等特性,是编写高效、安全代码的利器。
|
存储 Prometheus Kubernetes
使用loki和grafana展示ingress-nginx的日志
使用loki和grafana展示ingress-nginx的日志
使用loki和grafana展示ingress-nginx的日志
|
数据采集 自然语言处理 调度
一文详谈RAG优化方案与实践
RAG通过检索现有的大量知识,结合强大的生成模型,为复杂的问答、文本摘要和生成任务带来了全新的解决方案。本文详细的介绍了RAG遇到的挑战、通用范式、工程实践、优化实现策略等。
|
SQL 关系型数据库 MySQL
MySQL 常见日志清理策略
MySQL 数据库服务器使用多种类型的日志来记录操作和事件,这对于故障诊断、审计和性能分析非常重要。然而,这些日志文件会随着时间的推移而不断增长,可能会占用大量的磁盘空间。因此,定期清理这些日志是必要的,本篇文章我们一起来学习下如何清理 MySQL 中的日志文件。
1183 3
|
SQL 存储 分布式计算
菜鸟数据中台技术演进之路
通过中台的各技术域能力的建设,技术人员在极少的投入下,就可以支撑数倍的分析人员进行数字化运营工作。3 年时间里,菜鸟走过了从人力支撑到中台支撑的历程。
|
SQL 缓存 前端开发
DDD - 来自听众的16个DDD问题,美团技术团队是这样回答的
DDD - 来自听众的16个DDD问题,美团技术团队是这样回答的
1163 0