使用 Elastic Observability 中的 OpenTelemetry 进行基础设施监控
作者:来自 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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
数据资产入表全流程解析,助力企业数据要素价值释放
数据资产入表即数据资产会计核算,指的是把有价值的数据编制进资产负债表,作为企业沉淀的无形资产,让数据要素的交易流通变得合规,数据价值可计算。 2023年8月21日,财政部发布《企业数据资源相关会计处理暂行规定》,并于2024年1月1日开始实施,首次将数据资源纳入企业会计核算体系,明确了数据资产入表的标准和要求,标志着数据资产在会计领域的正式确认,并开启了数据要素产业化的新时代。随后国资委、中国资产评估协会、中国银行业协会等多个组织资产入表探索尝试。 对数据资产入表的推动,一方面有利于帮助企业建立更加完善的数据资产管理体系,助力数据驱动型企业吸引外部融资、优化财务结构、提升公司价值;另一方面能够促进不同企业机构之间的数据共享与合作,建立更加开放的数据生态系统,提升社会服务的质量和效率,优化资源配置,推动经济结构升级。 数据资产入表流程通常包括数据资源化、资源产品化和产品资产化三个步骤。实践中,经过这三个步骤后形成可清晰辨认、应用场景明确、价值可以计量的数据资产凭证,并在满足资产的确认条件后形成数据资产入表。本文将以“五步法”为基础,为大家介绍从企业角度具体如何实施数据资产入表。 想要实现...
- 下一篇
客服测试流水线编排设计思路和准入准出应用|得物技术
一、前言 测试流水线经过多个迭代准入准出的实践应用,基本完成了线上化、标准化以及流程自动化提升,目前客服域已实现100%的应用通过测试流水线准出完成测试。当前在商家和ERP推广,大家一起来了解下测试准出流水线是什么,解决什么问题,又需要如何接入和线上化应用。 二、测试流水线的概念 在DevOps转型中,更多的会提到CI/CD(Continuous Integration / Continuous Delivery,即持续集成和持续交付),但DevOps概念下,与之适配的软件测试能力也是必不可少。随着对测试"左移"和"右移"能力的要求,那Continuous Testing(持续测试)这个概念也就涌现了。持续测试是在整个软件开发生命周期中,都需要进行测试的做法,作为持续交付流程中的一环,旨在尽早发现缺陷和问题,减少以后修复它们的成本和时间。 在得物DevOps下实践持续测试,考虑到研发和测试的分工差异化、测试自动化成熟度以及多角色协同复杂性。将软件交付过程中归属于测试角色的各类质量活动都组件化,并有序集成在单独的流水线,通过测试角色来触发执行和管理,这类流水线定义为测试流水线,来实施持续...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音