监控 Docker 容器

Scollector 内置支持使用 cAdvisor 生成容器。 * Bosun 中主机上每个 Docker 容器的指标。要开始使用,你需要在每个 docker 主机上启动一个新容器:

docker run --name cadvisor --restart=always -d -p 8080:8080 google/cadvisor

然后使用带有 Cadvisor 配置选项的 scollector 对指标进行外部源轮询。如果你使用 Kubernetes 来管理容器,你可能还想使用 TagOverride 选项覆盖 docker_id 标签(缩短为 12 个字符),添加 container_namepod_name 标签,并删除 docker_namename 标签:

[[Cadvisor]]
  URL = "http://mydockerhost01:8080"

[[Cadvisor]]
  URL = "http://mydockerhost02:8080"

#Override tags for Kubernetes containers
[[TagOverride]]
  CollectorExpr = "cadvisor"
  [TagOverride.MatchedTags]
    docker_name = 'k8s_(?P<container_name>[^\.]+)\.[0-9a-z]+_(?P<pod_name>[^-]+)'
    docker_id = '^(?P<docker_id>.{12})'
  [TagOverride.Tags]
    docker_name = ''
    name = ''

你可能还希望将度量标准发送到 Bosun 的测试实例(可能使用 Bosun Docker Container ),以便在将度量标准发送到生产 Bosun 实例(在发送数据后很难清理数据)之前验证度量标准是否正确。