From 442a16e9e034082bcb2a4ccf338598d44fa7e9c9 Mon Sep 17 00:00:00 2001 From: zino Date: Wed, 13 Aug 2025 16:18:41 +0200 Subject: [PATCH] m --- progs/registry.mtail | 70 +++++++++++++++++++++++++++++--------------- 1 file changed, 47 insertions(+), 23 deletions(-) diff --git a/progs/registry.mtail b/progs/registry.mtail index 52b95a9..f55bbff 100644 --- a/progs/registry.mtail +++ b/progs/registry.mtail @@ -5,19 +5,39 @@ counter registry_push_upload_bytes_total by repo, user, node counter registry_push_upload_seconds_total by repo, user, node /"method":"([A-Z]+)"/ { - method = $1 + method = $1 +} +/"path":"([^"]+)"/ { + path = $1 +} +/"remote_address":"([^"]*)"/ { + node = $1 +} +/"remote_user":"([^"]*)"/ { + user = $1 +} +/"status":([0-9]{3})/ { + status = $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 } -"/path":"([^"]+)"/ { path = $1 } -/"remote_address":"([^"]*)"/ { node = $1 } -/"remote_user":"([^"]*)"/ { user = $1 } -/"status":([0-9]{3})/ { status = $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 } -/"path":"\/v2\/(.+?)\/(blobs|manifests|tags|_catalog)/ { repo = $1 } +/"path":"\/v2\/(.+?)\/(blobs|manifests|tags|_catalog)/ { + repo = $1 +} /$/ { repo == "" { repo = "unknown" } @@ -25,37 +45,41 @@ counter registry_push_upload_seconds_total by repo, user, node node == "" { node = "unknown" } } -/"upstream_range":"([0-9]+)-([0-9]+)"/ { uploaded_bytes = int($2) + 1 } +/"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, 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_seconds_total[repo][user][node] += request_time - registry_requests_total[method]["push_upload"][status][repo][user][node]++ + uploaded_bytes > 0 { + 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]++ 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, 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, repo, user, node]++ } /"method":"GET".*"\/v2\/.+\/manifests\/[^"]+"/ { - registry_requests_total[method]["pull_manifest"][status][repo][user][node]++ + registry_requests_total[method, "pull_manifest", status, repo, user, node]++ } /"method":"PUT".*"\/v2\/.+\/manifests\/[^"]+"/ { - registry_requests_total[method]["push_manifest"][status][repo][user][node]++ + registry_requests_total[method, "push_manifest", status, repo, user, node]++ } /"path":"\/v2\/"/ { - registry_requests_total[method]["v2_root"][status]["none"][user][node]++ + registry_requests_total[method, "v2_root", status, "none", user, node]++ }