Nat*_*lin 7 google-cloud-platform gcloud google-artifact-registry
我想测量从我的 GCP 项目中的 Google Artifact 注册表存储库下载 Docker 映像的次数。
这可能吗?
有趣的问题。
我认为这也会有用。
我认为没有任何监控指标(没有列出artifactregistry
资源类型,也没有列出指标)
但是,您可以使用ArtifactRegistry 审核日志,并且需要显式启用数据访问日志,请参阅例如Docker-GetManifest
。
注意我不确定这是否可以从
gcloud
.监视开发人员工具,我了解到审核日志是使用
AuditConfig
's 在项目策略中配置的。我仍然不知道这个功能是否可以通过gcloud
(任何人?)使用,但显然,您可以直接使用 API 调用来实现这些更改,例如projects.setIamPolicy
:Run Code Online (Sandbox Code Playgroud)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=
然后,从存储库中提取一些内容并查询日志:
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)"
Run Code Online (Sandbox Code Playgroud)
产量:
2022-03-20T01:57:16.537400441Z Docker-GetManifest
Run Code Online (Sandbox Code Playgroud)
您也应该能够为这些创建基于日志的指标。