我正在使用 bosun+cadvisor 来监控我的 mesos 基础设施中的 docker 容器。有没有办法监控特定的 docker 容器或容器并编写警报?
也许使用分配给容器的标签?因为我不能使用容器名称(mesos 为容器生成自定义名称)。
谢谢。
编辑:我发现 cadvisor 支持 docker 标签。无论如何要让 to scollector 和 bosun 使用标签进行查询?
我正在使用 bosun+cadvisor 来监控我的 mesos 基础设施中的 docker 容器。有没有办法监控特定的 docker 容器或容器并编写警报?
也许使用分配给容器的标签?因为我不能使用容器名称(mesos 为容器生成自定义名称)。
谢谢。
编辑:我发现 cadvisor 支持 docker 标签。无论如何要让 to scollector 和 bosun 使用标签进行查询?
您可以使用 scollector 中的 TagOverride 功能为 cadvisor 指标生成附加标签。我不确定 mesos 的 docker_name 格式是什么样的,但对于 Kubernetes,您可以使用:
[[Cadvisor]]
URL = "http://mydockerhost01: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 = ''
这将覆盖 docker_id 标签(缩短为 12 个字符),添加 container_name 和 pod_name 标签,并删除 docker_name 和 name 标签。