IT系统可观测性

在这里插入图片描述

什么是可观测性

可观测性(Observability)是指能够从系统的外部输出推断出系统内部状态的能力。在IT和云计算领域,它涉及使用软件工具和实践来收集、关联和分析分布式应用程序以及运行这些应用程序的硬件和网络产生的性能数据流。这样做可以更高效地监控、诊断和调试应用程序和网络,满足客户体验期望、服务级别协议(SLA)和其他业务需求。

可观测性通常关注三种主要的遥测数据类型:

  1. 日志:记录应用程序事件的详细时间戳记。
  2. 指标:基本测量数据,如内存使用量或CPU容量。
  3. 跟踪:记录每个用户请求的端到端过程。

通过这些数据,团队可以更有效地监控现代系统,找到并解决问题的根本原因,从而提高系统性能。可观测性的实践对于云原生环境中的应用开发和运维尤为重要,因为它们支持快速迭代和动态部署的需求。

可观测性开源工具有哪些

可观测性的开源软件工具有很多,这里是一些例子:

  1. HoloInsight:蚂蚁集团开源的智能可观测平台,提供日志监控、业务指标监控和AIOps的前沿探索。
  2. Prometheus:一个开源监控解决方案,提供强大的指标、洞察力和警报。
  3. OpenTelemetry (OTel):一个供应商中立的开源可观察性框架,用于检测、生成、收集和导出遥测数据。
  4. Jaeger:一个开源的端到端分布式跟踪平台,帮助进行分布式事务监控和性能优化。
  5. Grafana:一个开放的监控和可观察性平台,可帮助可视化数据。
  6. ELK Stack:由Elasticsearch、Logstash和Kibana组成的强大的Kubernetes可观察性工具组合。
  7. Fluentd/Fluent Bit:一个开源项目,旨在将不兼容的日志记录格式和过程转换为统一的日志记录层。
  8. Kindling:一个基于eBPF的云原生可观测性开源工具,帮助用户理解应用从内核层到代码层的行为。
  9. OpenObserve:一个开源的云原生可观测性平台,显著降低运营成本,并提高了易用性。

这些工具可以帮助团队更有效地监控和管理系统,提高可观测性和故障排查的能力。选择哪个工具取决于具体的需求和环境。你可以访问它们的官方文档或社区,了解更多关于安装和使用的信息。

全新的可观测开源组件grafana agent

Grafana Agent 是一个灵活、高性能的遥测数据收集器,它与多个生态系统兼容,如 Prometheus 和 OpenTelemetry。它的主要功能包括:

  • 收集数据:可以收集指标、日志、追踪和连续性分析数据。
  • 数据转换:能够对收集的数据进行处理和转换。
  • 数据发送:将处理后的数据发送到 Prometheus 生态系统、OpenTelemetry 生态系统以及 Grafana 开源生态系统(如 Loki、Grafana、Tempo、Mimir、Pyroscope)。
  • 编程观测性管道:通过组件连接,形成可编程的观测性管道,用于遥测数据的收集、处理和传递。
  • 灵活性和性能:设计上注重灵活性和性能,支持在多种平台上部署,包括 Linux、Windows 和 macOS。

Grafana Agent 提供了多种运行模式,包括静态模式、Kubernetes 操作员模式和流模式,每种模式都有其特定的功能和使用场景。此外,Grafana Agent 还支持与 Grafana Cloud 的集成,提供官方的供应商支持和云集成选项²。它是一个“电池包含”的解决方案,意味着它预装了与多个系统(如 MySQL、Kubernetes 和 Apache)集成的功能,可以立即提供有用的遥测数据。

与grafana agent集成的服务

Grafana Agent 通常与多种服务集成,以便收集和发送遥测数据。这些服务包括但不限于:

  • Apache HTTP: 收集Apache服务器的性能指标。
  • Node Exporter: 从Unix系统收集硬件和操作系统指标。
  • Process Exporter: 监控系统进程的资源使用情况。
  • MySQLD Exporter: 从MySQL服务器收集数据库性能指标。
  • Redis Exporter: 从Redis实例收集性能指标。
  • Elasticsearch Exporter: 从Elasticsearch集群收集性能指标。
  • Memcached Exporter: 从Memcached服务器收集性能指标。
  • MSSQL: 从Microsoft SQL Server收集数据库性能指标。
  • Postgres Exporter: 从PostgreSQL数据库收集性能指标。
  • SNMP Exporter: 通过简单网络管理协议收集网络设备的指标。
  • Consul Exporter: 从Consul服务网格收集服务发现和配置数据。
  • Windows Exporter: 从Windows系统收集性能指标。
  • Kafka Exporter: 从Apache Kafka集群收集性能指标。
  • MongoDB Exporter: 从MongoDB数据库收集性能指标。
  • CloudWatch Exporter: 从Amazon CloudWatch收集云资源的指标。
  • Azure Exporter: 从Microsoft Azure收集云资源的指标。
  • GCP Exporter: 从Google Cloud Platform收集云资源的指标。

Grafana Agent 的具体角色和任务包括:

  • 收集: 从集成的服务中收集遥测数据,如指标、日志、追踪和性能剖析数据。
  • 转换: 处理和转换收集到的数据,以便它们可以被后端系统理解和存储。
  • 发送: 将处理后的数据发送到不同的目的地,如Prometheus、OpenTelemetry和Grafana开源生态系统(例如Loki、Grafana、Tempo、Mimir、Pyroscope)。
  • 配置: 提供灵活的配置选项,允许用户根据自己的需求定制数据收集和处理的行为。
  • 扩展: 支持通过插件和集成来扩展功能,以便与更多的服务和应用程序集成。

Grafana Agent 的设计旨在灵活、高效,并且与多种生态系统兼容,使其成为一个功能丰富、性能优异、不受供应商限制的遥测数据收集器。它可以部署在任何数量的机器上,收集数百万个活跃序列和TB级别的日志,是一款经过实战测试的工具。

grafana agent和tempo分工

grafana tempo
Grafana Agent 和 Grafana Tempo 是 Grafana 生态系统中的两个不同组件,它们在追踪数据的处理和管理方面有不同的职责:

Grafana Agent:

  • 它是一个轻量级的遥测数据收集器,专门设计用于收集指标、日志和追踪数据。
  • Grafana Agent 可以配置为接收来自多种系统的追踪数据,例如 Jaeger、Kafka、OpenCensus、OTLP 和 Zipkin。
  • 它使用与 Prometheus 相同的经过实战检验的代码,并且可以节省内存使用。
  • Grafana Agent 支持将收集到的追踪数据发送到不同的后端,包括 Grafana Tempo。

Grafana Tempo:

  • Tempo 是一个易于操作、高规模且成本效益高的分布式追踪系统。
  • 它只需要对象存储来运行,并且与 Grafana、Mimir、Prometheus 和 Loki 深度集成。
  • Tempo 用于存储和查询追踪数据,支持开源追踪协议,如 Jaeger、Zipkin 或 OpenTelemetry。

简而言之,Grafana Agent 主要负责收集和转发追踪数据,而 Grafana Tempo 则专注于追踪数据的存储和查询。Agent 可以将数据发送到 Tempo,但 Tempo 负责管理这些数据的长期存储和检索。
在这里插入图片描述
在这里插入图片描述

其他开源追踪工具

Jaeger

Jaeger 是一个开源的分布式追踪系统,它主要用于监控和故障排除微服务架构中的事务。Jaeger 可以帮助开发者理解服务之间的请求流程,找出性能瓶颈,以及优化系统的可靠性。它通过图形化的方式展示服务调用的轨迹,使得开发者能够快速定位问题所在。

Jaeger 的主要特点包括:

  • 分布式上下文传播:追踪请求在不同服务之间的流转。
  • 事务监控:记录事务的详细信息,包括调用时间和结果。
  • 性能分析:分析每个服务的响应时间,识别性能瓶颈。
  • 错误分析:记录错误信息,帮助快速定位故障原因。
  • 服务依赖分析:展示服务之间的依赖关系,帮助理解系统架构。

Jaeger 支持多种数据收集和存储方式,兼容 OpenTracing API,适用于各种规模的微服务系统。它是云原生计算基金会(CNCF)的一部分,由 Uber 开源,并得到了广泛的社区支持和贡献。Jaeger 的设计目标是提供一个易于使用、可扩展的追踪系统,以适应现代软件应用的需求。

Zipkin

Zipkin 是一个开源的分布式追踪系统,它帮助收集服务架构中的定时数据,以解决延迟问题。Zipkin 的特点包括数据的收集和查询,它允许你通过跟踪 ID 直接跳转到特定的追踪信息,或者基于服务、操作名称、标签和持续时间等属性进行查询。

主要功能包括:

  • 数据收集:收集微服务架构中的请求和事件数据。
  • 数据查找:通过跟踪 ID 或其他条件查询追踪数据。
  • 性能分析:分析服务调用的时间,识别延迟问题。
  • 错误分析:汇总错误信息,帮助定位问题。
  • 依赖关系图:展示服务之间的调用关系和请求流量。

Zipkin 支持多种数据上报方式,如 HTTP 或 Kafka,并且可以与多种后端存储系统集成,例如 Apache Cassandra 或 Elasticsearch。它通常需要与应用程序进行“instrumentation”配置,以报告追踪数据到 Zipkin。这使得 Zipkin 成为微服务架构中识别性能问题的重要工具。

关于eBPF非侵入式监控

开源eBPF工具有很多,它们提供了不同的功能来帮助进行系统性能分析、监控和安全。以下是一些流行的开源eBPF工具:

  • Tracee: 用于实时监控系统调用和其他系统事件的轻量级追踪工具。
  • bpftrace: 高级追踪工具和语言,用于采集内核和程序运行信息并展示。
  • Falco: 用于检测异常活动的开源系统行为监控程序。
  • Cilium: 提供网络连接和应用程序工作负载之间的负载平衡和透明保护。
  • Katran: Facebook开源的高性能第4层负载均衡器。
  • Elkeid: 字节跳动开源的内核事件捕获工具。
  • kubectl-trace: kubectl插件,帮助用户在Kubernetes集群中安排执行BPF程序。
  • Kindling: 基于eBPF的云原生可观测性开源项目,帮助用户理解应用程序行为。

这些工具利用eBPF技术在内核级别进行数据捕获和分析,而不需要修改应用程序代码,从而实现了对应用程序性能的深入洞察,同时保持了系统的稳定性和安全性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/753693.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

心灵治愈交流平台|基于springboot框架+ Mysql+Java+B/S结构的心灵治愈交流平台设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 管理员功能登录前台功能效果图 用户功能模块 心理咨询师功能 系统功能设计 数据库…

蓝桥杯前端Web赛道-输入搜索联想

蓝桥杯前端Web赛道-输入搜索联想 题目链接:1.输入搜索联想 - 蓝桥云课 (lanqiao.cn) 题目要求: 题目中还包含effect.gif 更详细的说明了需求 那么观察这道题需要做两件事情 把表头的每一个字母进行大写进行模糊查询 这里我们会用到几个js函数&#…

洛谷 P1378 油滴扩展

本道题可以理解成一个平面直角坐标系,在坐标系上标出整个矩形和油滴的坐标,计算两个油滴的面积和直径,判断点是否在圆内(点与圆的位置关系),利用使用坐标求两点间距离的公式取解。 代码如下: …

SpringBoot异常:类文件具有错误的版本 61.0, 应为 52.0的解决办法

问题: java: 无法访问org.mybatis.spring.annotation.MapperScan 错误的类文件: /D:/Program Files/apache-maven-3.6.0/repository/org/mybatis/mybatis-spring/3.0.3/mybatis-spring-3.0.3.jar!/org/mybatis/spring/annotation/MapperScan.class 类文件具有错误的…

实体门店加盟全解析:如何选择加盟项目与避免风险

对于想要开实体店或创业的人来说,拥有一个全面的运营方案是成功的关键。作为一名开鲜奶吧5年的创业者,我将为大家详细分享从选址到日常管理的实体店运营要点,帮助创业者少走弯路。 一、选择加盟项目 1.行业前景:选择一个有发展前…

Vue2(五):收集表单数据、过滤器、自定义指令、Vue的生命周期

一、收集表单数据 爱好&#xff1a;学习<input type"checkbox" value"study" v-model"hobby">打游戏<input type"checkbox" value"games" v-model"hobby">吃饭<input type"checkbox" v…

大数据开发--01.初步认识了解

一.环境准备 1.使用虚拟机构建至少三台linux服务器 2.使用公有云来部署服务器 二.大数据相关概念 大数据是指处理和分析大规模数据集的一系列技术、工具和方法。这些数据集通常涉及海量的数据&#xff0c;包括结构化数据&#xff08;如关系型数据库中的表格&#xff09;以及…

美联社报道波场与亚马逊云计算重磅合作 称符合其去中心化使命

近日,波场TRON宣布已集成亚马逊云计算服务(AWS),引发美联社、金融时报、费加罗报等多家海外主流媒体高度关注。报道表示,此次集成旨在利用AWS 强大的云计算资源,降低用户和开发者参与波场网络的准入门槛,打造更加去中心化、更强大的区块链生态系统。 报道内容显示,通过此次合作…

基于spring boot的民宿预约管理系统的设计与实现

目录 摘要 I Abstract II 一、绪论 1 &#xff08;一&#xff09;研究背景 1 &#xff08;二&#xff09;社会调查 1 &#xff08;三&#xff09;研究意义 2 &#xff08;四&#xff09;研究内容 2 二、关键技术介绍 3 &#xff08;一&#xff09;Spring Boot框架 3 &#xff…

GESP2024年3月C++语言三级答案(均为自己的想法,C++没学太多,有不对的地方欢迎指正)

选择题&#xff08;每题2分&#xff0c;共30分&#xff09; 第 1 题 整数-5的16位补码表示是(D)。 A. 1005 B. 1006 C. FFFA D. FFFB 解析&#xff1a;0是FFFF&#xff0c;用0-5&#xff08;即FFFF-5&#xff09;得到是FFFB。 第 2 题 如果16位短整数-2的二进制是“FFFE”&…

YOLOv9改进策略:注意力机制 | 用于微小目标检测的上下文增强和特征细化网络ContextAggregation,助力小目标检测,暴力涨点

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文改进内容&#xff1a;用于微小目标检测的上下文增强和特征细化网络ContextAggregation&#xff0c;助力小目标检测 yolov9-c-ContextAggregation summary: 971 layers, 51002153 parameters, 51002121 gradients, 238.9 GFLOPs 改…

springboot277流浪动物管理系统

流浪动物管理系统设计与实现 摘 要 在如今社会上&#xff0c;关于信息上面的处理&#xff0c;没有任何一个企业或者个人会忽视&#xff0c;如何让信息急速传递&#xff0c;并且归档储存查询&#xff0c;采用之前的纸张记录模式已经不符合当前使用要求了。所以&#xff0c;对流…

PSCA系统控制集成之复位层次结构

PPU 提供以下对复位控制的支持。 • 复位信号Reset signals&#xff1a;PPU 提供冷复位和热复位输出信号。PPU 还为实现部分保留的电源域管理提供了额外的热复位输出信号。 • 电源模式控制Power mode control&#xff1a;PPU 硬件适当地管理每个支持的电源模式转换的复位信号…

2024蓝桥杯每日一题(DFS)

备战2024年蓝桥杯 -- 每日一题 Python大学A组 试题一&#xff1a;奶牛选美 试题二&#xff1a;树的重心 试题三&#xff1a;大臣的差旅费 试题四&#xff1a;扫雷 试题一&#xff1a;奶牛选美 【题目描述】 听说最近两斑点的奶牛最受欢迎&#xff0c;…

华为畅享 60X 用了这么久,说说真实感受

华为畅享 60X 上市也有1年了&#xff0c;为什么还要说这款手机&#xff0c;是因为用了这么久这款手机真的让人忍不住竖起大拇指&#xff01;给父母准备的这款机子&#xff0c;在千元机里没得说&#xff01; 华为畅享 60X 很适合中老年人用户&#xff0c;日常长辈们在用机时对手…

SqlServer2008(R2)(二)SqlServer2008(R2)安装和卸载注意事项整理

二、注意事项 1、 安装数据中心版 说明&#xff1a;此激活版仅用于测试和学习使用。 这是官方的下载页面&#xff08;需要付费订阅&#xff09;&#xff1a; http://msdn.microsoft.com/zh-cn/subscriptions/downloads/default.aspx 数据中心版&#xff1a; PTTFM-X467G-P7RH…

力扣模板题:检测字符串中数字是否递增

bool areNumbersAscending(char * s){//双指针操作&#xff0c;前指针保存前面一个数字字符int p0,q0;for(int i0;s[i];i){if(s[i]>0&&s[i]<9){pp*10s[i]-0;if(s[i1] ||s[i1]\0){//进行比较, 比较过后将p赋值q&#xff0c;q记录前面一个数字,因为数字均为小于100…

详解Python中的缩进和选择

缩进 Python最具特色的是用缩进来标明成块的代码。我下面以if选择结构来举例。if后面跟随条件&#xff0c;如果条件成立&#xff0c;则执行归属于if的一个代码块。 先看C语言的表达方式&#xff08;注意&#xff0c;这是C&#xff0c;不是Python!&#xff09; if ( i > 0 …

AI论文速读 | UniST:提示赋能通用模型用于城市时空预测

本文是时空领域的统一模型——UniST&#xff0c;无独有偶&#xff0c;时序有个统一模型新工作——UniTS&#xff0c;感兴趣的读者也可以阅读今天发布的另外一条。 论文标题&#xff1a;UniST: A Prompt-Empowered Universal Model for Urban Spatio-Temporal Prediction 作者&…

CornerStone.js之点数据获取相关函数

向后端导出点的坐标数据&#xff1a;由于piexlData是Float32Arrat数据类型&#xff0c;传递给后端 会报错&#xff0c;于是将其转换为二维数组&#xff0c;然后传递给后端即可&#xff0c;后端将其写入txt文件中 二维数组表示是512*512的一个数组&#xff0c;元素值只有0和1