英特尔利用 Telegraf 提供平台可见性

导航至

本文由英特尔 Telegraf 维护者兼项目技术主管 Pawel Żak 撰写。向下滚动查看作者简介。

自 2020 年以来,英特尔团队一直为 Telegraf 做出贡献,包括来自英特尔特定平台功能(例如 Intel® Resource Director Technology、Intel® Dynamic Load Balancer 或基于英特尔平台的功耗统计数据)的遥测数据,以及从通用工具和框架收集的遥测数据;例如,数据平面开发套件 (DPDK)、Libvirt、P4 Runtime 或可靠性可用性可维护性 (RAS)。

间接地(通过 Intel® Platform Telemetry Insights)或直接地,利用我们提供的遥测数据的公司都在使用 InfluxData 产品。

Intel® Platform Telemetry Insights 使用 Telegraf 作为指标的基本来源,以报告软件,将平台遥测数据转换为网络和运营数据,并提供关于平台可靠性、利用率、拥塞和配置问题的见解。这些见解可用于通知 NetOps 并触发补救措施,作为闭环系统中可观测性解决方案的一部分。您可以在此处找到更多详细信息。

以下是我们交付的 Telegraf 插件的简要概述

Intel PowerStat 输入插件

(Telegraf 1.17.0+)

此插件监控基于英特尔平台的功耗统计数据。这些统计数据对于监控和分析系统至关重要,以便根据平台繁忙程度、CPU 温度、实际 CPU 利用率和功耗统计数据采取预防/纠正措施。您还可以使用这些指标来监控功耗,以帮助制定关于如何最好地节省能源的决策。

这些系统的主要用例是

  • 可持续性/节能
  • 工作负载迁移和智能工作负载放置
  • 过载/拥塞检测
  • 功耗异常检测

Intel PowerStat 输入插件公开的指标

  • CPU 核心在 C0/C1/C6 核心驻留状态下花费的时间百分比
  • CPU 核心的当前运行频率
  • CPU 核心的当前温度
  • CPU 核心繁忙频率,以调整到 CPU 核心繁忙周期的频率衡量
  • CPU 核心的当前运行频率
  • 处理器封装和处理器封装 DRAM 子系统的当前功耗
  • 活动核心数量的最大可达睿频频率
  • 处理器封装中芯片的最小和最大非核心频率限制
  • 处理器封装中芯片的当前非核心频率
  • 处理器封装的 CPU 基本频率(最大非睿频频率)

Intel® Resource Director Technology (Intel® RDT) 输入插件

(Telegraf 1.16.0+)

此插件收集由 Intel® Resource Director Technology 的监控功能提供的信息。Intel® RDT 提供了一个框架,其中包含用于缓存和内存监控以及分配功能的多个组件功能,包括缓存监控技术 (CMT)、缓存分配技术 (CAT)、代码和数据优先级 (CDP)、内存带宽监控 (MBM) 和内存带宽分配 (MBA)。这些技术能够跟踪和控制共享资源,例如平台上的许多应用程序、容器或 VM 并发使用的末级缓存 (LLC) 和主内存 (DRAM) 带宽。Intel® RDT 可以帮助检测“嘈杂邻居”并帮助减少性能干扰,确保复杂环境中关键工作负载的性能。

Intel® RDT 输入插件公开的指标

  • 本地 NUMA 内存通道上相关 CPU 核心/进程的内存带宽利用率
  • 远程 NUMA 内存通道上相关 CPU 核心/进程的内存带宽利用率
  • CPU 核心/进程在本地和远程 NUMA 内存通道上利用的总内存带宽
  • CPU 核心/进程的总末级缓存占用率
  • CPU 核心/进程的总末级缓存未命中次数
  • CPU 核心/进程执行的每周期总指令数

英特尔性能监控单元插件

(Telegraf 1.21.0+)

此输入插件公开通过 Linux Perf 子系统提供的英特尔 PMU(性能监控单元)指标。PMU 指标提供对 IA 处理器内部组件(包括核心和非核心单元)的性能和健康状况的洞察。随着核心数量的增加和处理器拓扑结构变得更加复杂,深入了解这些指标对于确保最佳 CPU 性能和利用率至关重要。

性能计数器是 CPU 硬件寄存器,用于计算硬件事件,例如执行的指令、缓存未命中或分支预测错误。它们构成了分析应用程序以跟踪动态控制流和识别热点的基础。您可以在此处找到特定架构的完整事件列表。

此插件能够测量核心和非核心事件。每个单核心事件都可以在每个可用的 CPU 核心上多次计数。相反,非核心事件可以放置在指定 CPU 封装内的多个 PMU 中。该插件允许选择应在其上执行计数的内核 ID(核心事件)或插槽 ID(非核心事件)。非核心事件在所有插槽的 PMU 上单独激活,并且可以作为单独的测量值公开或汇总为一个测量值。

以下计数器针对每个激活的核心或非核心事件公开

  • enabled - 时间计数器,包含关联的 perf 事件被启用的时间
  • running - 时间计数器,包含事件实际被计数的时间
  • raw - 值计数器,包含事件实际被计数期间的事件计数值
  • scaled - 值计数器,包含事件连续计数时的近似值,使用 scaled = raw * (enabled / running) 公式

RAS Daemon 输入插件

(Telegraf 1.16.0+)

此插件收集和计数 RASDaemon 提供的机器检查错误指标。平台可靠性、可用性和可维护性(Intel® Run Sure Technology 的一部分)是现代数据中心中使用的关键功能,用于确保客户工作负载所需的质量服务。基本的 RAS 要求是提供与 RAS 相关的平台遥测数据,这使 Orchestrator/数据中心管理员能够监控平台的健康状况,并在必要时采取纠正/预防措施。

RAS Daemon 输入插件公开的计数器

  • 读取操作期间所有内存控制器上的已纠正错误计数
  • 读取操作期间所有内存控制器上的未纠正错误计数(包括可恢复错误和致命错误)
  • 写入操作期间所有内存控制器上的已纠正错误计数
  • 写入操作期间所有内存控制器上的未纠正错误计数(包括可恢复错误和致命错误)
  • 指令和数据缓存 Level0、Level1 上的错误计数
  • TLB Level0、Level1 上的错误计数
  • 与 Level 2 缓存相关的错误计数
  • Intel® UPI 错误
  • MCE 报告的基本处理器错误计数器(简单错误代码)
  • 处理器通过 MCE 报告的 BUS 错误计数器
  • MCE 报告的内部计时器错误计数器
  • 当 SMM 处理程序尝试在 SMRR 指定的范围之外执行时,MCE 报告的 SMM 处理程序代码访问冲突计数器
  • MCE 报告的内部奇偶校验错误计数器
  • MCE 报告的功能冗余检查错误计数器
  • MCE 报告的外部错误计数器(由来自另一个处理器的总线初始化引起)
  • MCE 报告的内部微代码 ROM 中的奇偶校验错误计数器
  • MCE 返回的未分类错误计数器

Intel® Dynamic Load Balancer (Intel® DLB) 输入插件

(Telegraf 1.25.0+)

此插件收集由使用数据平面开发套件 (DPDK) 构建的应用程序公开的指标,DPDK 是一组广泛的开源库,旨在加速数据包处理工作负载。该插件还使用分叉驱动程序。更具体地说,它针对使用 Intel® DLB 作为通过分叉驱动程序访问的 eventdev 设备(允许从内核和用户空间访问)的应用程序。

Intel® Dynamic Load Balancer (Intel® DLB) 是一种 PCIe 设备,可在 CPU 核心之间提供负载均衡、优先级排序的事件(即数据包)调度,从而实现高效的核心到核心通信。它是英特尔最新 Intel® Xeon® 设备中提供的硬件加速器。它支持 DPDK 事件设备库的事件驱动编程模型。该库用于数据包处理管道,以实现多核可扩展性、动态负载均衡以及各种数据包分发和同步方案。

此插件提供的一些关键指标包括

  • eventdev 的统计信息
  • eventdev 端口的统计信息
  • eventdev 队列的统计信息
  • 与指定 eventdev 端口链接的队列列表以及与每个链接关联的服务优先级

数据平面开发套件 (DPDK) 输入插件

(Telegraf 1.19.0+)

此插件收集由使用数据平面开发套件 (DPDK) 构建的应用程序公开的指标,DPDK 是一组广泛的开源库,旨在加速数据包处理工作负载。

DPDK 提供了 API,可以从 DPDK 应用程序使用的设备公开各种统计信息,并可以直接从应用程序公开 KPI 指标。设备统计信息包括 NIC 上可用的常见统计信息,例如接收和发送的数据包、接收和发送的字节数等。除了这些通用统计信息外,还提供扩展统计信息 API,该 API 提供更详细的、特定于驱动程序的指标,这些指标不能作为通用统计信息使用。

此插件提供的一些关键指标包括

  • 基本设备统计信息
  • 扩展设备统计信息
  • 链路状态(启动/关闭)
  • 特定于应用程序的指标

英特尔基带加速器输入插件

(Telegraf 1.27.0+)

此插件从专用和集成英特尔设备收集指标,这些设备提供无线基带硬件加速。这些设备在加速 5G 和 4G 虚拟化无线接入网 (vRAN) 工作负载方面发挥着关键作用,从而提高了商用现成平台的整体计算能力。

支持的硬件

  • Intel® vRAN Boost 集成加速器
    • 配备 Intel® vRAN Boost 的第四代英特尔® 至强® 可扩展处理器(也称为 Sapphire Rapids Edge Enhanced / SPR-EE)
  • 连接到 PCI 总线的外部扩展卡
    • Intel® vRAN 专用加速器 ACC100 SoC(代号 Mount Bryce)

英特尔基带设备并集成了对 5G 和 LTE(长期演进)网络至关重要的各种功能,包括例如

  • 前向纠错 (FEC) 处理,
  • 4G Turbo FEC 处理,
  • 5G 低密度奇偶校验 (LDPC)
  • 快速傅里叶变换 (FFT) 模块,为 5G 探测参考信号 (SRS) 提供 DFT/iDFT 处理卸载
  • 公开的指标包含有关以下方面的信息
  • 指标类型:“code_blocks”、“data_bytes”、“per_engine”及其值
  • 操作类型:“5GUL”、“5GDL”、“4GUL”、“4GDL”、“FFT”
  • 虚拟功能号
  • 引擎编号

Libvirt 输入插件

(Telegraf 1.25.0+)

此插件通过 Libvirt API 收集有关系统上虚拟化访客的统计信息,该 API 由 RedHat 的新兴技术组创建。指标直接从主机系统上的虚拟机监控程序收集,这意味着无需在访客系统上安装和配置 Telegraf。

可以公开以下统计信息组的所有可用指标

  • 状态
  • cpu_total
  • balloon
  • vcpu
  • net
  • perf
  • block
  • iothread
  • memory
  • dirtyrate
  • vcpu_mapping - 映射到特定 VCPU 的物理 CPU 列表

P4 Runtime 输入插件

(Telegraf 1.26.0+)

此插件收集有关加载到网络设备上的 P4 程序中存在的计数器值的指标。指标通过与 P4Runtime 服务器的 gRPC 连接收集。

P4 是一种用于对网络设备(例如可编程交换机或可编程网络接口卡)的数据平面进行编程的语言。P4Runtime API 是一种控制平面规范,用于通过 P4 程序动态管理这些设备的数据平面元素。

以下指标针对 P4 程序中的所有计数器公开

  • 计数器中收集的字节数
  • 计数器中收集的数据包数
  • 在 P4 计数器中收集指标的索引

S.M.A.R.T. 输入插件

(Telegraf 1.5.0+,自 1.16.0+ 起提供英特尔 NVMe 设备的指标)

S.M.A.R.T. 是一种包含在计算机硬盘驱动器 (HDD) 和固态驱动器 (SSD) 中的监控系统,用于检测和报告驱动器可靠性的各种指标,旨在预测硬件故障。

该插件支持从 smartmontools 工具收集指标。我们添加了从 NVMe 驱动器(使用 nvme-cli 工具)收集统计数据的可能性,包括供应商特定的属性。

英特尔特定属性针对 NVMe 设备公开

  • 程序失败计数
  • 擦除失败计数
  • 磨损均衡计数
  • 端到端错误检测计数
  • CRC 错误计数
  • 定时工作负载、介质磨损
  • 定时工作负载、主机读取
  • 定时工作负载、计时器
  • 热节流状态
  • 重试缓冲区溢出计数器
  • PLL 锁定丢失计数
  • NAND 写入字节数
  • 主机写入字节数

关于作者

Pawel-Zak

Paweł Żak 是英特尔公司的 Telegraf 维护者兼项目技术主管,他负责启用英特尔遥测数据以便于使用。他拥有波兰格但斯克理工大学计算机科学硕士学位。当他不坐在屏幕前时,您会发现他在跑步、骑自行车或定向越野。