菜单
文档breadcrumb arrow Grafana Alloybreadcrumb arrow 参考breadcrumb arrow 组件breadcrumb arrow otelcolbreadcrumb arrow otelcol.receiver.vcenter
开源版本

实验性

otelcol.receiver.vcenter

实验性:这是一个实验性组件。实验性组件可能会频繁发生破坏性更改,并且可能被删除而没有等效的替代品。必须将 stability.level 标志设置为 experimental 才能使用该组件。

otelcol.receiver.vcenter 接收来自运行 VMware vSphere API 的 vCenter 或 ESXi 主机的指标,并将其转发到其他 otelcol.* 组件。

注意otelcol.receiver.vcenter 是 OpenTelemetry Collector 上游 otelcol-contrib 分发版中 vcenter 接收器的包装器。如有必要,错误报告或功能请求将被重定向到上游仓库。

通过赋予不同的标签,可以指定多个 otelcol.receiver.vcenter 组件。

可收集的完整指标列表可在vcenter 接收器文档中找到。

先决条件

此接收器已构建为支持以下 ESXi 和 vCenter 版本:

  • 8
  • 7.0

必须指定一个分配有 vSphere “只读” 用户并具有对 vCenter 服务器、集群和所有后续被监控资源的权限,接收器才能检索有关它们的信息。

用法

alloy
otelcol.receiver.vcenter "LABEL" {
  endpoint = "VCENTER_ENDPOINT"
  username = "VCENTER_USERNAME"
  password = "VCENTER_PASSWORD"

  output {
    metrics = [...]
  }
}

参数

otelcol.receiver.vcenter 支持以下参数:

名称类型描述默认值必需
endpointstringvCenter Server 或已启用 SDK 路径的 ESXi 主机的端点。
usernamestring用于认证的用户名。
passwordstring用于认证的密码。
collection_intervalduration定义收集指标的频率。"1m"
initial_delayduration定义此接收器在启动前等待的时间。"1s"
timeoutduration定义底层 HTTP 客户端的超时时间。"0s"

endpoint 的格式为 <protocol>://<hostname>。例如,https://vcsa.hostname.localnet

otelcol.receiver.vcenter 的定义中支持以下块:

层次描述必需
tlstls为 HTTP 客户端配置 TLS。
metricsmetrics配置哪些指标将发送到下游组件。
resource_attributesresource_attributes为发送到下游组件的指标配置资源属性。
debug_metricsdebug_metrics配置此组件用于监控其状态生成的指标。
outputoutput配置将接收到的遥测数据发送到何处。

tls 块

tls 块配置用于服务器的 TLS 设置。如果未提供 tls 块,则连接到服务器时不会使用 TLS。

支持以下参数:

名称类型描述默认值必需
ca_filestringCA 文件路径。
ca_pemstring用于验证服务器的 PEM 编码的 CA 文本。
cert_filestringTLS 证书路径。
cert_pemstring用于客户端认证的 PEM 编码的证书文本。
insecure_skip_verifyboolean忽略不安全的服务器 TLS 证书。
include_system_ca_certs_poolboolean是否在证书颁发机构旁边加载系统证书颁发机构池。false
insecureboolean连接到配置的服务器时禁用 TLS。
key_filestringTLS 证书密钥路径。
key_pemsecret用于客户端认证的 PEM 编码的密钥文本。
max_versionstring连接可接受的最大 TLS 版本。"TLS 1.3"
min_versionstring连接可接受的最小 TLS 版本。"TLS 1.2"
cipher_suiteslist(string)TLS 传输可使用的一系列 TLS 密码套件。[]
reload_intervalduration证书重新加载的时间间隔。"0s"
server_namestring设置后验证服务器证书的主机名。
curve_preferenceslist(string)握手时使用的椭圆曲线集。[]

如果服务器不支持 TLS,您必须将 insecure 参数设置为 true

要禁用与服务器连接的 tls,请将 insecure 参数设置为 true

如果 reload_interval 设置为 "0s",则证书永远不会重新加载。

以下参数对互斥,不能同时设置:

  • ca_pemca_file
  • cert_pemcert_file
  • key_pemkey_file

如果 cipher_suites 留空,则使用安全的默认列表。有关支持的密码套件列表,请参阅Go TLS 文档

curve_preferences 参数决定了握手期间优先使用的椭圆曲线集,按优先级顺序排列。如果未提供,则使用默认列表。可用的椭圆曲线集有 X25519P521P256P384

metrics 块

名称类型描述默认值必需
vcenter.cluster.cpu.effectivemetric启用 vcenter.cluster.cpu.effective 指标。true
vcenter.cluster.cpu.limitmetric启用 vcenter.cluster.cpu.limit 指标。true
vcenter.cluster.host.countmetric启用 vcenter.cluster.host.count 指标。true
vcenter.cluster.memory.effectivemetric启用 vcenter.cluster.memory.effective 指标。true
vcenter.cluster.memory.limitmetric启用 vcenter.cluster.memory.limit 指标。true
vcenter.cluster.vm.countmetric启用 vcenter.cluster.vm.count 指标。true
vcenter.cluster.vm_template.countmetric启用 vcenter.cluster.vm_template.count 指标。true
vcenter.cluster.vsan.congestionsmetric启用 vcenter.cluster.vsan.congestions 指标。true
vcenter.cluster.vsan.latency.avgmetric启用 vcenter.cluster.vsan.latency.avg 指标。true
vcenter.cluster.vsan.operationsmetric启用 vcenter.cluster.vsan.operations 指标。true
vcenter.cluster.vsan.throughputmetric启用 vcenter.cluster.vsan.throughput 指标。true
vcenter.datacenter.cluster.countmetric启用 vcenter.datacenter.cluster.count 指标。true
vcenter.datacenter.cpu.limitmetric启用 vcenter.datacenter.cpu.limit 指标。true
vcenter.datacenter.datastore.countmetric启用 vcenter.datacenter.datastore.count 指标。true
vcenter.datacenter.disk.spacemetric启用 vcenter.datacenter.disk.space 指标。true
vcenter.datacenter.host.countmetric启用 vcenter.datacenter.host.count 指标。true
vcenter.datacenter.memory.limitmetric启用 vcenter.datacenter.memory.limit 指标。true
vcenter.datacenter.vm.countmetric启用 vcenter.datacenter.vm.count 指标。true
vcenter.datastore.disk.usagemetric启用 vcenter.datastore.disk.usage 指标。true
vcenter.datastore.disk.utilizationmetric启用 vcenter.datastore.disk.utilization 指标。true
vcenter.host.cpu.capacitymetric启用 vcenter.host.cpu.capacity 指标。true
vcenter.host.cpu.reservedmetric启用 vcenter.host.cpu.reserved 指标。true
vcenter.host.cpu.usagemetric启用 vcenter.host.cpu.usage 指标。true
vcenter.host.cpu.utilizationmetric启用 vcenter.host.cpu.utilization 指标。true
vcenter.host.disk.latency.avgmetric启用 vcenter.host.disk.latency.avg 指标。true
vcenter.host.disk.latency.maxmetric启用 vcenter.host.disk.latency.max 指标。true
vcenter.host.disk.throughputmetric启用 vcenter.host.disk.throughput 指标。true
vcenter.host.memory.capacitymetric启用 vcenter.host.memory.capacity 指标。false
vcenter.host.memory.usagemetric启用 vcenter.host.memory.usage 指标。true
vcenter.host.memory.utilizationmetric启用 vcenter.host.memory.utilization 指标。true
vcenter.host.network.packet.ratemetric启用 vcenter.host.network.packet.rate 指标。true
vcenter.host.network.packet.error.ratemetric启用 vcenter.host.network.packet.error.rate 指标。true
vcenter.host.network.packet.drop.ratemetric启用 vcenter.host.network.packet.drop.rate 指标。true
vcenter.host.network.throughputmetric启用 vcenter.host.network.throughput 指标。true
vcenter.host.network.usagemetric启用 vcenter.host.network.usage 指标。true
vcenter.host.vsan.cache.hit_ratemetric启用 vcenter.host.vsan.cache.hit_rate 指标。true
vcenter.host.vsan.congestionsmetric启用 vcenter.host.vsan.congestions 指标。true
vcenter.host.vsan.latency.avgmetric启用 vcenter.host.vsan.latency.avg 指标。true
vcenter.host.vsan.operationsmetric启用 vcenter.host.vsan.operations 指标。true
vcenter.host.vsan.throughputmetric启用 vcenter.host.vsan.throughput 指标。true
vcenter.resource_pool.cpu.sharesmetric启用 vcenter.resource_pool.cpu.shares 指标。true
vcenter.resource_pool.cpu.usagemetric启用 vcenter.resource_pool.cpu.usage 指标。true
vcenter.resource_pool.memory.balloonedmetric启用 vcenter.resource_pool.memory.ballooned 指标。true
vcenter.resource_pool.memory.grantedmetric启用 vcenter.resource_pool.memory.granted 指标。true
vcenter.resource_pool.memory.sharesmetric启用 vcenter.resource_pool.memory.shares 指标。true
vcenter.resource_pool.memory.swappedmetric启用 vcenter.resource_pool.memory.swapped 指标。true
vcenter.resource_pool.memory.usagemetric启用 vcenter.resource_pool.memory.usage 指标。true
vcenter.vm.cpu.readinessmetric启用 vcenter.vm.cpu.readiness 指标。true
vcenter.vm.cpu.timemetric启用 vcenter.vm.cpu.time 指标。false
vcenter.vm.cpu.usagemetric启用 vcenter.vm.cpu.usage 指标。true
vcenter.vm.cpu.utilizationmetric启用 vcenter.vm.cpu.utilization 指标。true
vcenter.vm.disk.latency.avgmetric启用 vcenter.vm.disk.latency.avg 指标。true
vcenter.vm.disk.latency.maxmetric启用 vcenter.vm.disk.latency.max 指标。true
vcenter.vm.disk.throughputmetric启用 vcenter.vm.disk.throughput 指标。true
vcenter.vm.disk.usagemetric启用 vcenter.vm.disk.usage 指标。true
vcenter.vm.disk.utilizationmetric启用 vcenter.vm.disk.utilization 指标。true
vcenter.vm.memory.balloonedmetric启用 vcenter.vm.memory.ballooned 指标。true
vcenter.vm.memory.grantedmetric启用 vcenter.vm.memory.granted 指标。false
vcenter.vm.memory.swappedmetric启用 vcenter.vm.memory.swapped 指标。true
vcenter.vm.memory.swapped_ssdmetric启用 vcenter.vm.memory.swapped_ssd 指标。true
vcenter.vm.memory.usagemetric启用 vcenter.vm.memory.usage 指标。true
vcenter.vm.memory.utilizationmetric启用 vcenter.vm.memory.utilization 指标。true
vcenter.vm.network.broadcast.packet.ratemetric启用 vcenter.vm.network.broadcast.packet.rate 指标。false
vcenter.vm.network.multicast.packet.ratemetric启用 vcenter.vm.network.multicast.packet.rate 指标。false
vcenter.vm.network.packet.ratemetric启用 vcenter.vm.network.packet.rate 指标。true
vcenter.vm.network.packet.drop.ratemetric启用 vcenter.vm.network.packet.drop.rate 指标。true
vcenter.vm.network.throughputmetric启用 vcenter.vm.network.throughput 指标。true
vcenter.vm.network.usagemetric启用 vcenter.vm.network.usage 指标。true
vcenter.vm.vsan.latency.avgmetric启用 vcenter.vm.vsan.latency.avg 指标。true
vcenter.vm.vsan.operationsmetric启用 vcenter.vm.vsan.operations 指标。true
vcenter.vm.vsan.throughputmetric启用 vcenter.vm.vsan.throughput 指标。true

metric 块

名称类型描述默认值必需
enabledboolean是否启用该指标。true

resource_attributes 块

名称类型描述默认值必需
vcenter.datacenter.nameresource_attribute启用 vcenter.datacenter.name 资源属性。true
vcenter.cluster.nameresource_attribute启用 vcenter.cluster.name 资源属性。true
vcenter.datastore.nameresource_attribute启用 vcenter.cluster.resource_pool 资源属性。true
vcenter.host.nameresource_attribute启用 vcenter.host.name 资源属性。true
vcenter.resource_pool.inventory_pathresource_attribute启用 vcenter.resource_pool.inventory_path 资源属性。true
vcenter.resource_pool.nameresource_attribute启用 vcenter.resource_pool.name 资源属性。true
vcenter.virtual_app.inventory_pathresource_attribute启用 vcenter.virtual_app.inventory_path 资源属性。true
vcenter.virtual_app.nameresource_attribute启用 vcenter.virtual_app.name 资源属性。true
vcenter.vm.idresource_attribute启用 vcenter.vm.id 资源属性。true
vcenter.vm.nameresource_attribute启用 vcenter.vm.name 资源属性。true
vcenter.vm_template.idresource_attribute启用 vcenter.vm_template.id 资源属性。true
vcenter.vm_template.nameresource_attribute启用 vcenter.vm_template.name 资源属性。true

resource_attribute 块

名称类型描述默认值必需
enabledboolean是否启用资源属性。true

debug_metrics 块

debug_metrics 块配置此组件用于监控其状态生成的指标。

支持以下参数:

名称类型描述默认值必需
disable_high_cardinality_metricsboolean是否禁用某些高基数指标。true

disable_high_cardinality_metrics 是 Grafana Alloy 中等效于 OpenTelemetry Collector 的 telemetry.disableHighCardinalityMetrics 特性门。它会删除可能导致高基数指标的属性。例如,关于 HTTP 和 gRPC 连接的指标中带有 IP 地址和端口号的属性会被删除。

注意

如果配置了 disable_high_cardinality_metrics,它仅适用于 otelcol.exporter.*otelcol.receiver.* 组件。

output 块

output 块配置一组组件,用于转发生成的遥测数据。

支持以下参数:

名称类型描述默认值必需
logslist(otelcol.Consumer)发送日志的消费者列表。[]
metricslist(otelcol.Consumer)发送指标的消费者列表。[]
traceslist(otelcol.Consumer)发送跟踪的消费者列表。[]

您必须指定 output 块,但其所有参数都是可选的。默认情况下,遥测数据会被丢弃。相应地配置 metricslogstraces 参数,以便将遥测数据发送到其他组件。

导出的字段

otelcol.receiver.vcenter 不导出任何字段。

组件健康状态

仅当给定无效配置时,otelcol.receiver.vcenter 才会被报告为不健康。

调试信息

otelcol.receiver.vcenter 不暴露任何组件特定的调试信息。

示例

此示例通过批处理处理器转发接收到的遥测数据,最终将其发送到支持 OTLP 的端点:

alloy
otelcol.receiver.vcenter "default" {
  endpoint = "https://:15672"
  username = "otelu"
  password = "password"

  output {
    metrics = [otelcol.processor.batch.default.input]
  }
}

otelcol.processor.batch "default" {
  output {
    metrics = [otelcol.exporter.otlp.default.input]
  }
}

otelcol.exporter.otlp "default" {
  client {
    endpoint = sys.env("OTLP_ENDPOINT")
  }
}

兼容组件

otelcol.receiver.vcenter 可以接受来自以下组件的参数:

注意

连接某些组件可能没有意义,或者组件可能需要进一步配置才能使连接正常工作。有关更多详细信息,请参阅链接文档。