使用 Elastic Observability 中的 OpenTelemetry 进行基础设施监控

news2024/11/25 14:51:22

作者:来自 Elastic ISHLEEN KAUR

将 OpenTelemetry 与 Elastic Observability 相结合,形成应用程序和基础设施监控解决方案。

在 Elastic,我们最近决定全面采用 OpenTelemetry 作为首要的数据收集框架。作为一名可观察性工程师,我坚信供应商中立性对于为客户提供最大价值至关重要。通过致力于 OpenTelemetry,我们不仅紧跟技术进步,而且还推动技术进步。这项投资使我们处于行业前沿,倡导更开放、更灵活的可观察性方法。

Elastic 将 Elastic Common Schema (ECS) 捐赠给 OpenTelemetry,并积极致力于将其与语义约定融合。与此同时,我们致力于支持我们的用户,确保他们不必遵循不同的标准。我们的目标是在将 OpenTelemetry 与我们的应用程序和基础设施监控解决方案结合使用时提供无缝的端到端体验。这一承诺使用户能够毫无阻碍地享受两全其美的优势。

在这篇博客中,我们探讨如何使用 OpenTelemetry (OTel) 收集器从各种来源(例如 AWS EC2、Google Compute、Kubernetes 集群以及运行 Linux 或 MacOS 的单个系统)捕获核心系统指标。

使用两种采集路径为基础设施 UI 提供支持

希望使用 OpenTelemetry 作为数据收集机制的 Elastic 用户现在可以使用 Elastic Observability 中提供的主机和库存 UI 来监控部署了 OpenTelemetry 收集器的主机的运行状况。

Elastic 提供了两种不同的采集路径来为基础设施 UI 提供支持:ElasticsearchExporter 采集路径和 OTLP Exporter 采集路径。

ElasticsearchExporter 采集路径:

Opentelmetry 中的 hostmetrics 接收器从 OTel 模式中的主机收集系统级指标,例如 CPU、内存和磁盘使用情况。ElasticsearchExporter 采集路径利用 Hostmetrics 接收器在 OTel 模式中生成主机指标。我们开发了 ElasticInfraMetricsProcesor,它利用 opentlemetry-lib 将这些指标转换为 Elastic UI 可以理解的格式。

例如,system.network.io OTel 指标包含一个 direction 属性,其值为 receive 或 transmit。它们分别对应于 Elastic 中的 system.network.in.bytes 和 system.network.out.bytes。

然后,processor 将这些指标转发到 Elasticsearch Exporter,现在已增强以支持在 ECS 模式下导出指标。导出器将指标发送到 Elasticsearch 端点,用富有洞察力的数据点亮基础设施 UI。

要利用此路径,你可以从此处提供的 Elastic Collector Distro 部署收集器。

此摄取路径的收集器配置示例:

receivers:
  hostmetrics:
    collection_interval: 10s
    scrapers:
      cpu:
        metrics:
          system.cpu.utilization:
            enabled: true
          system.cpu.logical.count:
            enabled: true
      memory:
        metrics:
          system.memory.utilization:
            enabled: true
      process:
        metrics:
          process.open_file_descriptors:
            enabled: true
          process.memory.utilization:
            enabled: true
          process.disk.operations:
            enabled: true
      network:
      processes:
      load:
      disk:
      filesystem:

processors:
  resourcedetection/system:
    detectors: ["system", "ec2"]
  elasticinframetrics:

exporters:  
  logging:
    verbosity: detailed
  elasticsearch/metrics: 
    endpoints: <elasticsearch_endpoint>
    api_key: <api_key>
    mapping:
      mode: ecs

service:
  pipelines:
    metrics/host:
      receivers: [hostmetrics]
      processors: [resourcedetection/system, elasticinframetrics]
      exporters: [logging, elasticsearch/ metrics]

对于喜欢使用自定义 Elastic Collector Distro 的用户来说,Elastic 导出器路径是理想之选。此路径包括 Elasticinframetrics 处理器,它通过 Elasticsearch 导出器将数据发送到 Elasticsearch。

OTLP 导出器采集路径:

在 OTLP 导出器采集路径中,hostmetrics 接收器以 OTel Schema 从主机收集系统级指标,例如 CPU、内存和磁盘使用情况。这些指标被发送到 OTLP 导出器,后者将它们转发到 APM 服务器端点。APM 服务器使用相同的 opentelemetry-lib 将这些指标转换为与 Elastic UI 兼容的格式。随后,APM 服务器将指标推送到 Elasticsearch,为基础设施 UI 提供支持。

APM 采集路径的示例收集器配置

receivers:
  hostmetrics:
    collection_interval: 10s
    scrapers:
      cpu:
        metrics:
          system.cpu.utilization:
            enabled: true
          system.cpu.logical.count:
            enabled: true
      memory:
        metrics:
          system.memory.utilization:
            enabled: true
      process:
        metrics:
          process.open_file_descriptors:
            enabled: true
          process.memory.utilization:
            enabled: true
          process.disk.operations:
            enabled: true
      network:
      processes:
      load:
      disk:
      filesystem:

processors:
  resourcedetection/system:
    detectors: ["system"]
    system:
      hostname_sources: ["os"]

exporters:
  otlphttp:
    endpoint: <mis_endpoint>
    tls:
      insecure: false
    headers:
      Authorization: <api_key_>
  logging:
    verbosity: detailed

service:
  pipelines:
    metrics/host:
      receivers: [hostmetrics]
      processors: [resourcedetection/system]
      exporters: [logging, otlphttp]

OTLP Exporter Ingest 路径可以帮助已经使用 Elastic APM 并希望看到基础设施 UI 填充的现有用户。这些用户可以使用默认的 OpenTelemetry Collector。

基础设施 UI 概览

基础设施 UI 展示了主机和 Kubernetes 级别的视图。以下是一些 UI 概览

主机概览 UI

主机库存 UI

主机进程相关详细信息

Kubernetes Inventory UI

Pod 级别指标

我们的下一步是创建由原生 OTel 数据驱动的基础设施 UI,并使用在此原生数据上运行的专用 OTel 仪表板。

结论

Elastic 与 OpenTelemetry 的集成简化了可观察性环境,虽然我们正在努力使 ECS 与 OpenTelemetry 的语义约定保持一致,但我们的当务之急是通过简化用户体验来支持用户。通过这种额外的支持,我们的目标是为使用 OpenTelemetry 和我们的应用程序和基础设施监控解决方案的用户提供无缝的端到端体验。我们很高兴看到我们的用户将如何利用这些功能来更深入地了解他们的系统。

原文:Infrastructure monitoring with OpenTelemetry in Elastic Observability — Elastic Observability Labs

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

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

相关文章

YOLOv9最新最全代码复现(论文复现)

YOLOv9最新最全代码复现&#xff08;论文复现&#xff09; 本文所涉及所有资源均在传知代码平台可获取 文章目录 YOLOv9最新最全代码复现&#xff08;论文复现&#xff09;引言YOLOv9模型概述模型框架图环境搭建及训练推理环境配置数据集准备训练过程测试和评估实践应用 报错修…

【CVPR2024】Efficient LoFTR: 高效的 LoFTR:具有类似稀疏的速度的半密集局部特征匹配

Efficient LoFTR: 高效的 LoFTR&#xff1a;具有类似稀疏的速度的半密集局部特征匹配 Efficient LoFTR realtime_demo 0.摘要 \qquad 我们提出了一种新的方法来有效地产生跨图像的半密集匹配。以往的无探测器匹配器LoFTR在处理大视点变化和纹理差的场景下表现出了出色的匹配能力…

【零基础必看的前端教程】——JavaScript(八)函数

欢迎大家打开前端的新篇章——JavaScript&#xff0c;JavaScript与HTML、CSS合称为前端三大件&#xff0c;JavaScript是前端的重中之重&#xff0c;小洪将继续以零基础视角&#xff0c;带你循序渐进学习前端知识&#xff0c;一看就懂&#xff0c;小白也能转行做前端&#xff01…

创建个人公私钥对

Windows电脑 本地电脑打开命令输入框&#xff0c;如windows WINR–cmd打开cmd窗口输入ssh-keygen -t rsa -C “Remote dev” &#xff0c;按三次回车&#xff0c;即可看到本地生成的公私钥进入用户目录&#xff0c;如windows为C:\Users\xxx(个人域账号).ssh&#xff0c;可看到…

在C++程序中新建并使用库

创建一个新的cpp文件后&#xff0c;定义一个函数 我们希望这个函数是可以被多个程序调用的&#xff0c;而不是直接输入在程序中进行编译。在C程序中&#xff0c;不是所有代码都会被编译成可执行文件&#xff0c;只有main函数所在的程序才可以生成可执行文件。而这个库是通过上一…

(第三期)书生大模型实战营——书生大模型全链路开源开放体系

任务及教程来自书生大模型实战营https://github.com/InternLM/Tutorial

负载均衡、软件平滑升级

安装nginx 1.26.1 平滑升级、负载均衡 安装依赖 gcc gcc-c pcre-devel openssl-devel 七层负载均衡配置&#xff1a; [rootf ~]# vim /usr/local/nginx/conf/nginx.conf 43 location / {44 # root html;45 # index index.html index…

在docker中安装MongoDB 5.0+

文章目录 1、查看物理机是否支持avx指令集&#xff1a;安装资料中的cpu-z_2.10-cn.exe&#xff0c;并打开2、查看虚拟机是否支持avx指令集&#xff1a;3、创建目录4、使用Docker来运行一个MongoDB数据库实例5、进入容器6、查看当前db版本7、查看当前db的链接机器地址8、帮助指令…

《昇思25天学习打卡营第24天》

接续上一天的学习任务&#xff0c;我们要继续进行下一步的操作 构造网络 当处理完数据后&#xff0c;就可以来进行网络的搭建了。按照DCGAN论文中的描述&#xff0c;所有模型权重均应从mean为0&#xff0c;sigma为0.02的正态分布中随机初始化。 接下来了解一下其他内容 生成…

程序一调用这个接口就会崩溃, 因为他的静态库添加是放在release文件下,而我用的debug模式

程序一调用这个接口就会崩溃 因为他的静态库添加是放在release文件下 而我用的debug模式 DESTDIR ../x64/ReleaseINCLUDEPATH ./../3rdparty/ZZDecode/include LIBS -lopengl32 \-lglu32 \-luser32 \./../3rdparty/ZZDecode/x64/release/ZZDecodeInterface.lib

华为仓颉语言测试申请

1. 申请网址 HarmonyOS NEXT仓颉语言开发者预览版 Beta招募- 华为开发者联盟 点击立即报名登录华为账号 勾选选项 , 点击同意 按要求填写信息即可 2. 申请通过后官方会通过邮件的方式发送相关下载途径 , 根据文档进行下载即可 package Cangmain(): Int64 {println("你…

Springboot使用Redis实现分布式锁

1、使用场景和实现方案&#xff1a; 使用场景&#xff1a;本地锁如Lock和Syncronized只能锁住本地进程&#xff0c;在分布式应用中&#xff0c;需要使用分布式锁来更好实现特定的业务。 实现方案&#xff1a;有多种&#xff0c;比如使用mysql、zookeeper、redis&#xff0c;各…

nginx续1:

八、虚拟主机配置 基于域名的虚拟主机 [rootserver2 ~]# ps -au|grep nginx //查看进程 修改Nginx服务配置&#xff0c;添加相关虚拟主机配置如下 1. [rootproxy ~]# vim /usr/local/nginx/conf/nginx.conf 2. .. .. 3. server { 4. listen …

基于Material studio拉伸-断裂过程的Perl脚本

在材料科学的研究中&#xff0c;拉伸-断裂过程一直是科学家们探索的焦点。这一过程涉及复杂的力学行为和材料内部微观结构的变化&#xff0c;对于理解材料的性能至关重要。然而&#xff0c;传统的实验方法不仅耗时耗力&#xff0c;而且难以捕捉到微观尺度上的所有细节。 为了满…

jQuery前端网页制作

1、Jquery的概述 1.1JavaScript库 JavaScript 高级程序设计(特别是对浏览器差异的复杂处理),通常很困难也很耗时。 为了应对这些调整,许多的 JavaScript (helper) 库应运而生。 这些 JavaScript 库常被称为 JavaScript 框架。 市面上一些广受欢迎的 JavaScript 框架:…

visual studio性能探测器使用案列

visual studio性能探测器使用案列 在visual studio中&#xff0c;我们可以使用自带的工具对项目进行性能探测&#xff0c;具体如下 1.选择性能探查器 Vs2022/Vs2019中打开方式&#xff1a; Vs2017打开方式&#xff1a; 注意最好将解决方案配置为&#xff1a;Release Debu…

【未来餐饮】 配送设置

一、创建门店 关键信息 1. 门店名字要有辨识度&#xff0c;尽量不和其他客户重名 2. 地址要具体到门牌号 3. 定位要和上面的地址一致 可以复制地址搜索地图&#xff0c;然后选择位置 二、创建配送模板 新建模板 填写模板 命名模板&#xff0c;勾上真省钱&#xff0c;然后保…

Meta再下一城:SAM 2

--->更多内容&#xff0c;请移步“鲁班秘笈”&#xff01;&#xff01;<--- “继用于图像的Meta Segment Anything Model &#xff08;SAM&#xff09;取得成功之后&#xff0c;我们发布了SAM 2&#xff0c;这是一种用于在图像和视频中实时进行对象分割的统一模型&#…

npm创建vue的ts项目

一、进入项目文件夹 使用cmd进入你想要创建项目的文件夹&#xff0c;此处为 E盘的test文件夹 cd E:\testE:二、创建项目 此处项目名为 MyTestProject npm create vitelatest输入上述代码&#xff0c;回车后会出现灰色的虚拟名称&#xff0c;此处输入你自己的名称即可&#…

软件平台化开发项目实践

汉捷咨询有40多位来自多家著名企业&#xff08;华为、中兴、三星等&#xff09;的咨询顾问和讲师&#xff0c;资深顾问/项目经理均有华为、中兴等领先企业高管及咨询实践15年以上经验&#xff0c;本文为汉捷一IPD资深顾问的行业实践总结&#xff0c;与各位同仁分享&#xff01;…