繁体   English   中英

是否可以跟踪 Google Artifact Registry 中 docker 的拉取次数?

[英]Is it possible track the number of docker pulls in Google Artifact Registry?

我想测量 Docker 图像从我的 GCP 项目中的 Google Artifact 注册表存储库下载的次数。

这可能吗?

有趣的问题。

我认为这也会很有用。

我认为没有任何监控指标(没有列出artifactregistry资源类型,也没有列出指标)

但是,您可以使用Artifact Registry 审核日志,并且需要显式启用数据访问日志,请参见Docker-GetManifest

在此处输入图像描述

注意我不确定这是否可以通过gcloud实现。

监控开发人员工具,我了解到审计日志是使用AuditConfig的在项目策略中配置的。 我仍然不知道此功能是否可通过gcloud (任何人?)使用,但显然,您可以使用 API 调用直接影响这些更改,例如projects.setIamPolicy

 gcloud projects get-iam-policy ${PROJECT} auditConfigs: - auditLogConfigs: - logType: DATA_READ - logType: DATA_WRITE service: artifactregistry.googleapis.com bindings: - members: - user:me role: roles/owner etag: BwXanQS_YWg=

然后,从 repo 中提取一些东西并查询日志:

PROJECT=[[YOUR-PROJECT]]
REGION=[[YOUR-REGION]]
REPO=[[YOUR-REPO]]

FILTER="
logName=\"projects/${PROJECT}/logs/cloudaudit.googleapis.com%2Fdata_access\"
protoPayload.methodName=\"Docker-GetManifest\"
"

gcloud logging read "${FILTER}" \
--project=${PROJECT} \
--format="value(timestamp,protoPayload.methodName)"

产量:

2022-03-20T01:57:16.537400441Z  Docker-GetManifest

您也应该能够为这些创建基于日志的指标。

不幸的是,我们还没有 Artifact Registry 的平台日志,所以使用 CAL 是目前唯一的方法。 您还可以将 CAL 转换为基于日志的指标,并以这种方式获取图表和指标。

按“Docker-GetManifest”过滤的建议也是正确的——它是 Docker Pull 始终只有一个的唯一请求类型。 还会有很多其他相关的请求,但不是 1:1 匹配的。 日志将包含所有请求(Docker-Token,0 层或更多层拉取),包括 API 请求,如加载页面时每个 AR 区域中的 UI 调用的 ListRepositories。

不幸的是,关于公共请求未出现的理论是正确的。 CAL 用于记录身份验证事件,当请求没有任何身份验证时,不会生成 CAL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM