From f29cb8175c9352ac4a5c3e2869984c45fb4f2d81 Mon Sep 17 00:00:00 2001 From: Shachar Sharon Date: Mon, 5 Aug 2024 13:35:51 +0300 Subject: [PATCH 1/2] README: use proper port number The current default smbmetrics port number is 9922. Reflect this in top-level README file. Signed-off-by: Shachar Sharon --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d4032da..ebacc01 100644 --- a/README.md +++ b/README.md @@ -16,12 +16,12 @@ $ make image-build ## Query metrics When running (by privileged user) along-side active SMB server, `smbmetrics` -exports a set of gauge metrics over HTTP via port `8080`. Most metrics become +exports a set of gauge metrics over HTTP via port `9922`. Most metrics become visible only when active SMB connections exists. Execute the folowing `curl` command on the same machine where you run `smbmetrics` instance: ```console -$ curl --request GET "http://localhost:8080/metrics" +$ curl --request GET "http://localhost:9922/metrics" ``` ## Exported metrics @@ -45,7 +45,7 @@ The following example is from a setup with 2 shares and 2 users connected and performing SMB file-system operations from 4 different machines: ```console -$ curl --request GET "http://localhost:8080/metrics" +$ curl --request GET "http://localhost:9922/metrics" # HELP smb_metrics_status Current metrics-collector status versions # TYPE smb_metrics_status gauge From cbbbeb57e20fe2e708b8e13e23c50e20bb720cb4 Mon Sep 17 00:00:00 2001 From: Shachar Sharon Date: Mon, 5 Aug 2024 13:39:38 +0300 Subject: [PATCH 2/2] metrics: always resolve all versions Do not bail-out in case of failure to resolve any of the sub-component versions but rather defer this failure to final status code. Required in order to avoid partial versions-view as part of exported status metric. Signed-off-by: Shachar Sharon --- internal/metrics/versions.go | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/internal/metrics/versions.go b/internal/metrics/versions.go index 41ffd70..e190897 100644 --- a/internal/metrics/versions.go +++ b/internal/metrics/versions.go @@ -4,6 +4,7 @@ package metrics import ( "context" + "errors" ) var ( @@ -26,26 +27,17 @@ func UpdateDefaultVersions(version, commitid string) { // ResolveVersions is a best-effort to resolve current pod's versions info func ResolveVersions(clnt *kclient) (Versions, error) { - var err error + var imgErr, smbVersErr, ctdbVersErr error vers := Versions{ Version: defaultVersions.Version, CommitID: defaultVersions.CommitID, } if clnt != nil { - vers.SambaImage, err = resolveSambaImage(clnt) - if err != nil { - return vers, err - } - } - vers.SambaVersion, err = resolveSambaVersion() - if err != nil { - return vers, err - } - vers.CtdbVersion, err = resolveCtdbVersion() - if err != nil { - return vers, err + vers.SambaImage, imgErr = resolveSambaImage(clnt) } - return vers, nil + vers.SambaVersion, smbVersErr = resolveSambaVersion() + vers.CtdbVersion, ctdbVersErr = resolveCtdbVersion() + return vers, errors.Join(imgErr, smbVersErr, ctdbVersErr) } func resolveSambaImage(clnt *kclient) (string, error) {