应用可观测性OpenTelemetry简介

news/2024/7/4 7:47:51 标签: 云原生

应用可观测性OpenTelemetry简介

  • OpenTelmetry遥测方案
    • 可观测性三支柱
      • 日志 Logs
      • 指标
      • 跟踪
  • 什么是OpenTelemetry
  • OpenTelemetry架构和组件
  • OpenTelemetry与OpenCensus、OpenTracing是什么关系

OpenTelmetry遥测方案

可观测性三支柱

在这里插入图片描述

日志 Logs

日志是特定事件在特定时间点发生的文本记录。生成日志条目的触发器是应用程序代码的一部分,因此当执行相关代码时,系统会重复产生日志条目。日志条目记录了事件发生的时间,并提供了一个载荷,包括描述事件性质、事件上下文以及其他后续分析可能有用的元数据。

根据日志的创建方式、使用的格式化规则以及自动化逻辑处理的难度,日志可以广泛分为以下几类:

  • 无结构化日志:包括供人类处理的文本,可能不包含易于机器处理的元数据。通常被认为是记录的最常见方式,不幸的是通常难以解析以进行分析。
  • 结构化日志:包括以易于其他代码解析的标准格式组织的数据(例如JSON)。它包括使查询日志更容易(尤其是过滤和分组)的附加元数据。

日志提供了有关应用程序行为的可靠且易于理解的信息源。开发人员在故障排除代码并验证其执行时常依赖于日志。当故障位于整体应用程序的特定组件中时,此数据可能提供了识别系统故障和其他问题根本原因所需的细粒度信息,但它不一定足以理解故障在分布式系统中的起源以及实际产生的副作用。

指标

指标是与时间戳关联的一系列数据点,这导致了“时间序列”通常被认为是“指标”的同义词。数据点的值通常是数字,例如在某个时间段内提供的请求数的计数,但在某些监控系统中,它也可以是字符串(例如,Prometheus的“INFO”指标)或布尔值。

为了减少存储和处理长时间跨度内的指标所需的计算资源量,通常惯例是“聚合”它们的值,例如将指标的粒度从每秒一个数据点减少到一分钟或十分钟内的数据点的平均值、均值和(在某些情况下,百分位数)。由于指标往往包含比日志更不敏感的数据,因此基础设施提供商和第三方服务更常见地提供有关他们代表用户执行的操作的指标,而不是日志。

跟踪

跟踪描述了请求在分布式系统中的整个路径。随着请求进入系统,处理它们的组件创建跨度(spans),这些跨度记录了操作,比如“接收请求XYZ”或“发出数据库查询ABC”,操作开始的时间点以及完成所花费的时间。
跨度根据它们的跟踪标识符进行分组,并链接到它们的前身跨度,有效地创建了跨度的有向无环图,展示了在分布式系统中如何进行请求处理。根据在跟踪中收集的信息的细粒度程度,通常可以一目了然地看到处理一个请求的错误和延迟从何处起源,以及它们如何在分布式系统中传播。跨度通常包括以下数据:

  • 跟踪标识符
  • 跨度标识符
  • 操作的名称
  • 开始和结束时间戳
  • 以键值格式编码的元数据,包括有关基础设施的信息(例如,哪个容器处理了此请求)等。
  • 事件(例如,日志、异常和错误)
    跟踪的价值不仅限于故障排除单个请求。例如,通过汇总多个跟踪中的数据,可以生成关于速率、错误和持续时间(RED)等指标的数据,这些指标是站点可靠性工程(SRE)实践中的所谓“黄金信号”的重要组成部分,正如Google最初定义的那样。
    在这里插入图片描述

什么是OpenTelemetry

在这里插入图片描述

OpenTelemetry架构和组件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

OpenTelemetry与OpenCensus、OpenTracing是什么关系

在这里插入图片描述


http://www.niftyadmin.cn/n/5213635.html

相关文章

python二叉树链树_树的链式存储结构

二叉链树是一种树状数据结构,其中每个节点最多有两个子节点,分别称为左子节点和右子节点。每个节点包含一个数据元素和指向其左右子节点的指针。二叉链树可以是空树,也可以是具有以下特点的非空树: 1. 每个节点最多有两个子节点。…

人力资源管理后台 === 基础环境+登陆

目录 1.人力资源项目介绍 1.1 项目架构和解决方案 1.2 课程安排 1.3 课程具备能力 1.4 课程地址 2. 拉取项目基础代码 3.项目目录和入口文件介绍 4.App.vue根组件解析 5.基础设置settings.js和导航守卫permission.js 6.Vuex的结构 7.使用模板中的Icon图标 8.扩展…

如何评估一个论坛或峰会值不值得参加?

现在的论坛和峰会非常多,且都宣传的非常高端,很多人为了不错过机会像赶场一样总在参会路上。但究竟什么样的论坛或峰会才值得一去呢? 评估一个论坛或峰会是否值得参加,需要考虑多个因素。 1、主题与你的兴趣或职业相关性&#xf…

AI赋能数据表设计

数据表设计软件用过多种,用Ai 设计表几年Ai大模型爆发之后提升了新的高度 用navicat 设计表就是在跟团队的人介绍这次功能的表结构时,没办法看备注,只能看英文字段,导致在比较复杂的表中,总是在表结构和图形结构中来回…

持续集成部署-k8s-配置与存储-配置管理:HostPath 的使用

持续集成部署-k8s-配置与存储-配置管理:HostPath 的使用 1. 简介2. 创建一个 Pod 使用 HostPath 的方式挂载目录 1. 简介 在 Kubernetes 中,HostPath 是一种用于挂载宿主机上文件或目录到容器中的卷类型。使用 HostPath 卷类型,可以让你在容…

Gateway网关统一鉴权实现

package com.java1234.constant;/*** 系统级静态变量* @author java1234_小锋* @site www.java1234.com* @company Java知识分享网* @create 2019-08-13 上午 9:51*/ public class SystemConstant {/*** token*/public static final int JWT_ERRCODE_NULL = 4000; //Token不存…

redis运维(二十一)redis 的扩展应用 lua(三)

一 redis 的扩展应用 lua redis加载lua脚本文件 ① 调试lua脚本 redis-cli 通过管道 --pipe 快速导入数据到redis中 ② 预加载方式 1、错误方式 2、正确方式 "案例讲解" ③ 一次性加载 执行命令: redis-cli -a 密码 --eval Lua脚本路径 key …

【Java】NIO概述

本文主要介绍Java的IO。 这里主要按类的操作方式和操作对象对JavaIO进行分类,方便理解,后续使用时可以方便地查询。 一、操作方式分类 首先介绍几组概念: 字节流和字符流: 字节流:以字节为单位,每次次读…