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

导航至

本文由 Pawel Żak 编写,他是英特尔 Telegraf 维护者和项目技术负责人。向下滚动查看作者的简介。

自 2020 年以来,英特尔团队一直为 Telegraf 做出贡献,包括来自英特尔特定平台功能(如英特尔®资源定向技术、英特尔®动态负载均衡器或基于英特尔平台的功耗统计)的遥测以及从通用工具和框架(如数据平面开发套件 (DPDK)、Libvirt、P4 运行时或可靠性、可用性和服务性 (RAS))收集的遥测。

间接地(通过英特尔®平台遥测洞察)或直接地,使用我们提供的遥测数据的公司使用 InfluxData 产品。

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

以下是我们提供的 Telegraf 插件的简要总结

英特尔 PowerStat 输入插件

(Telegraf 1.17.0+)

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

这些系统的主要用例包括

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

英特尔 PowerStat 输入插件公开的指标

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

英特尔®资源调度技术(英特尔® RDT)输入插件

(Telegraf 1.16.0+)

此插件收集英特尔®资源调度技术监控功能提供的信息。英特尔® RDT提供了一个框架,包括多个组件功能,用于缓存和内存监控以及分配能力,包括缓存监控技术(CMT)、缓存分配技术(CAT)、代码和数据优先级(CDP)、内存带宽监控(MBM)和内存带宽分配(MBA)。这些技术使跟踪和控制多个应用程序、容器或平台同时运行的虚拟机(VM)使用的共享资源,如最后一级缓存(LLC)和主存储器(DRAM)带宽成为可能。英特尔® RDT可能有助于“噪声邻居”检测并帮助减少性能干扰,确保复杂环境中的关键工作负载的性能。

英特尔® RDT输入插件暴露的指标

  • 本地NUMA内存通道上相关CPU核心/进程的内存带宽利用率
  • 远程NUMA内存通道上相关CPU核心/进程的内存带宽利用率
  • 本地和远程NUMA内存通道上CPU核心/进程使用的总内存带宽
  • CPU核心/进程的总最后一级缓存占用率
  • CPU核心/进程的总最后一级缓存缺失次数
  • CPU核心/进程每周期执行的总指令数

英特尔性能监控单元插件

(Telegraf 1.21.0+)

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

性能计数器是CPU硬件寄存器,用于计数硬件事件,如执行的指令、遭受的缓存缺失或误预测的分支。它们是分析应用程序以追踪动态控制流和识别热点的基础。您可以在这里找到特定架构的事件完整列表。

此插件可以测量核心和未核事件。每个单独的核心事件可能在每个可用的CPU核心上分别计数。相比之下,未核事件可以放置在指定CPU封装内的许多PMU中。该插件允许选择应在上面执行计数的核心ID(核心事件)或插槽ID(未核事件)。未核事件在所有插槽的PMU上单独激活,可以公开为单独的测量值或汇总为一个测量值。

以下计数器为每个激活的核心或未核事件公开

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

RAS守护进程输入插件

(Telegraf 1.16.0+)

此插件收集和计算RASDaemon提供的机器检查错误的指标。平台可靠性、可用性和服务性(英特尔®运行确保技术的一部分)是现代数据中心中用于确保客户工作负载所需服务质量的关键功能。RAS的基本要求是提供与RAS相关的平台遥测,这允许编排器/数据中心管理员监控平台健康,并在必要时采取纠正/预防措施。

RAS守护进程输入插件公开的计数器

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

Intel® 动态负载均衡器(Intel® DLB)输入插件

(Telegraf 1.25.0+)

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

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

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

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

数据平面开发工具包(DPDK)输入插件

(Telegraf 1.19.0+)

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

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

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

  • 基本设备统计信息
  • 扩展设备统计信息
  • 链路上下文状态
  • 应用程序特定的指标

Intel基带加速器输入插件

(Telegraf 1.27.0+)

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

支持的硬件

  • Intel® vRAN Boost 集成加速器
    • 第 4 代 Intel® Xeon® 可扩展处理器,带有 Intel® vRAN Boost(也称为 Sapphire Rapids Edge Enhanced / SPR-EE)
  • 连接到 PCI 总线的扩展卡
    • Intel® vRAN 专用加速器 ACC100 SoC(代号 Mount Bryce)

Intel 基带设备,并集成对 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 收集系统上虚拟化客机的统计信息,由 RedHat 的新兴技术小组创建。指标直接从宿主系统上的虚拟机收集,这意味着 Telegraf 不需要在客户机上安装和配置。

以下统计组中所有可用的指标都可以公开

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

P4 运行时输入插件

(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+ 可用 Intel NVMe 设备的指标)

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

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

为 NVMe 设备公开了 Intel 特定属性

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

关于作者

Pawel-Zak

帕维尔·扎克是英特尔公司的Telegraf维护者和技术项目负责人,负责使英特尔遥测数据易于消费。他拥有波兰格但斯克理工大学计算机科学的硕士学位。当他不在电脑前时,你可以找到他跑步、骑自行车或进行定向越野。