收集度量值
您可以从许多平台、协调器和各种应用程序(如Prometheus、JMX、StatsD, Kubernetes 和其他应用程序栈)收集指标,这些平台、协调器和应用程序在IBM Cloud® 内、IBM Cloud 外或内部均可使用。 您还可以通过创建定制度量和添加集成来添加更多度量。
度量值和标签
度量值是一种定量度量,具有一个或多个标签用于定义其特征。
使用度量值可通过统计方式分析具有数字值的数据。
度量值由时间序列表示。 时间序列是度量名称和标签键/值对的唯一组合。 例如:website_failedRequest |region='Asia', customer_ID='abc'
。 数据点是在给定时间点为时间序列生成的值。
标签分类为基础架构标签和度量值描述符标签。 每个度量值都有一组预定义的标签。 对于定制度量值,可以配置更多标签。
可以使用标签来标识和区分度量值的特征,例如:
- 可以将基础架构对象分组为逻辑层次结构。
- 可以过滤掉数据。
- 可以将聚集的数据拆分成分段。
使用 Monitoring 代理程序收集缺省度量
配置 Monitoring 代理程序时,将自动收集缺省度量的数据。 这些度量值包括可用于在监视度量值时对其进行标签,分段和显示的元数据。 您不需要在主机中进行其他检测或配置,即可获取代理程序自动收集的度量,以深入了解其中发生的情况。
要使用 IBM Cloud® Monitoring 服务监视基础结构,网络和应用程序,可以在受支持的主机上部署 Monitoring 代理程序。 主机确定可以部署的代理程序类型。 代理程序类型确定为该主机自动收集的度量。
要开始收集缺省度量值,必须针对要监视的环境配置 Monitoring 代理程序。
Monitoring 代理程序自动收集每个主机的以下类型的系统度量:
-
System hosts metrics
提供有关 CPU,内存和存储器使用情况度量的信息,可用于分析所有进程的性能和资源利用率。 -
File and File System metrics
提供有关可用于分析系统中发生的文件交互的文件和文件系统的信息。 例如,您可以找到有关打开的文件,进出的字节数或给定文件系统的使用百分比的信息。 -
Process metrics
提供有关在服务器中运行的进程的信息。 例如,您可以使用这些度量值来浏览进程数,或者获取客户机或服务器信息。 -
Network metrics
提供有关网络的信息。 它们提供对应用程序,容器和服务器之间建立的连接的洞察。 例如,您可以找到有关发送或接收的字节的信息,或者 HTTP 请求、连接和延迟的数量。 此外,对于SQL或 MongoDB,,当配置为故障排除模式时,代理会收集其他信息。
此外,Monitoring 代理程序针对每个 Kubernetes 或 Red Hat OpenShift 集群自动收集以下类型的度量值:
-
State metrics
: Kubernetes 状态度量报告在 Kubernetes 组件 (例如,部署,节点和 pod) 中运行的各种对象的运行状况和状态。 要查看缺省情况下收集的度量列表,请参阅 Kubernetes 状态。 -
Resource usage metrics
: 资源使用情况度量值报告集群中运行的工作程序 (节点) 和 pod 的 CPU 和内存的运行状况和状态。 可以按命名空间、按 Worker、按 pod、按工作负载对象(如部署、daemonSets,)分析数据。
用于非编排环境的代理程序
缺省情况下,此代理程序收集可用于监视主机的核心基础结构和网络时间序列。
有关收集的度量的列表,请参阅 可用于非编排环境的度量。
用于编排环境的代理程序
缺省情况下,此代理程序收集与非编排环境的代理程序相同的度量,还收集 Kubernetes 状态和资源使用情况度量。
有关收集的度量的列表,请参阅 可用于编排环境的度量。
使用 Monitoring 代理程序收集定制度量
Monitoring代理包含通过 Syscall、StatsD,JMX 和 Promscrape 收集指标的组件。
-
代理程序通过服务器系统调用直接从内核中抽取信息。 系统调用提供有关正在运行的进程,内存分配,网络连接,对文件系统的访问,资源使用情况等信息。
-
代理程序包含称为 Prom擦除的轻量级 Prometheus 服务器。 您可以配置代理程序以收集 Prometheus 度量值,并将其发送到 Monitoring 实例以进行存储和处理。
您必须使用 Prometheus 语法来配置 Monitoring 代理程序,以配置 scrape_config
设置并定义目标,实例和作业。
- Prom擦除基于开放式源代码 Prometheus 服务器。
- 不同的 Monitoring 代理程序版本包含对收集 Prometheus 度量的不同级别的支持。例如,Monitoring 代理程序 v10.5.0 及更高版本包含Prom擦除 v2,并且支持 Prometheus 本机服务发现。 有关 Monitoring 代理程序的更多信息,请参阅 Monitoring 代理程序发行说明。
- 有关Prom擦除版本的更多信息,请参阅 从Prom擦除 V1 迁移到 V2。
使用 Prometheus 远程写收集定制度量
您可以配置 Prometheus 远程写入,以从 Monitoring 代理程序不可用的环境收集度量值,并将其发送到 Monitoring 实例。
您可以从以下位置收集度量值:
- 现有 Prometheus 服务器。
- 可能存在时间不够长的临时或批处理作业,无法由 Monitoring 代理程序提取。
- Windows 主机和其他操作系统,其中 Monitoring 代理程序不可用
- 基于 Non-x86 的体系结构,通常在 IoT 环境或 Edge 计算上显示。
- 非容器化工作负载,如 NGNIX、自定义应用程序、RabbitMQ,等。
您可以通过 Monitoring Web UI 使用 Prometheus 远程写来监视收集的度量。 您还可以使用 PromQL 通过标准 Prometheus 查询语言来查询数据。
有关更多信息,请参阅 使用 Prometheus 远程写入收集度量。
使用 Prometheus 导出器收集定制度量
您可以使用 Prometheus 导出器从不会本机公开 Prometheus格式的度量的主机,服务或应用程序收集度量。 您可以通过 Monitoring 实例来监视这些度量。
Prometheus 导出器有不同的源:
- 官方导出器在 官方 Prometheus GitHub 组织 中提供,并且是可操作的 官方。
- Sysdig负责管理维护 集成库。 集成库是一个企业资源目录,您可以在其中找到 Kubernetes 平台和云原生服务支持的 Monitoring 集成。
您可以从不同的源收集度量,例如:
- Monitoring 代理程序不可用的主机,例如 Windows 系统或 VMware ESXi-主机系统。
- 提供了 Monitoring 代理程序的主机,但您需要收集其他类型的度量,例如 IPMI 传感器度量或硬件和内核相关度量。
- MySQL 数据库之类的服务
有关更多信息,请参阅 使用 Prometheus 导出器收集度量。
从 IBM Cloud 服务收集平台度量
平台度量值是由已启用的监视服务和 IBM Cloud中的平台公开的度量值。
只能配置每个区域的 1 IBM Cloud Monitoring 服务实例,以收集该位置中的 平台度量。
要监视服务实例的平台度量值,请在要监视的 IBM Cloud 服务实例供应所在的区域中供应 IBM Cloud Monitoring 实例。
有关更多信息,请参阅 使用平台度量。