簡體   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