菜单
文档breadcrumb arrow Grafana Alloybreadcrumb arrow 参考breadcrumb arrow 组件breadcrumb arrow prometheusbreadcrumb arrow prometheus.exporter.cadvisor
开源

prometheus.exporter.cadvisor

prometheus.exporter.cadvisor 组件使用 cAdvisor 暴露容器指标。

用法

alloy
prometheus.exporter.cadvisor "LABEL" {
}

参数

以下参数可用于配置导出器的行为。所有参数都是可选的。省略的字段使用其默认值。

名称类型描述默认值必需
store_container_labels布尔型是否将容器标签和环境变量转换为每个容器的Prometheus指标。trueno
allowlisted_container_labelslist(string)允许将容器标签转换为Prometheus标签的列表。[]no
env_metadata_allowlistlist(string)与指定前缀匹配的环境变量键的允许列表,需要收集容器的数据。[]no
raw_cgroup_prefix_allowlistlist(string)需要收集的cgroup路径前缀列表,即使指定了docker_only。[]no
perf_events_config字符串包含要测量的perf事件配置的JSON文件的路径。""no
resctrl_intervalduration更新resctrl监控组的间隔。0no
disabled_metricslist(string)要禁用的指标列表,如果设置,则覆盖默认禁用指标。(见下文)no
enabled_metricslist(string)要启用的指标列表,如果设置,则覆盖disabled_metrics。[]no
storage_durationduration存储在内存中的数据保留时间。2mno
containerd_host字符串Containerd端点。/run/containerd/containerd.sockno
containerd_namespace字符串Containerd命名空间。k8s.iono
docker_host字符串Docker端点。unix:///var/run/docker.sockno
use_docker_tls布尔型使用TLS连接到docker。falseno
docker_tls_cert字符串TLS连接到docker的客户端证书路径。cert.pemno
docker_tls_key字符串TLS连接到docker的私钥路径。key.pemno
docker_tls_ca字符串TLS连接到docker的可信CA路径。ca.pemno
docker_only布尔型除了根统计信息外,仅报告docker容器。falseno
disable_root_cgroup_stats布尔型禁用收集根Cgroup统计信息。falseno

为了使allowlisted_container_labels生效,必须将store_container_labels设置为false

env_metadata_allowlist仅支持containerd和Docker运行时。

如果没有设置perf_events_config,则禁用perf事件的测量。

resctrl_interval的值为0将禁用更新监控组。

enabled_metricsdisabled_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组件不支持任何块,并通过参数完全配置。

导出字段

以下字段被导出,并可以被其他组件引用。

名称类型描述
targetslist(map(string))可以用来收集导出指标的目标。

例如,targets可以传递给discovery.relabel组件来重写目标的标签集,或者传递给收集公开指标的prometheus.scrape组件。

导出的目标使用由run命令指定的配置的内存流量地址。

组件健康

prometheus.exporter.cadvisor只有在给定无效配置时才报告为不健康。在这些情况下,导出的字段保留其最后健康值。

调试信息

prometheus.exporter.cadvisor不暴露任何特定于组件的调试信息。

调试指标

prometheus.exporter.cadvisor不暴露任何特定于组件的调试指标。

示例

此示例使用prometheus.scrape组件来收集来自prometheus.exporter.cadvisor的指标

alloy
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 具有可由以下组件使用的导出功能

注意

连接某些组件可能不合理,或者组件可能需要进一步配置才能正确连接。有关更多详细信息,请参阅相关文档。