prometheus exporter.cadvisor
prometheus.exporter.cadvisor
组件使用 cAdvisor 暴露容器指标。
用途
prometheus.exporter.cadvisor "LABEL" {
}
参数
以下参数可用于配置导出器的行为。所有参数都是可选的。省略的字段将采用其默认值。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
store_container_labels | bool | 是否将容器标签和环境变量转换为每个容器的 Prometheus 指标上的标签。 | true | no |
allowlisted_container_labels | list(string) | 允许列表,容器标签将转换为 Prometheus 标签。 | [] | no |
env_metadata_allowlist | list(string) | Allowlist of environment variable keys matched with a specified prefix that needs to be collected for containers. | [] | no |
raw_cgroup_prefix_allowlist | list(string) | List of cgroup path prefixes that need to be collected, even when docker_only is specified. | [] | no |
perf_events_config | string | 包含要测量的 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 | string | Containerd 端点。 | /run/containerd/containerd.sock | no |
containerd_namespace | string | Containerd 命名空间。 | k8s.io | no |
docker_host | string | Docker 端点。 | unix:///var/run/docker.sock | no |
use_docker_tls | bool | 使用 TLS 连接到 docker。 | false | no |
docker_tls_cert | string | TLS 连接到 docker 的客户端证书路径。 | cert.pem | no |
docker_tls_key | string | TLS 连接到 docker 的私钥路径。 | key.pem | no |
docker_tls_ca | string | TLS 连接到 docker 的受信任 CA 路径。 | ca.pem | no |
docker_only | bool | 除了根统计数据外,仅报告 docker 容器。 | false | no |
disable_root_cgroup_stats | bool | 禁用收集根 cgroup 统计数据。 | false | no |
为了使 allowlisted_container_labels
生效,必须将 store_container_labels
设置为 false
。
env_metadata_allowlist
仅支持 containerd 和 Docker 运行时。
如果没有设置 perf_events_config
,则禁用 perf 事件的测量。
resctrl_interval
设置为 0
禁止更新 mon 组。
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 |
| 可用于收集导出指标的目标。 |
例如,可以将 targets
传递给 discovery.relabel
组件以重写目标标签集,或者传递给收集公开指标的 prometheus.scrape
组件。
导出的目标使用由 run 命令 指定的配置 内存流量 地址。
组件健康状态
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 remote_write 服务器。USERNAME
:用于远程_write API 认证的用户名。PASSWORD
:用于远程_write API 认证的密码。
兼容组件
prometheus.exporter.cadvisor
具有可以被以下组件消费的导出
- 消费 目标 的组件
注意
连接某些组件可能不合理,或者可能需要进一步配置才能正确连接。有关更多详细信息,请参阅链接文档。