实验性
otelcol.receiver.vcenter
实验性:这是一个实验性组件。实验性组件可能会频繁变动,甚至会被移除而不提供替代方案。要使用该组件,必须将
stability.level
标志设置为experimental
。
otelcol.receiver.vcenter
可以从运行 VMware vSphere APIs 的 vCenter 或 ESXi 主机接收度量标准,并将其转发到其他 otelcol.*
组件。
注意:
otelcol.receiver.vcenter
是 upstream OpenTelemetry Collectorvcenter
接收器的包装,来自otelcol-contrib
发行版。如需报告错误或进行功能请求,请将它们重定向到上游存储库,如果需要的话。
可以通过提供不同的标签来指定多个 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 | 字符串 | 一个连接到启用了 SDK 路径的 vCenter 服务器或 ESXi 主机的端点。 | 是 | |
username | 字符串 | 用于身份验证的用户名。 | 是 | |
password | 字符串 | 用于身份验证的密码。 | 是 | |
collection_interval | 持续时间 | 定义收集度量标准的频率。 | "1m" | 否 |
initial_delay | 持续时间 | 定义接收器启动前的等待时间。 | "1s" | 否 |
timeout | 持续时间 | 定义底层 HTTP 客户端的超时时间。 | "0s" | 否 |
端点(endpoint)的格式为 <协议>://<主机名>
。例如,https://vcsa.hostname.localnet
。
块(Blocks)
以下块在 otelcol.receiver.vcenter
的定义中受支持
层次结构(Hierarchy) | 块(Block) | 描述 | 必需 |
---|---|---|---|
tls | tls | 配置 HTTP 客户端的 TLS。 | 否 |
metrics | metrics | 配置将发送到下游组件的哪些指标。 | 否 |
resource_attributes | resource_attributes | 为发送到下游组件的指标配置资源属性。 | 否 |
debug_metrics | debug_metrics | 配置此组件生成以监控其状态的指标。 | 否 |
output | output | 配置将接收到的遥测数据发送到何处。 | 是 |
tls 块
tls
块配置用于服务器的 TLS 设置。如果没有提供 tls
块,则不会使用 TLS 连接到服务器。
以下参数受支持
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
ca_file | 字符串 | CA 文件的路径。 | 否 | |
ca_pem | 字符串 | 用于验证服务器的 CA PEM 编码文本。 | 否 | |
cert_file | 字符串 | TLS 证书的路径。 | 否 | |
cert_pem | 字符串 | 客户端认证的 PEM 编码证书文本。 | 否 | |
insecure_skip_verify | 布尔型 | 忽略不安全的服务器 TLS 证书。 | 否 | |
include_system_ca_certs_pool | 布尔型 | 是否在证书颁发机构的基础上加载系统证书颁发机构池。 | false | 否 |
insecure | 布尔型 | 在连接到配置的服务器时禁用 TLS。 | 否 | |
key_file | 字符串 | TLS 证书键的路径。 | 否 | |
key_pem | secret | 客户端认证的 PEM 编码密钥文本。 | 否 | |
max_version | 字符串 | 连接可接受的 TLS 版本的最大值。 | "TLS 1.3" | 否 |
min_version | 字符串 | 连接可接受的最小 TLS 版本。 | "TLS 1.2" | 否 |
cipher_suites | 列表(string) | 可以使用的 TLS 密码套件的列表。 | [] | 否 |
reload_interval | 持续时间 | 证书重新加载的持续时间。 | "0s" | 否 |
server_name | 字符串 | 设置时验证服务器证书的域名。 | 否 |
如果服务器不支持 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 文档](https://golang.ac.cn/src/crypto/tls/cipher_suites.go)。
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.datacenter.cluster.count | metric | 启用 vcenter.datacenter.cluster.count 指标。 | false | 否 |
vcenter.datacenter.cpu.limit | metric | 启用 vcenter.datacenter.cpu.limit 指标。 | false | 否 |
vcenter.datacenter.datastore.count | metric | 启用 vcenter.datacenter.datastore.count 指标。 | false | 否 |
vcenter.datacenter.disk.space | metric | 启用 vcenter.datacenter.disk.space 指标。 | false | 否 |
vcenter.datacenter.host.count | metric | 启用 vcenter.datacenter.host.count 指标。 | false | 否 |
vcenter.datacenter.memory.limit | metric | 启用 vcenter.datacenter.memory.limit 指标。 | false | 否 |
vcenter.datacenter.vm.count | metric | 启用 vcenter.datacenter.vm.count 指标。 | false | 否 |
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 | 否 |
虚拟中心的CPU保留 | metric | 启用vcenter.host.cpu.reserved 指标。 | true | 否 |
虚拟中心的CPU使用率 | metric | 启用vcenter.host.cpu.usage 指标。 | true | 否 |
虚拟中心的CPU利用率 | metric | 启用vcenter.host.cpu.utilization 指标。 | true | 否 |
虚拟中心的磁盘延迟平均 | metric | 启用vcenter.host.disk.latency.avg 指标。 | true | 否 |
虚拟中心的磁盘延迟最大 | metric | 启用vcenter.host.disk.latency.max 指标。 | true | 否 |
虚拟中心的磁盘吞吐量 | metric | 启用vcenter.host.disk.throughput 指标。 | true | 否 |
虚拟中心的内存使用 | metric | 启用vcenter.host.memory.usage 指标。 | true | 否 |
虚拟中心的内存利用率 | metric | 启用vcenter.host.memory.utilization 指标。 | true | 否 |
虚拟中心的网络数据包速率 | metric | 启用vcenter.host.network.packet.rate 指标。 | true | 否 |
虚拟中心的网络数据包错误率 | metric | 启用vcenter.host.network.packet.error.rate 指标。 | true | 否 |
虚拟中心的网络数据包丢弃率 | metric | 启用vcenter.host.network.packet.drop.rate 指标。 | true | 否 |
虚拟中心的网络吞吐量 | metric | 启用vcenter.host.network.throughput 指标。 | true | 否 |
虚拟中心的网络使用率 | metric | 启用vcenter.host.network.usage 指标。 | true | 否 |
虚拟中心资源池的CPU份额 | metric | 启用vcenter.resource_pool.cpu.shares 指标。 | true | 否 |
虚拟中心资源池的CPU使用率 | metric | 启用vcenter.resource_pool.cpu.usage 指标。 | true | 否 |
虚拟中心资源池的内存膨胀 | metric | 启用vcenter.resource_pool.memory.ballooned 指标。 | false | 否 |
虚拟中心资源池的内存分配 | metric | 启用vcenter.resource_pool.memory.granted 指标。 | false | 否 |
虚拟中心资源池的内存份额 | metric | 启用vcenter.resource_pool.memory.shares 指标。 | true | 否 |
虚拟中心资源池的内存交换 | metric | 启用vcenter.resource_pool.memory.swapped 指标。 | false | 否 |
虚拟中心资源池的内存使用 | metric | 启用vcenter.resource_pool.memory.usage 指标。 | true | 否 |
虚拟中心虚拟机的CPU就绪性 | metric | 启用vcenter.vm.cpu.readiness 指标。 | true | 否 |
虚拟中心虚拟机的CPU使用率 | metric | 启用vcenter.vm.cpu.usage 指标。 | true | 否 |
虚拟中心虚拟机的CPU利用率 | metric | 启用vcenter.vm.cpu.utilization 指标。 | true | 否 |
虚拟中心虚拟机的磁盘延迟平均 | metric | 启用vcenter.vm.disk.latency.avg 指标。 | true | 否 |
虚拟中心虚拟机的磁盘延迟最大 | metric | 启用vcenter.vm.disk.latency.max 指标。 | true | 否 |
虚拟中心虚拟机的磁盘吞吐量 | metric | 启用vcenter.vm.disk.throughput 指标。 | true | 否 |
虚拟中心虚拟机的磁盘使用 | metric | 启用vcenter.vm.disk.usage 指标。 | true | 否 |
虚拟中心虚拟机的磁盘利用率 | metric | 启用vcenter.vm.disk.utilization 指标。 | true | 否 |
虚拟中心虚拟机的内存膨胀 | metric | 启用vcenter.vm.memory.ballooned 指标。 | true | 否 |
虚拟中心虚拟机的内存交换 | metric | 启用vcenter.vm.memory.swapped 指标。 | true | 否 |
虚拟中心虚拟机的内存交换SSD | metric | 启用vcenter.vm.memory.swapped_ssd 指标。 | true | 否 |
虚拟中心虚拟机的内存使用 | metric | 启用vcenter.vm.memory.usage 指标。 | true | 否 |
虚拟中心虚拟机的内存利用率 | metric | 启用vcenter.vm.memory.utilization 指标。 | true | 否 |
虚拟中心虚拟机的网络数据包速率 | metric | 启用vcenter.vm.network.packet.rate 指标。 | true | 否 |
虚拟中心虚拟机的网络数据包丢弃率 | metric | 启用vcenter.vm.network.packet.drop.rate 指标。 | true | 否 |
虚拟中心虚拟机的网络吞吐量 | metric | 启用vcenter.vm.network.throughput 指标。 | true | 否 |
虚拟中心虚拟机的网络使用 | metric | 启用vcenter.vm.network.usage 指标。 | true | 否 |
指标块
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
已启用 | 布尔型 | 是否启用指标。 | true | 否 |
资源属性块
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
虚拟中心数据中心名称 | 资源属性 | 启用vcenter.datacenter.name 资源属性。 | true | 否 |
虚拟中心集群名称 | 资源属性 | 启用vcenter.cluster.name 资源属性。 | true | 否 |
虚拟中心数据存储名称 | 资源属性 | 启用vcenter.cluster.resource_pool 资源属性。 | true | 否 |
虚拟中心主机名称 | 资源属性 | 启用vcenter.host.name 资源属性。 | true | 否 |
虚拟中心资源池库存路径 | 资源属性 | 启用vcenter.resource_pool.inventory_path 资源属性。 | true | 否 |
虚拟中心资源池名称 | 资源属性 | 启用vcenter.resource_pool.name 资源属性。 | true | 否 |
虚拟中心虚拟应用库存路径 | 资源属性 | 启用vcenter.virtual_app.inventory_path 资源属性。 | true | 否 |
虚拟中心虚拟应用名称 | 资源属性 | 启用vcenter.virtual_app.name 资源属性。 | true | 否 |
虚拟中心虚拟机ID | 资源属性 | 启用vcenter.vm.id 资源属性。 | true | 否 |
虚拟中心虚拟机名称 | 资源属性 | 启用vcenter.vm.name 资源属性。 | true | 否 |
虚拟中心虚拟机模板ID | 资源属性 | 启用 vcenter.vm_template.id 资源属性。 | true | 否 |
| 资源属性 | 启用 vcenter.vm_template.name 资源属性。 | true | 否 |
资源属性块
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
已启用 | 布尔型 | 是否启用资源属性。 | true | 否 |
调试度量块
debug_metrics
块配置了该组件生成的用于监控其状态的指标。
以下参数受支持
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
disable_high_cardinality_metrics | 布尔型 | 是否禁用某些高基数指标。 | true | 否 |
级别 | 字符串 | 控制包装收集器发出的指标详细程度。 | "详细" | 否 |
它移除了可能导致高基数指标的属性。例如,HTTP 和 gRPC 连接的指标中包含 IP 地址和端口号的属性被移除。
注意
如果已配置,则disable_high_cardinality_metrics
仅适用于otelcol.exporter.*
和otelcol.receiver.*
组件。
level
是 OpenTelemetry Collector 中 telemetry.metrics.level
功能门的 Alloy 等价。可能的值有 "none"
、"basic"
、"normal"
和 "detailed"
。
输出块
output
块配置了一组组件,用于将结果遥测数据转发到。
以下参数受支持
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
日志 | 列表(otelcol.Consumer) | 要发送日志的消费列表。 | [] | 否 |
metrics | 列表(otelcol.Consumer) | 要发送指标的消费列表。 | [] | 否 |
跟踪 | 列表(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 = env("OTLP_ENDPOINT")
}
}
兼容组件
otelcol.receiver.vcenter
可以接受以下组件的参数
注意
连接某些组件可能不合理,或者组件可能需要进一步配置以正确工作。有关更多详细信息,请参阅相关文档。