菜单
文档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 是对来自 otelcol-contrib 发行版的上游 OpenTelemetry Collector 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 支持以下参数

名称类型描述默认值必需
endpointstring启用 SDK 路径的 vCenter Server 或 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用于验证服务器的 CA PEM 编码文本。
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设置后,验证服务器证书的主机名。

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

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

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

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

  • ca_pemca_file
  • cert_pemcert_file
  • key_pemkey_file

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

metrics 块

名称类型描述默认值必需
vcenter.cluster.cpu.effectivemetric启用 vcenter.cluster.cpu.effective 指标。true
vcenter.cluster.cpu.usagemetric启用 vcenter.cluster.cpu.usage 指标。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.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.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.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.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
levelstring控制包装的收集器发出的指标的详细程度。"detailed"

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

注意

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

level 是 Alloy 等效于 OpenTelemetry Collector 中的 telemetry.metrics.level 功能门。可能的值为 "none""basic""normal""detailed"

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://127.0.0.1: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 可以接受来自以下组件的参数

注意

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