From 4d65c6e38682c99918a3394f710df4c55748fe4b Mon Sep 17 00:00:00 2001 From: zino Date: Wed, 13 Aug 2025 16:25:04 +0200 Subject: [PATCH] m --- progs/registry.mtail | 60 +++++++++++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 23 deletions(-) diff --git a/progs/registry.mtail b/progs/registry.mtail index 0cb6ca9..61ebdbe 100644 --- a/progs/registry.mtail +++ b/progs/registry.mtail @@ -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_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 = $1 } + /"path":"([^"]+)"/ { path = $1 } + /"remote_address":"([^"]*)"/ { node = $1 } + /"remote_user":"([^"]*)"/ { user = $1 } + /"status":([0-9]{3})/ { status = $1 + status_s = $1 } + /"request_time":([0-9.]+)/ { request_time = $1 } + /"body_bytes_sent":([0-9]+)/ { body_bytes_sent = $1 } + /"upstream_range":"([^"]*)"/ { up_range = $1 } + /"docker_upload_uuid":"([^"]*)"/ { upload_uuid = $1 } + /"docker_content_digest":"([^"]*)"/ { digest = $1 } @@ -39,53 +65,41 @@ counter registry_push_upload_seconds_total by repo, user, node repo = $1 } -/$/ { - repo == "" { - repo = "unknown" - } - user == "" { - user = "anonymous" - } - node == "" { - node = "unknown" - } -} - /"upstream_range":"([0-9]+)-([0-9]+)"/ { uploaded_bytes = int($2) + 1 } /"method":"GET".*"\/v2\/.+\/blobs\/sha256:[a-f0-9]+"/ { - registry_pull_blob_bytes_total[repo, user, node] += body_bytes_sent - registry_pull_blob_seconds_total[repo, user, node] += request_time - registry_requests_total[method, "pull_blob", status, repo, user, node]++ + registry_pull_blob_bytes_total[repo][user][node] += body_bytes_sent + registry_pull_blob_seconds_total[repo][user][node] += request_time + registry_requests_total[method]["pull_blob"][status_s][repo][user][node]++ } /"method":"PATCH".*"\/v2\/.+\/blobs\/uploads\/[a-f0-9-]+"/ { 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_requests_total[method, "push_upload", status, repo, user, node]++ + registry_push_upload_seconds_total[repo][user][node] += request_time + registry_requests_total[method]["push_upload"][status_s][repo][user][node]++ uploaded_bytes = 0 } /"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-]+"/ { - 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\/[^"]+"/ { - 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\/[^"]+"/ { - registry_requests_total[method, "push_manifest", status, repo, user, node]++ + registry_requests_total[method]["push_manifest"][status_s][repo][user][node]++ } /"path":"\/v2\/"/ { - registry_requests_total[method, "v2_root", status, "none", user, node]++ + registry_requests_total[method]["v2_root"][status_s]["none"][user][node]++ }