diff --git a/progs/registry.mtail b/progs/registry.mtail index 2406a43..36f2e94 100644 --- a/progs/registry.mtail +++ b/progs/registry.mtail @@ -1,20 +1,50 @@ -counter registry_push_session_bytes_total by repo, user, node -counter registry_push_session_seconds_total by repo, user, node +counter registry\_requests\_total by path\_class, repo, node +counter registry\_pull\_blob\_bytes\_total by repo, user, node +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 +counter registry\_push\_session\_bytes\_total by repo, user, node +counter registry\_push\_session\_seconds\_total by repo, user, node +gauge registry\_push\_session\_bytes\_tmp by uuid +gauge registry\_push\_session\_seconds\_tmp by uuid -/\"remote_address\":\"(?P[^\"]*)\".*\"remote_user\":\"(?P[^\"]*)\".*\"method\":\"PATCH\".*\"path\":\"\\/v2\\/(?P.+?)\\/blobs\\/uploads\\/[a-f0-9-]+\".*\"docker_upload_uuid\":\"(?P[a-f0-9-]+)\".*\"upstream_range\":\"(?P\d+)-(?P\d+)\".*\"request_time\":(?P[0-9.]+)/ { - session_bytes[$uuid] += int($end) - int($start) + 1 - session_time[$uuid] += $rt - session_repo[$uuid] = $repo - session_user[$uuid] = $user - session_node[$uuid] = $node +/"remote\_address":"(?P\[^"]*)".*"remote\_user":"(?P\[^"]*)".*"method":"GET".*"path":"/v2/(?P.+?)/blobs/sha256:\[a-f0-9]+".*"body\_bytes\_sent":(?P\d+).\*"request\_time":(?P\[0-9.]+)/ { +registry\_pull\_blob\_bytes\_total\[\$repo]\[\$user]\[\$node] += \$body +registry\_pull\_blob\_seconds\_total\[\$repo]\[\$user]\[\$node] += \$rt +registry\_requests\_total\["pull\_blob"]\[\$repo]\[\$node]++ } -/\"method\":\"PUT\".*\"docker_upload_uuid\":\"(?P[a-f0-9-]+)\"/ { - registry_push_session_bytes_total[session_repo[$uuid]][session_user[$uuid]][session_node[$uuid]] += session_bytes[$uuid] - registry_push_session_seconds_total[session_repo[$uuid]][session_user[$uuid]][session_node[$uuid]] += session_time[$uuid] - delete session_bytes[$uuid] - delete session_time[$uuid] - delete session_repo[$uuid] - delete session_user[$uuid] - delete session_node[$uuid] +/"remote\_address":"(?P\[^"]*)".*"remote\_user":"(?P\[^"]*)".*"method":"PATCH".*"path":"/v2/(?P.+?)/blobs/uploads/(?P\[a-f0-9-]+)".*"upstream\_range":"(?P\d+)-(?P\d+)".\*"request\_time":(?P\[0-9.]+)/ { +registry\_push\_session\_bytes\_tmp\[\$uuid] += int(\$end1) - int(\$start1) + 1 +registry\_push\_session\_seconds\_tmp\[\$uuid] += \$rt1 +registry\_push\_upload\_bytes\_total\[\$repo]\[\$user]\[\$node] += int(\$end1) + 1 +registry\_push\_upload\_seconds\_total\[\$repo]\[\$user]\[\$node] += \$rt1 +registry\_requests\_total\["push\_upload"]\[\$repo]\[\$node]++ } + +/"remote\_address":"(?P\[^"]*)".*"remote\_user":"(?P\[^"]*)".*"method":"PATCH".*"path":"/v2/(?P.+?)/blobs/uploads/(?P\[a-f0-9-]+)".*"request\_time":(?P\[0-9.]+).\*"upstream\_range":"(?P\d+)-(?P\d+)"/ { +registry\_push\_session\_bytes\_tmp\[\$uuid] += int(\$end2) - int(\$start2) + 1 +registry\_push\_session\_seconds\_tmp\[\$uuid] += \$rt2 +registry\_push\_upload\_bytes\_total\[\$repo]\[\$user]\[\$node] += int(\$end2) + 1 +registry\_push\_upload\_seconds\_total\[\$repo]\[\$user]\[\$node] += \$rt2 +registry\_requests\_total\["push\_upload"]\[\$repo]\[\$node]++ +} + +/"remote\_address":"(?P\[^"]*)".*"remote\_user":"(?P\[^"]*)".*"method":"PUT".\*"path":"/v2/(?P.+?)/blobs/uploads/(?P\[a-f0-9-]+)"/ { +registry\_push\_session\_bytes\_total\[\$repo]\[\$user]\[\$node] += registry\_push\_session\_bytes\_tmp\[\$uuid] +registry\_push\_session\_seconds\_total\[\$repo]\[\$user]\[\$node] += registry\_push\_session\_seconds\_tmp\[\$uuid] +registry\_push\_session\_bytes\_tmp\[\$uuid] = 0 +registry\_push\_session\_seconds\_tmp\[\$uuid] = 0 +} + +/"remote\_address":"(?P\[^"]*)".*"method":"GET".\*"path":"/v2/(?P.+?)/manifests/\[^"]+"/ { +registry\_requests\_total\["pull\_manifest"]\[\$repo]\[\$node]++ +} + +/"remote\_address":"(?P\[^"]*)".*"method":"PUT".\*"path":"/v2/(?P.+?)/manifests/\[^"]+"/ { +registry\_requests\_total\["push\_manifest"]\[\$repo]\[\$node]++ +} + +/"remote\_address":"(?P\[^"]*)".*"path":"/v2/".\*"method":"\w+"/ { +registry\_requests\_total\["v2\_root"]\["none"]\[\$node]++ +} \ No newline at end of file