实验性
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 服务器、集群和所有后续被监控资源的权限,接收器才能检索有关它们的信息。
用法
otelcol.receiver.vcenter "LABEL" {
endpoint = "VCENTER_ENDPOINT"
username = "VCENTER_USERNAME"
password = "VCENTER_PASSWORD"
output {
metrics = [...]
}
}
参数
otelcol.receiver.vcenter
支持以下参数:
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
endpoint | string | vCenter Server 或已启用 SDK 路径的 ESXi 主机的端点。 | 是 | |
username | string | 用于认证的用户名。 | 是 | |
password | string | 用于认证的密码。 | 是 | |
collection_interval | duration | 定义收集指标的频率。 | "1m" | 否 |
initial_delay | duration | 定义此接收器在启动前等待的时间。 | "1s" | 否 |
timeout | duration | 定义底层 HTTP 客户端的超时时间。 | "0s" | 否 |
endpoint
的格式为 <protocol>://<hostname>
。例如,https://vcsa.hostname.localnet
。
块
otelcol.receiver.vcenter
的定义中支持以下块:
层次 | 块 | 描述 | 必需 |
---|---|---|---|
tls | tls | 为 HTTP 客户端配置 TLS。 | 否 |
metrics | metrics | 配置哪些指标将发送到下游组件。 | 否 |
resource_attributes | resource_attributes | 为发送到下游组件的指标配置资源属性。 | 否 |
debug_metrics | debug_metrics | 配置此组件用于监控其状态生成的指标。 | 否 |
output | output | 配置将接收到的遥测数据发送到何处。 | 是 |
tls 块
tls
块配置用于服务器的 TLS 设置。如果未提供 tls
块,则连接到服务器时不会使用 TLS。
支持以下参数:
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
ca_file | string | CA 文件路径。 | 否 | |
ca_pem | string | 用于验证服务器的 PEM 编码的 CA 文本。 | 否 | |
cert_file | string | TLS 证书路径。 | 否 | |
cert_pem | string | 用于客户端认证的 PEM 编码的证书文本。 | 否 | |
insecure_skip_verify | boolean | 忽略不安全的服务器 TLS 证书。 | 否 | |
include_system_ca_certs_pool | boolean | 是否在证书颁发机构旁边加载系统证书颁发机构池。 | false | 否 |
insecure | boolean | 连接到配置的服务器时禁用 TLS。 | 否 | |
key_file | string | TLS 证书密钥路径。 | 否 | |
key_pem | secret | 用于客户端认证的 PEM 编码的密钥文本。 | 否 | |
max_version | string | 连接可接受的最大 TLS 版本。 | "TLS 1.3" | 否 |
min_version | string | 连接可接受的最小 TLS 版本。 | "TLS 1.2" | 否 |
cipher_suites | list(string) | TLS 传输可使用的一系列 TLS 密码套件。 | [] | 否 |
reload_interval | duration | 证书重新加载的时间间隔。 | "0s" | 否 |
server_name | string | 设置后验证服务器证书的主机名。 | 否 | |
curve_preferences | list(string) | 握手时使用的椭圆曲线集。 | [] | 否 |
如果服务器不支持 TLS,您必须将 insecure
参数设置为 true
。
要禁用与服务器连接的 tls
,请将 insecure
参数设置为 true
。
如果 reload_interval
设置为 "0s"
,则证书永远不会重新加载。
以下参数对互斥,不能同时设置:
ca_pem
和ca_file
cert_pem
和cert_file
key_pem
和key_file
如果 cipher_suites
留空,则使用安全的默认列表。有关支持的密码套件列表,请参阅Go TLS 文档。
curve_preferences
参数决定了握手期间优先使用的椭圆曲线集,按优先级顺序排列。如果未提供,则使用默认列表。可用的椭圆曲线集有 X25519
、P521
、P256
和 P384
。
metrics 块
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
vcenter.cluster.cpu.effective | metric | 启用 vcenter.cluster.cpu.effective 指标。 | true | 否 |
vcenter.cluster.cpu.limit | metric | 启用 vcenter.cluster.cpu.limit 指标。 | true | 否 |
vcenter.cluster.host.count | metric | 启用 vcenter.cluster.host.count 指标。 | true | 否 |
vcenter.cluster.memory.effective | metric | 启用 vcenter.cluster.memory.effective 指标。 | true | 否 |
vcenter.cluster.memory.limit | metric | 启用 vcenter.cluster.memory.limit 指标。 | true | 否 |
vcenter.cluster.vm.count | metric | 启用 vcenter.cluster.vm.count 指标。 | true | 否 |
vcenter.cluster.vm_template.count | metric | 启用 vcenter.cluster.vm_template.count 指标。 | true | 否 |
vcenter.cluster.vsan.congestions | metric | 启用 vcenter.cluster.vsan.congestions 指标。 | true | 否 |
vcenter.cluster.vsan.latency.avg | metric | 启用 vcenter.cluster.vsan.latency.avg 指标。 | true | 否 |
vcenter.cluster.vsan.operations | metric | 启用 vcenter.cluster.vsan.operations 指标。 | true | 否 |
vcenter.cluster.vsan.throughput | metric | 启用 vcenter.cluster.vsan.throughput 指标。 | true | 否 |
vcenter.datacenter.cluster.count | metric | 启用 vcenter.datacenter.cluster.count 指标。 | true | 否 |
vcenter.datacenter.cpu.limit | metric | 启用 vcenter.datacenter.cpu.limit 指标。 | true | 否 |
vcenter.datacenter.datastore.count | metric | 启用 vcenter.datacenter.datastore.count 指标。 | true | 否 |
vcenter.datacenter.disk.space | metric | 启用 vcenter.datacenter.disk.space 指标。 | true | 否 |
vcenter.datacenter.host.count | metric | 启用 vcenter.datacenter.host.count 指标。 | true | 否 |
vcenter.datacenter.memory.limit | metric | 启用 vcenter.datacenter.memory.limit 指标。 | true | 否 |
vcenter.datacenter.vm.count | metric | 启用 vcenter.datacenter.vm.count 指标。 | true | 否 |
vcenter.datastore.disk.usage | metric | 启用 vcenter.datastore.disk.usage 指标。 | true | 否 |
vcenter.datastore.disk.utilization | metric | 启用 vcenter.datastore.disk.utilization 指标。 | true | 否 |
vcenter.host.cpu.capacity | metric | 启用 vcenter.host.cpu.capacity 指标。 | true | 否 |
vcenter.host.cpu.reserved | metric | 启用 vcenter.host.cpu.reserved 指标。 | true | 否 |
vcenter.host.cpu.usage | metric | 启用 vcenter.host.cpu.usage 指标。 | true | 否 |
vcenter.host.cpu.utilization | metric | 启用 vcenter.host.cpu.utilization 指标。 | true | 否 |
vcenter.host.disk.latency.avg | metric | 启用 vcenter.host.disk.latency.avg 指标。 | true | 否 |
vcenter.host.disk.latency.max | metric | 启用 vcenter.host.disk.latency.max 指标。 | true | 否 |
vcenter.host.disk.throughput | metric | 启用 vcenter.host.disk.throughput 指标。 | true | 否 |
vcenter.host.memory.capacity | metric | 启用 vcenter.host.memory.capacity 指标。 | false | 否 |
vcenter.host.memory.usage | metric | 启用 vcenter.host.memory.usage 指标。 | true | 否 |
vcenter.host.memory.utilization | metric | 启用 vcenter.host.memory.utilization 指标。 | true | 否 |
vcenter.host.network.packet.rate | metric | 启用 vcenter.host.network.packet.rate 指标。 | true | 否 |
vcenter.host.network.packet.error.rate | metric | 启用 vcenter.host.network.packet.error.rate 指标。 | true | 否 |
vcenter.host.network.packet.drop.rate | metric | 启用 vcenter.host.network.packet.drop.rate 指标。 | true | 否 |
vcenter.host.network.throughput | metric | 启用 vcenter.host.network.throughput 指标。 | true | 否 |
vcenter.host.network.usage | metric | 启用 vcenter.host.network.usage 指标。 | true | 否 |
vcenter.host.vsan.cache.hit_rate | metric | 启用 vcenter.host.vsan.cache.hit_rate 指标。 | true | 否 |
vcenter.host.vsan.congestions | metric | 启用 vcenter.host.vsan.congestions 指标。 | true | 否 |
vcenter.host.vsan.latency.avg | metric | 启用 vcenter.host.vsan.latency.avg 指标。 | true | 否 |
vcenter.host.vsan.operations | metric | 启用 vcenter.host.vsan.operations 指标。 | true | 否 |
vcenter.host.vsan.throughput | metric | 启用 vcenter.host.vsan.throughput 指标。 | true | 否 |
vcenter.resource_pool.cpu.shares | metric | 启用 vcenter.resource_pool.cpu.shares 指标。 | true | 否 |
vcenter.resource_pool.cpu.usage | metric | 启用 vcenter.resource_pool.cpu.usage 指标。 | true | 否 |
vcenter.resource_pool.memory.ballooned | metric | 启用 vcenter.resource_pool.memory.ballooned 指标。 | true | 否 |
vcenter.resource_pool.memory.granted | metric | 启用 vcenter.resource_pool.memory.granted 指标。 | true | 否 |
vcenter.resource_pool.memory.shares | metric | 启用 vcenter.resource_pool.memory.shares 指标。 | true | 否 |
vcenter.resource_pool.memory.swapped | metric | 启用 vcenter.resource_pool.memory.swapped 指标。 | true | 否 |
vcenter.resource_pool.memory.usage | metric | 启用 vcenter.resource_pool.memory.usage 指标。 | true | 否 |
vcenter.vm.cpu.readiness | metric | 启用 vcenter.vm.cpu.readiness 指标。 | true | 否 |
vcenter.vm.cpu.time | metric | 启用 vcenter.vm.cpu.time 指标。 | false | 否 |
vcenter.vm.cpu.usage | metric | 启用 vcenter.vm.cpu.usage 指标。 | true | 否 |
vcenter.vm.cpu.utilization | metric | 启用 vcenter.vm.cpu.utilization 指标。 | true | 否 |
vcenter.vm.disk.latency.avg | metric | 启用 vcenter.vm.disk.latency.avg 指标。 | true | 否 |
vcenter.vm.disk.latency.max | metric | 启用 vcenter.vm.disk.latency.max 指标。 | true | 否 |
vcenter.vm.disk.throughput | metric | 启用 vcenter.vm.disk.throughput 指标。 | true | 否 |
vcenter.vm.disk.usage | metric | 启用 vcenter.vm.disk.usage 指标。 | true | 否 |
vcenter.vm.disk.utilization | metric | 启用 vcenter.vm.disk.utilization 指标。 | true | 否 |
vcenter.vm.memory.ballooned | metric | 启用 vcenter.vm.memory.ballooned 指标。 | true | 否 |
vcenter.vm.memory.granted | metric | 启用 vcenter.vm.memory.granted 指标。 | false | 否 |
vcenter.vm.memory.swapped | metric | 启用 vcenter.vm.memory.swapped 指标。 | true | 否 |
vcenter.vm.memory.swapped_ssd | metric | 启用 vcenter.vm.memory.swapped_ssd 指标。 | true | 否 |
vcenter.vm.memory.usage | metric | 启用 vcenter.vm.memory.usage 指标。 | true | 否 |
vcenter.vm.memory.utilization | metric | 启用 vcenter.vm.memory.utilization 指标。 | true | 否 |
vcenter.vm.network.broadcast.packet.rate | metric | 启用 vcenter.vm.network.broadcast.packet.rate 指标。 | false | 否 |
vcenter.vm.network.multicast.packet.rate | metric | 启用 vcenter.vm.network.multicast.packet.rate 指标。 | false | 否 |
vcenter.vm.network.packet.rate | metric | 启用 vcenter.vm.network.packet.rate 指标。 | true | 否 |
vcenter.vm.network.packet.drop.rate | metric | 启用 vcenter.vm.network.packet.drop.rate 指标。 | true | 否 |
vcenter.vm.network.throughput | metric | 启用 vcenter.vm.network.throughput 指标。 | true | 否 |
vcenter.vm.network.usage | metric | 启用 vcenter.vm.network.usage 指标。 | true | 否 |
vcenter.vm.vsan.latency.avg | metric | 启用 vcenter.vm.vsan.latency.avg 指标。 | true | 否 |
vcenter.vm.vsan.operations | metric | 启用 vcenter.vm.vsan.operations 指标。 | true | 否 |
vcenter.vm.vsan.throughput | metric | 启用 vcenter.vm.vsan.throughput 指标。 | true | 否 |
metric 块
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled | boolean | 是否启用该指标。 | true | 否 |
resource_attributes 块
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
vcenter.datacenter.name | resource_attribute | 启用 vcenter.datacenter.name 资源属性。 | true | 否 |
vcenter.cluster.name | resource_attribute | 启用 vcenter.cluster.name 资源属性。 | true | 否 |
vcenter.datastore.name | resource_attribute | 启用 vcenter.cluster.resource_pool 资源属性。 | true | 否 |
vcenter.host.name | resource_attribute | 启用 vcenter.host.name 资源属性。 | true | 否 |
vcenter.resource_pool.inventory_path | resource_attribute | 启用 vcenter.resource_pool.inventory_path 资源属性。 | true | 否 |
vcenter.resource_pool.name | resource_attribute | 启用 vcenter.resource_pool.name 资源属性。 | true | 否 |
vcenter.virtual_app.inventory_path | resource_attribute | 启用 vcenter.virtual_app.inventory_path 资源属性。 | true | 否 |
vcenter.virtual_app.name | resource_attribute | 启用 vcenter.virtual_app.name 资源属性。 | true | 否 |
vcenter.vm.id | resource_attribute | 启用 vcenter.vm.id 资源属性。 | true | 否 |
vcenter.vm.name | resource_attribute | 启用 vcenter.vm.name 资源属性。 | true | 否 |
vcenter.vm_template.id | resource_attribute | 启用 vcenter.vm_template.id 资源属性。 | true | 否 |
vcenter.vm_template.name | resource_attribute | 启用 vcenter.vm_template.name 资源属性。 | true | 否 |
resource_attribute 块
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled | boolean | 是否启用资源属性。 | true | 否 |
debug_metrics 块
debug_metrics
块配置此组件用于监控其状态生成的指标。
支持以下参数:
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
disable_high_cardinality_metrics | boolean | 是否禁用某些高基数指标。 | true | 否 |
disable_high_cardinality_metrics
是 Grafana Alloy 中等效于 OpenTelemetry Collector 的 telemetry.disableHighCardinalityMetrics
特性门。它会删除可能导致高基数指标的属性。例如,关于 HTTP 和 gRPC 连接的指标中带有 IP 地址和端口号的属性会被删除。
注意
如果配置了
disable_high_cardinality_metrics
,它仅适用于otelcol.exporter.*
和otelcol.receiver.*
组件。
output 块
output
块配置一组组件,用于转发生成的遥测数据。
支持以下参数:
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
logs | list(otelcol.Consumer) | 发送日志的消费者列表。 | [] | 否 |
metrics | list(otelcol.Consumer) | 发送指标的消费者列表。 | [] | 否 |
traces | list(otelcol.Consumer) | 发送跟踪的消费者列表。 | [] | 否 |
您必须指定 output
块,但其所有参数都是可选的。默认情况下,遥测数据会被丢弃。相应地配置 metrics
、logs
和 traces
参数,以便将遥测数据发送到其他组件。
导出的字段
otelcol.receiver.vcenter
不导出任何字段。
组件健康状态
仅当给定无效配置时,otelcol.receiver.vcenter
才会被报告为不健康。
调试信息
otelcol.receiver.vcenter
不暴露任何组件特定的调试信息。
示例
此示例通过批处理处理器转发接收到的遥测数据,最终将其发送到支持 OTLP 的端点:
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
可以接受来自以下组件的参数:
注意
连接某些组件可能没有意义,或者组件可能需要进一步配置才能使连接正常工作。有关更多详细信息,请参阅链接文档。