This commit is contained in:
zino
2025-08-13 16:25:04 +02:00
parent d90d598776
commit 4d65c6e386

View File

@@ -4,33 +4,59 @@ counter registry_pull_blob_seconds_total by repo, user, node
counter registry_push_upload_bytes_total by repo, user, node counter registry_push_upload_bytes_total by repo, user, node
counter registry_push_upload_seconds_total by repo, user, node counter registry_push_upload_seconds_total by repo, user, node
hidden text method
hidden text path
hidden text node
hidden text user
hidden text status_s
hidden text up_range
hidden text upload_uuid
hidden text digest
hidden text repo
hidden int status
hidden int body_bytes_sent
hidden int uploaded_bytes
hidden float request_time
/"method":"([A-Z]+)"/ { /"method":"([A-Z]+)"/ {
method = $1 method = $1
} }
/"path":"([^"]+)"/ { /"path":"([^"]+)"/ {
path = $1 path = $1
} }
/"remote_address":"([^"]*)"/ { /"remote_address":"([^"]*)"/ {
node = $1 node = $1
} }
/"remote_user":"([^"]*)"/ { /"remote_user":"([^"]*)"/ {
user = $1 user = $1
} }
/"status":([0-9]{3})/ { /"status":([0-9]{3})/ {
status = $1 status = $1
status_s = $1
} }
/"request_time":([0-9.]+)/ { /"request_time":([0-9.]+)/ {
request_time = $1 request_time = $1
} }
/"body_bytes_sent":([0-9]+)/ { /"body_bytes_sent":([0-9]+)/ {
body_bytes_sent = $1 body_bytes_sent = $1
} }
/"upstream_range":"([^"]*)"/ { /"upstream_range":"([^"]*)"/ {
up_range = $1 up_range = $1
} }
/"docker_upload_uuid":"([^"]*)"/ { /"docker_upload_uuid":"([^"]*)"/ {
upload_uuid = $1 upload_uuid = $1
} }
/"docker_content_digest":"([^"]*)"/ { /"docker_content_digest":"([^"]*)"/ {
digest = $1 digest = $1
} }
@@ -39,53 +65,41 @@ counter registry_push_upload_seconds_total by repo, user, node
repo = $1 repo = $1
} }
/$/ {
repo == "" {
repo = "unknown"
}
user == "" {
user = "anonymous"
}
node == "" {
node = "unknown"
}
}
/"upstream_range":"([0-9]+)-([0-9]+)"/ { /"upstream_range":"([0-9]+)-([0-9]+)"/ {
uploaded_bytes = int($2) + 1 uploaded_bytes = int($2) + 1
} }
/"method":"GET".*"\/v2\/.+\/blobs\/sha256:[a-f0-9]+"/ { /"method":"GET".*"\/v2\/.+\/blobs\/sha256:[a-f0-9]+"/ {
registry_pull_blob_bytes_total[repo, user, node] += body_bytes_sent registry_pull_blob_bytes_total[repo][user][node] += body_bytes_sent
registry_pull_blob_seconds_total[repo, user, node] += request_time registry_pull_blob_seconds_total[repo][user][node] += request_time
registry_requests_total[method, "pull_blob", status, repo, user, node]++ registry_requests_total[method]["pull_blob"][status_s][repo][user][node]++
} }
/"method":"PATCH".*"\/v2\/.+\/blobs\/uploads\/[a-f0-9-]+"/ { /"method":"PATCH".*"\/v2\/.+\/blobs\/uploads\/[a-f0-9-]+"/ {
uploaded_bytes > 0 { uploaded_bytes > 0 {
registry_push_upload_bytes_total[repo, user, node] += uploaded_bytes registry_push_upload_bytes_total[repo][user][node] += uploaded_bytes
} }
registry_push_upload_seconds_total[repo, user, node] += request_time registry_push_upload_seconds_total[repo][user][node] += request_time
registry_requests_total[method, "push_upload", status, repo, user, node]++ registry_requests_total[method]["push_upload"][status_s][repo][user][node]++
uploaded_bytes = 0 uploaded_bytes = 0
} }
/"method":"POST".*"\/v2\/.+\/blobs\/uploads\/"/ { /"method":"POST".*"\/v2\/.+\/blobs\/uploads\/"/ {
registry_requests_total[method, "push_start", status, repo, user, node]++ registry_requests_total[method]["push_start"][status_s][repo][user][node]++
} }
/"method":"PUT".*"\/v2\/.+\/blobs\/uploads\/[a-f0-9-]+"/ { /"method":"PUT".*"\/v2\/.+\/blobs\/uploads\/[a-f0-9-]+"/ {
registry_requests_total[method, "push_commit", status, repo, user, node]++ registry_requests_total[method]["push_commit"][status_s][repo][user][node]++
} }
/"method":"GET".*"\/v2\/.+\/manifests\/[^"]+"/ { /"method":"GET".*"\/v2\/.+\/manifests\/[^"]+"/ {
registry_requests_total[method, "pull_manifest", status, repo, user, node]++ registry_requests_total[method]["pull_manifest"][status_s][repo][user][node]++
} }
/"method":"PUT".*"\/v2\/.+\/manifests\/[^"]+"/ { /"method":"PUT".*"\/v2\/.+\/manifests\/[^"]+"/ {
registry_requests_total[method, "push_manifest", status, repo, user, node]++ registry_requests_total[method]["push_manifest"][status_s][repo][user][node]++
} }
/"path":"\/v2\/"/ { /"path":"\/v2\/"/ {
registry_requests_total[method, "v2_root", status, "none", user, node]++ registry_requests_total[method]["v2_root"][status_s]["none"][user][node]++
} }