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

Tommy744 等级 721 0 0

洞察秋毫——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,如有侵权,请联系删除。

收藏
评论区

相关推荐

为DevOps团队新春送福—— JFrog与Docker建立突破性的合作伙伴关系
一、新春送福值此新春佳节将近之际,JFrog为广大DevOps团队奉上新春福利:我们宣布一项能够为我们的客户和整个DevOps社区带来实质性收益的重大举措,那就是,JFrog与Docker建立开创性的合作伙伴关系,使JFrog DevOps平台的云用户免于Docker Hub的镜像拉取的速度限制。该协议进一步推动了JFrog充满活力的合作伙伴生态
洞察秋毫——JFrog日志分析 协助监视Docker Hub上的拉取操作
一、背景大家已经注意到,Docker Hub现在开始对镜像拉取进行限制,无论是免费的匿名用户,还是认证用户。在六个小时内,从一个IP地址镜像拉取的请求次数超过固定阈值(匿名用户100次,认证用户200次)后,Docker Hub就会限制其拉取带宽。虽然用户仍然可以拉取到Docker镜像,但是速度要慢得多。您可以阅读我们之前的博客文章《绕开Docker
01.Docker安装MongoDB
1. 查询MongoDB镜像 docker search mongo 1. 拉取MongoDB镜像 docker pull mongo # 拉取指定版本镜像 docker pull mongo:3.4 1. 启动MongoDB容器 docker run -p 27017:27017 --name mym
Docker Hub 上的官方 Jenkins 镜像
目前,在 Docker Hub 上有三个不同的仓库正(或曾经)被当作“官方” Jenkins 镜像。本文是为了申明哪个是当前的官方镜像(截至2018年12月). **官方的** docker pull jenkins/jenkins https://hub.docker.com/r/jenkins/jenkins/ 是正确的仓库
Docker 国内仓库和镜像
Docker 国内仓库和镜像 ============== > 由于网络原因,我们在pull Image 的时候,从Docker Hub上下载会很慢。。。所以,国内的Docker爱好者们就添加了一些国内的镜像(mirror),方便大家使用。 1\. 国内 Docker 仓库 ---------------- [阿里云](https://www.osch
Docker 部署mysql
Docker 部署mysql ============== \[TOC\] 步骤 -- ### 1.查找 Docker Hub 上的 MySQL 镜像 root@UbuntuBase:/usr/local/docker/mysql# docker search mysql NAME
Docker中nginx+tomcat实现负载均衡
拉取tomcat镜像 docker pull tomcat 运行两个tomcat容器 docker run -d -p 8088:8080 --name tomcat8088 tomcat docker run -d -p 8089:8080 --name tomcat8089 tomcat 修改下index.jsp把两个to
Docker之安装MySQL
1 从DockerHub上查找MySQL镜像 ====================== * 语法: docker search mysql * 示例: ![](https://oscimg.oschina.net/oscnet/d0ff8bb91e37afa6506ae036b5eb8a3e7d7.png) 2 从DockerH
Docker安装Gitlab服务
#### 1、安装建议: 版本:GitLab 分为社区版(CE) 和企业版(EE)。 配置:建议CPU2核,内存2G以上。 #### 2、使用Docker安装Gitlab **2.1:拉取Gitlab镜像** 拉取中文版gitlab镜像,需要注意的是这个版本的镜像已经2年没有更新了。 docker pull twang2218/gitl
Docker安装redis操作命令
最近学习了redis,那么今天我们来学习以下在Docker上安装我们的redis,并查看有关redis的一系列命令 查找redis docker search redis 拉取redis docker pull redis 查看镜像 docker images
Docker搭建Mysql容器
转载自:http://blog.csdn.net/Mungo/article/details/78521832?locationNum=9&fps=1 本文介绍如何使用docker迅速搭建MySQL的运行环境。 使用docker hub镜像 ============== 查找镜像 ---- 首先查找Docker Hub上的mysql镜像,有两种方式:
Docker搭建Nexus(Maven私库)
0、镜像的查找:docker search nexus 1、拉取官方镜像:docker pull sonatype/nexus3 2、创建了自己的目录 (/opt/nexus/nexus-data)   mkdir /opt/nexus/nexus-data && chown -R 200 /opt/nexus/nexus-data 3、运行容器
Docker运行mysql,redis,oracle容器和SpringBoot项目
dokcer运行SpringBoot项目 -------------------- from frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD target/demo-0.0.1-SNAPSHOT.jar app.jar ENTRYPOINT \["java","-jar","/app.jar"\] dock
Linux Docker镜像使用
docker拉取镜像命令 docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签] 中框号内内容都为可选内容 若不输入镜像仓库地址 则 拉取官方默认仓库,即Docker Hub     [https://hub.docker.com/](https://www.oschina.net/action
Mac下Docker Desktop的Kubernetes一直处于starting状态的解决办法
问题现象 ==== Docker Preferences选项中勾选”Enabel Kubernetes”启用K8S,但其一直处于`starting`状态,无法正常使用。 原因 == 启用Kubernetes功能,Docker需要从镜像仓库拉取Kubernetes相关镜像。 由于国内访问Docker Hub网速太