洞察秋毫——JFrog日志分析 协助监视Docker Hub上的拉取操作

Tommy744
• 阅读 1427

洞察秋毫——JFrog日志分析  协助监视Docker Hub上的拉取操作

一、背景

大家已经注意到,Docker Hub现在开始对镜像拉取进行限制,无论是免费的匿名用户,还是认证用户。在六个小时内,从一个IP地址镜像拉取的请求次数超过固定阈值(匿名用户100次,认证用户200次)后,Docker Hub就会限制其拉取带宽。虽然用户仍然可以拉取到Docker镜像,但是速度要慢得多。

您可以阅读我们之前的博客文章《绕开Docker Hub下载限制:JFrog Artifactory》(https://mp.weixin.qq.com/s/I8VvxKSddQ5vXO2YLMye9w),以了解Docker Hub的相关策略,以及JFrog Artifactory如何帮助您绕过这个限制。

对于依赖Docker Hub并将其作为Docker镜像中心的企业,这项新政策可能对其生产力产生重大影响。由于阈值是基于IP的,而不是基于用户的,因此这些限制可能会更快、更频繁地影响到企业的交付效率。

您知道这些变化如何影响您的交付吗?通过对JFrog日志分析的最新改进,现在JFrog Artifactory的用户可以通过JFrog的日志分析来查找并决策如何减轻这些限制的影响。本文将就此作简单的介绍。

洞察秋毫——JFrog日志分析  协助监视Docker Hub上的拉取操作

二、使用Artifactory缓存Docker Hub的拉取请求

Artifactory的用户已经可以通过为Docker Hub建立远程仓库来降低拉取的频率。该远程仓库将代理并缓存从Docker Hub拉取的每个Docker镜像,以便将来从您的企业级制品库/镜像中心中直接拉取该镜像。

这样,只有从Docker Hub到缓存的第一次拉取才会计入Docker Hub的拉取限制。您最常使用的Docker镜像将始终以全速传递到您的构建中。而且一旦做了缓存,即使Docker Hub上的相应镜像变得不可用,这些镜像在企业级制品库/镜像中心中将始终保持可用。

洞察秋毫——JFrog日志分析  协助监视Docker Hub上的拉取操作

您还可以在Artifactory中维护自己安全的、私有的Docker镜像中心,以进一步减少对Docker Hub的依赖。

三、Docker仓库分析

对于由Artifactory支持的JFrog DevOps平台的自主安装,我们提供了一个集成工具,该工具可通过Fluentd数据收集提供统一的JFrog日志数据。我们还提供了其他一些应用程序和集成方式,可以使用这些数据,并呈现到流行的分析程序(包括Splunk、Elastic Stack、Prometheus/Grafana和DataDog等)仪表板上。

通过最适合您的分析工具,您可以查看有价值的运维统计数据,例如数据传输量、哪些仓库正在被谁使用,以及哪些用户被拒绝访问等。

我们更新了这些集成,以提供一个新的Docker统计信息选项卡,可帮助您监视Docker Hub的使用情况。下面就让我们一一介绍一下它们,以及它们在Splunk的JFrog Logs应用程序中的显示方式。

1**、拉取请求趋势**

单个计数指示最近6个小时对Docker Hub发出的拉取请求的数量,以及趋势是加速还是下降。该计数不包括远程仓库缓存满足的计数(即缓存未命中),因此它仅计算符合Docker Hub限制策略的拉取请求。

洞察秋毫——JFrog日志分析  协助监视Docker Hub上的拉取操作

2**、Docker仓库缓存命中率**

缓存满足Docker镜像请求的频率以比率表示,其中值1表示缓存满足所有请求。例如,下面显示的比率0.703是70.3%的缓存命中率。因此,尽管高速缓存未命中总计269次(29.7%),但Artifactory以全传输速度处理了628个拉取请求。

洞察秋毫——JFrog日志分析  协助监视Docker Hub上的拉取操作

3**、Docker Hub拉取请求**

该图显示了在6小时滚动时间内发出的Docker Hub拉取请求的数量。每个栏显示从该小时标记开始的前六个小时内发出的拉取请求的总数。

洞察秋毫——JFrog日志分析  协助监视Docker Hub上的拉取操作

该统计信息将帮助您查看您的企业是否接近或超过了Docker Hub限制策略,以及拉取高峰在什么时间。

4**、十大用户和IP**

这些统计数据按用户和IP地址揭示了Docker仓库的主要用户是谁。如果您发现超出了拉取请求,则此信息可以帮助您确定主要的负责方。

洞察秋毫——JFrog日志分析  协助监视Docker Hub上的拉取操作

洞察秋毫——JFrog日志分析  协助监视Docker Hub上的拉取操作

四、总结

Docker Hub推出了对拉取请求的限速策略,使用Artifactory作为企业级镜像中心可以帮助您绕过这个限制,而JFrog的日志分析可以帮助您分析企业Docker Hub拉取请求的状态。

您可以在Github上找到JFrog日志分析集成的数据收集和分析工具(https://github.com/jfrog/log-analytics)。

它始于与开源数据收集器Fluentd的集成,该集成可随JFrog Platform部署的每个产品实例一起安装。Fluentd在JFrog平台中为每个产品执行日志输入、字段提取和记录转换,并将此数据的输出标准化为JSON,以传输到分析和BI仪表板。

使用此解决方案,您可以管理从Docker Hub拉取的次数和频率,并减轻新限制策略的影响。

本文转自 https://www.kubernetes.org.cn/8821.html,如有侵权,请联系删除。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
zdd小小菜鸟 zdd小小菜鸟
1年前
windows--docker-指定ip启动mysql
windowsdocker指定ip启动mysql前提条件tex默认电脑已经安装好了docker,以及自定义配置docker的网络;若无请参考安装1.搜索mysql镜像shelldockersearchmysql2.拉取镜像shelldockerpullmy
Tommy744 Tommy744
3年前
为DevOps团队新春送福—— JFrog与Docker建立突破性的合作伙伴关系
一、新春送福值此新春佳节将近之际,JFrog为广大DevOps团队奉上新春福利:我们宣布一项能够为我们的客户和整个DevOps社区带来实质性收益的重大举措,那就是,JFrog与Docker建立开创性的合作伙伴关系,使JFrogDevOps平台的云用户免于DockerHub的镜像拉取的速度限制。该协议进一步推动了JFrog充满活力的合作伙伴生态
Wesley13 Wesley13
3年前
01.Docker安装MongoDB
1.查询MongoDB镜像dockersearchmongo1.拉取MongoDB镜像dockerpullmongo拉取指定版本镜像dockerpullmongo:3.41.启动MongoDB容器dockerrunp27017:27017namemym
Stella981 Stella981
3年前
Mac下Docker Desktop的Kubernetes一直处于starting状态的解决办法
问题现象DockerPreferences选项中勾选”EnabelKubernetes”启用K8S,但其一直处于starting状态,无法正常使用。原因启用Kubernetes功能,Docker需要从镜像仓库拉取Kubernetes相关镜像。由于国内访问DockerHub网速太
Stella981 Stella981
3年前
Docker安装Gitlab服务
1、安装建议:版本:GitLab分为社区版(CE)和企业版(EE)。配置:建议CPU2核,内存2G以上。2、使用Docker安装Gitlab2.1:拉取Gitlab镜像拉取中文版gitlab镜像,需要注意的是这个版本的镜像已经2年没有更新了。dockerpulltwang2218/gitl
可莉 可莉
3年前
19、Docker Compose
  编排(Orchestration)功能是复杂系统实现灵活可操作性的关键。特别是docker应用场景中,编排意味着用户可以灵活地对各种容器资源实现定义和管理。  在我们部署多容器的应用时:要从Dockerfilebuildimage或者从dockerhub拉取image要创建多个container要管理这些conta
Stella981 Stella981
3年前
Docker 下的Zookeeper以及.ne core 的分布式锁
单节点1.拉取镜像:dockerpullzookeeper2.运行容器a.我的容器同一放在/root/docker下面,然后创建相应的目录和文件,mkdirzookeepercdzookeepermkdirdatamkdirdatalogmkdirconfcdc
Stella981 Stella981
3年前
Linux Docker镜像使用
docker拉取镜像命令dockerpull选项DockerRegistry地址:端口号/仓库名:标签中框号内内容都为可选内容若不输入镜像仓库地址则拉取官方默认仓库,即DockerHub   https://hub.docker.com/(https://www.oschina.net/action
Stella981 Stella981
3年前
CentOS安装Jenkins
一、war包安装方式1、准备tomcat、jdk1.82、下载jenkins.war。下载地址:https://jenkins.io/zh/download/3、将jendins.war放到$TOMCAT\_HOME/webapps目录下,启动tomcat即可二、docker安装1、拉取镜像https://hub.docker.co