实验性
otelcol.receiver.vcenter
实验性:这是一个实验性组件。实验性组件可能会频繁进行重大更改,并且可能会被移除,而没有等效的替代品。必须将
stability.level
标志设置为experimental
才能使用该组件。
otelcol.receiver.vcenter
接受来自运行 VMware vSphere API 的 vCenter 或 ESXi 主机的指标,并将其转发到其他 otelcol.*
组件。
注意:
otelcol.receiver.vcenter
是对来自otelcol-contrib
发行版的上游 OpenTelemetry Collectorvcenter
接收器的封装。错误报告或功能请求将在必要时重定向到上游存储库。
可以指定多个 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 | 启用 SDK 路径的 vCenter Server 或 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 | 用于验证服务器的 CA PEM 编码文本。 | 否 | |
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 | 设置后,验证服务器证书的主机名。 | 否 |
如果服务器不支持 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 文档。
metrics 块
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
vcenter.cluster.cpu.effective | metric | 启用 vcenter.cluster.cpu.effective 指标。 | true | 否 |
vcenter.cluster.cpu.usage | metric | 启用 vcenter.cluster.cpu.usage 指标。 | 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.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.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.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.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 | 否 |
level | string | 控制包装的收集器发出的指标的详细程度。 | "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
块配置一组组件,用于将生成的遥测数据转发到这些组件。
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
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://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
可以接受来自以下组件的参数
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能使连接正常工作。有关更多详细信息,请参阅链接的文档。