prometheus.exporter.cadvisor
prometheus.exporter.cadvisor
组件使用 cAdvisor 暴露容器指标。
用法
prometheus.exporter.cadvisor "LABEL" {
}
参数
以下参数可用于配置导出器的行为。所有参数都是可选的。省略的字段使用其默认值。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
store_container_labels | 布尔型 | 是否将容器标签和环境变量转换为每个容器的Prometheus指标。 | true | no |
allowlisted_container_labels | list(string) | 允许将容器标签转换为Prometheus标签的列表。 | [] | no |
env_metadata_allowlist | list(string) | 与指定前缀匹配的环境变量键的允许列表,需要收集容器的数据。 | [] | no |
raw_cgroup_prefix_allowlist | list(string) | 需要收集的cgroup路径前缀列表,即使指定了docker_only。 | [] | no |
perf_events_config | 字符串 | 包含要测量的perf事件配置的JSON文件的路径。 | "" | no |
resctrl_interval | duration | 更新resctrl监控组的间隔。 | 0 | no |
disabled_metrics | list(string) | 要禁用的指标列表,如果设置,则覆盖默认禁用指标。 | (见下文) | no |
enabled_metrics | list(string) | 要启用的指标列表,如果设置,则覆盖disabled_metrics。 | [] | no |
storage_duration | duration | 存储在内存中的数据保留时间。 | 2m | no |
containerd_host | 字符串 | Containerd端点。 | /run/containerd/containerd.sock | no |
containerd_namespace | 字符串 | Containerd命名空间。 | k8s.io | no |
docker_host | 字符串 | Docker端点。 | unix:///var/run/docker.sock | no |
use_docker_tls | 布尔型 | 使用TLS连接到docker。 | false | no |
docker_tls_cert | 字符串 | TLS连接到docker的客户端证书路径。 | cert.pem | no |
docker_tls_key | 字符串 | TLS连接到docker的私钥路径。 | key.pem | no |
docker_tls_ca | 字符串 | TLS连接到docker的可信CA路径。 | ca.pem | no |
docker_only | 布尔型 | 除了根统计信息外,仅报告docker容器。 | false | no |
disable_root_cgroup_stats | 布尔型 | 禁用收集根Cgroup统计信息。 | false | no |
为了使allowlisted_container_labels
生效,必须将store_container_labels
设置为false
。
env_metadata_allowlist
仅支持containerd和Docker运行时。
如果没有设置perf_events_config
,则禁用perf事件的测量。
resctrl_interval
的值为0
将禁用更新监控组。
enabled_metrics
和disabled_metrics
的值不对应于Prometheus指标,而是对应于应(或不应)公开的指标类型。可以使用的完整值列表为
"cpu", "sched", "percpu", "memory", "memory_numa", "cpuLoad", "diskIO", "disk",
"network", "tcp", "advtcp", "udp", "app", "process", "hugetlb", "perf_event",
"referenced_memory", "cpu_topology", "resctrl", "cpuset", "oom_event"
默认情况下,以下指标类型被禁用:"memory_numa", "tcp", "udp", "advtcp", "process", "hugetlb", "referenced_memory", "cpu_topology", "resctrl", "cpuset"
块
prometheus.exporter.cadvisor
组件不支持任何块,并通过参数完全配置。
导出字段
以下字段被导出,并可以被其他组件引用。
名称 | 类型 | 描述 |
---|---|---|
targets | list(map(string)) | 可以用来收集导出指标的目标。 |
例如,targets
可以传递给discovery.relabel
组件来重写目标的标签集,或者传递给收集公开指标的prometheus.scrape
组件。
组件健康
prometheus.exporter.cadvisor
只有在给定无效配置时才报告为不健康。在这些情况下,导出的字段保留其最后健康值。
调试信息
prometheus.exporter.cadvisor
不暴露任何特定于组件的调试信息。
调试指标
prometheus.exporter.cadvisor
不暴露任何特定于组件的调试指标。
示例
此示例使用prometheus.scrape
组件来收集来自prometheus.exporter.cadvisor
的指标
prometheus.exporter.cadvisor "example" {
docker_host = "unix:///var/run/docker.sock"
storage_duration = "5m"
}
// Configure a prometheus.scrape component to collect cadvisor metrics.
prometheus.scrape "scraper" {
targets = prometheus.exporter.cadvisor.example.targets
forward_to = [ prometheus.remote_write.demo.receiver ]
}
prometheus.remote_write "demo" {
endpoint {
url = PROMETHEUS_REMOTE_WRITE_URL
basic_auth {
username = USERNAME
password = PASSWORD
}
}
}
替换以下
PROMETHEUS_REMOTE_WRITE_URL
:发送指标时要使用的Prometheus远程写入兼容服务器的URL。USERNAME
:用于远程写入API认证的用户名。PASSWORD
:用于远程写入API认证的密码。
兼容组件
prometheus.exporter.cadvisor
具有可由以下组件使用的导出功能
- 消耗目标的组件
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能正确连接。有关更多详细信息,请参阅相关文档。