菜单
文档breadcrumb arrow Grafana Alloybreadcrumb arrow 参考breadcrumb arrow 组件breadcrumb arrow prometheusbreadcrumb arrow prometheus.exporter.cadvisor
正式发布 (GA) 开源

prometheus.exporter.cadvisor

prometheus.exporter.cadvisor 组件使用 cAdvisor 收集容器指标。

用法

alloy
prometheus.exporter.cadvisor "<LABEL>" {
}

参数

您可以将以下参数用于 prometheus.exporter.cadvisor

名称类型描述默认值必需
allowlisted_container_labelslist(string)允许列表中的容器标签将转换为 Prometheus 标签。[]
containerd_hoststringcontainerd 端点。/run/containerd/containerd.sock
containerd_namespacestringcontainerd 命名空间。k8s.io
disable_root_cgroup_statsbool禁用收集根 Cgroup 统计信息。false
disabled_metricslist(string)要禁用的指标列表,如果设置,将覆盖默认禁用的指标。(见下文)
docker_hoststringDocker 端点。unix:///var/run/docker.sock
docker_onlybool除了根统计信息外,仅报告 docker 容器。false
docker_tls_castring用于 TLS 连接到 docker 的受信任 CA 路径。ca.pem
docker_tls_certstring用于 TLS 连接到 docker 的客户端证书路径。cert.pem
docker_tls_keystring用于 TLS 连接到 docker 的私钥路径。key.pem
enabled_metricslist(string)要启用的指标列表,如果设置,将覆盖 disabled_metrics。[]
env_metadata_allowlistlist(string)允许列表中的环境变量键,与指定的需要为容器收集的前缀匹配。[]
perf_events_configstring包含要测量的 perf 事件配置的 JSON 文件路径。""
raw_cgroup_prefix_allowlistlist(string)需要收集的 cgroup 路径前缀列表,即使指定了 docker_only。[]
resctrl_intervalduration更新 resctrl mon 组的间隔。0
storage_durationduration数据在内存中保留的时间长度。2m
store_container_labelsbool是否将容器标签和环境变量转换为每个容器的 Prometheus 指标标签。true
use_docker_tlsbool使用 TLS 连接到 docker。false

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

env_metadata_allowlist 仅支持 containerd 和 Docker 运行时。

如果未设置 perf_events_config,则禁用 perf 事件测量。

resctrl_interval 设置为 0 将禁用更新 mon 组。

enabled_metricsdisabled_metrics 的值不对应 Prometheus 指标,而是对应应该或不应该暴露的指标类型。可用的值有

  • "advtcp"
  • "app"
  • "cpu_topology"
  • "cpu"
  • "cpuLoad"
  • "cpuset"
  • "disk"
  • "diskIO"
  • "hugetlb"
  • "memory_numa"
  • "memory"
  • "network"
  • "oom_event"
  • "percpu"
  • "perf_event"
  • "process"
  • "referenced_memory"
  • "resctrl"
  • "sched"
  • "tcp"
  • "udp"

默认情况下,禁用以下指标类型

  • "advtcp"
  • "cpu_topology"
  • "cpuset"
  • "hugetlb"
  • "memory_numa"
  • "process"
  • "referenced_memory"
  • "resctrl"
  • "tcp"
  • "udp"

prometheus.exporter.cadvisor 组件不支持任何块。您可以使用参数配置此组件。

导出字段

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

名称类型描述
targetslist(map(string))可用于收集 exporter 指标的目标。

例如,targets 可以传递给 discovery.relabel 组件以重写目标的标签集,也可以传递给 prometheus.scrape 组件以收集暴露的指标。

导出的 targets 使用 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 remote_write 兼容服务器的 URL。
  • <USERNAME>: 用于 remote_write API 认证的用户名。
  • <PASSWORD>: 用于 remote_write API 认证的密码。

兼容的组件

prometheus.exporter.cadvisor 的导出可供以下组件使用

注意

连接某些组件可能不合理,或组件可能需要进一步配置才能使连接正常工作。请参阅链接的文档了解更多详细信息。