docker-collector 是一个守护进程,用于收集Docker容器集群的统计数据和事件,并将数据存储到Elasticsearch等分布式存储中,以便进行分析。
目前支持的统计数据包括:
添加对额外统计数据和事件的支持非常简单。同时提供了一组Kibana模板,用于可视化整个集群的统计数据。
要开始使用,可以使用提供的Docker Compose文件启动节点的必要组件:
bash$ git clone https://github.com/cilium-team/docker-collector.git $ cd docker-collector $ docker-compose up
打开浏览器,访问 Kibana仪表板,将看到类似以下的界面。
!DockercollectorUI
现在可以看到除名称中包含docker-collector的容器之外的所有其他容器(参见docker-collector中使用的-f选项)。
如果在Kibana仪表板中没有看到任何容器统计数据,可能尚未启动非管理容器。例如,启动一个容器,默认情况下大约2分钟后(读取和存储统计数据的默认间隔)数据将出现:
bashdocker run --rm -ti ubuntu ping www.google.com
使用Docker运行本地ElasticSearch实例。实际上,需要稍作扩展以配置Elastic集群发现:
bashdocker run -d --name docker-collector-elasticsearch -p 9200:9200 -p 9300:9300 \ elasticsearch:1.7.1 elasticsearch
可以将docker-collector作为Docker容器运行,如下所示:
bashdocker run -d --name docker-collector --privileged -h "$(hostname)" \ --pid host -e ELASTIC_IP=ELASTIC_SEARCH_IP \ -v /var/run/docker.sock:/var/run/docker.sock \ cilium/docker-collector -f 'docker-collector.*'
参数说明:
-d:后台模式,在后台运行容器--pid host:使用主机的PID命名空间,需要通过/proc和/sys查看和访问所有本地容器的统计数据--privileged:特权模式,需要授予访问其他容器统计数据的权限-h:容器主机名,设置为本地节点的主机名-e ELASTIC_IP=ELASTIC_SEARCH_IP:用于与ElasticSearch通信的环境变量,由于暴露了9200端口(用于传输数据的端口),docker-collector将与给定的IP地址通信,通常本地IP即可(注意:不能是127.0.0.1,但可以是Docker桥接IP 172.17.42.1)-v /var/run/docker.sock:/var/run/docker.sock:用于查找本地主机上运行的容器使用方法:docker-collector 选项
-t SECONDS:从本地容器检索统计数据的时间间隔(秒),默认值:60秒-f string:正则表达式,用于阻止docker-collector收集名称匹配特定模式的容器的统计数据和事件,通常用于排除管理容器-c string:Kibana配置和模板的目录路径,配置文件名为'configs.json',模板文件名为'templates.json',默认值:"/docker-collector/configs"(可以使用Docker的-v选项,如-v ./myconfigs-directory-path:/docker-collector/configs来使用自定义配置文件)-d string:设置用于存储统计数据的数据库驱动,有效选项:elasticsearch(默认)-i string:为Elasticsearch设置索引名称的前缀,后缀为-YYYY-MM-DD,默认值:"docker-collector"-l string:设置日志级别,有效选项:debug|info|warning|error|fatal|panic,默认值:"info"Kibana是Elasticsearch的开源数据可视化插件,提供对Elasticsearch集群中索引内容的可视化能力。
运行本地Kibana实例的示例:
bashdocker run -d --name docker-collector-kibana -p 5601:5601 \ -e ELASTICSEARCH_URL=http://ELASTIC_SEARCH_IP:9200 \ kibana:4.1.1
打开浏览器,访问 Kibana仪表板(假设按上述示例配置在本地端口运行),将看到类似以下的界面。
!DockercollectorUI
现在可以看到除名称以docker-collector开头的容器之外的所有其他容器(参见docker-collector中使用的-f选项)。
如果在Kibana仪表板中没有看到任何容器统计数据,可能尚未启动非管理容器。例如,启动一个容器,默认情况下大约2分钟后(读取和存储统计数据的默认间隔)数据将出现:
bashdocker run --rm -ti ubuntu ping www.google.com
尽管我们提供了Docker镜像,但镜像中的docker-collector二进制文件仅适用于Linux/x86_64。
根据Apache许可证2.0版("许可证")授权;除非符合许可证,否则不得使用此文件。您可以在以下地址获取许可证副本:
[***]
除非适用***要求或书面同意,否则根据许可证分发的软件按"原样"分发,不附带任何明示或暗示的担保或条件。有关许可证下权限和限制的具体语言,请参阅许可证。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务