可观测性-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并实现搜索。  
相关文章
|
4月前
|
数据采集 人工智能 监控
快速接入小红书API,市场趋势与热点预测
小红书API+AI已成2026年品牌营销与内容电商核心基建,支持竞品监测、舆情预警、趋势预测等全场景合规数据采集;多模态生成、预测型AI与垂直领域模型加速商业化落地,SaaS工具、代运营、技术基建成三大机遇。(239字)
1170 2
|
存储 安全 固态存储
《深入理解数据库事务:掌握ACID特性的奥秘》
事务是数据库操作中确保数据一致性和完整性的核心机制,其ACID特性(原子性、一致性、隔离性、持久性)是关键保障。原子性确保操作“全有或全无”,避免部分执行导致的数据不一致;一致性维护业务逻辑和约束规则,使数据始终处于有效状态;隔离性通过并发控制技术防止多个事务互相干扰;持久性则保证事务提交后数据永久保存,即使系统故障也能恢复。以银行转账为例,事务将扣款与存款视为一个整体,任何失败均回滚,确保资金安全。掌握ACID特性对开发高效可靠的数据库系统至关重要。
628 1
|
12月前
|
设计模式 XML 安全
Java枚举(Enum)与设计模式应用
Java枚举不仅是类型安全的常量,还具备面向对象能力,可添加属性与方法,实现接口。通过枚举能优雅实现单例、策略、状态等设计模式,具备线程安全、序列化安全等特性,是编写高效、安全代码的利器。
|
安全 Java 测试技术
Java 项目实战中现代技术栈下代码实现与测试调试的完整流程
本文介绍基于Java 17和Spring技术栈的现代化项目开发实践。项目采用Gradle构建工具,实现模块化DDD分层架构,结合Spring WebFlux开发响应式API,并应用Record、Sealed Class等新特性。测试策略涵盖JUnit单元测试和Testcontainers集成测试,通过JFR和OpenTelemetry实现性能监控。部署阶段采用Docker容器化和Kubernetes编排,同时展示异步处理和反应式编程的性能优化。整套方案体现了现代Java开发的最佳实践,包括代码实现、测试调试
402 0
|
机器学习/深度学习 编解码 算法
【YOLOv8改进】Polarized Self-Attention: 极化自注意力 (论文笔记+引入代码)
该专栏专注于YOLO目标检测算法的创新改进和实战应用,包括卷积、主干网络、注意力机制和检测头的改进。作者提出了一种名为极化自注意(PSA)块,结合极化过滤和增强功能,提高像素级回归任务的性能,如关键点估计和分割。PSA通过保持高分辨率和利用通道及空间注意力,减少了信息损失并适应非线性输出分布。实验证明,PSA能提升标准基线和最新技术1-4个百分点。代码示例展示了如何在YOLOv8中实现PSA模块。更多详细信息和配置可在提供的链接中找到。
1343 124
|
数据采集 自然语言处理 调度
一文详谈RAG优化方案与实践
RAG通过检索现有的大量知识,结合强大的生成模型,为复杂的问答、文本摘要和生成任务带来了全新的解决方案。本文详细的介绍了RAG遇到的挑战、通用范式、工程实践、优化实现策略等。
|
关系型数据库 MySQL 数据库
Flask使用SQLAlchemy添加悲观锁和乐观锁
什么是悲观锁和乐观锁? • 悲观锁:假设在访问数据时会发生冲突,因此在访问数据前,先锁住数据。在锁被释放之前,其他事务无法访问此数据。是属于数据库中的一种互斥锁机制 • 乐观锁:假设在访问数据时冲突较少,因此不会锁住数据,而是在提交更新时检查是否有冲突。如果检测到冲突,则放弃更新。但是乐观锁并非真正的数据库锁。
|
存储 Java API
如何在 Java 中创建 ArrayList 列表?
【8月更文挑战第23天】
815 0
|
SQL 存储 分布式计算
菜鸟数据中台技术演进之路
通过中台的各技术域能力的建设,技术人员在极少的投入下,就可以支撑数倍的分析人员进行数字化运营工作。3 年时间里,菜鸟走过了从人力支撑到中台支撑的历程。
|
决策智能 Python
"携手并进,共创未来:多角色Agent协同作战,如何以智能融合的力量高效征服复杂任务新挑战!"
【8月更文挑战第21天】多Agent系统集结多个智能体,通过角色分配、通信与冲突解决等机制高效协作,完成复杂任务。智能体根据各自能力和任务需求扮演不同角色,通过有效沟通及任务分解,实现资源优化配置与目标协同达成,展现出高灵活性与适应性。
1284 0