From ca58d8be95b415ae9b21e716f0ca698d69009110 Mon Sep 17 00:00:00 2001 From: nikolamilosa Date: Mon, 10 Nov 2025 20:13:22 +0100 Subject: [PATCH 1/3] feat: scraping NRC --- docker/config/prometheus/config-template.yaml | 74 ++++++++++++++----- .../prom_config_builder.py | 5 ++ 2 files changed, 60 insertions(+), 19 deletions(-) diff --git a/docker/config/prometheus/config-template.yaml b/docker/config/prometheus/config-template.yaml index 25da4d1..064bec1 100644 --- a/docker/config/prometheus/config-template.yaml +++ b/docker/config/prometheus/config-template.yaml @@ -3,27 +3,31 @@ anchors: tls_config: insecure_skip_verify: true + relabel_strip_scheme: &relabel_strip_scheme + source_labels: + - __address__ + target_label: __address__ + regex: (.*)://(.*) + replacement: ${2} + action: replace + relabel_strip_metrics: &relabel_strip_metrics + source_labels: + - __address__ + target_label: __address__ + regex: (.*?)/(.*) + replacement: ${1} + action: replace + relabel_prevent_mismatch_job: &relabel_prevent_mismatch_job + source_labels: ["job"] + target_label: __dropped + regex: "" + action: keep + relabelings: &relabelings relabel_configs: - - # Strip the scheme from the discovery generated address. - source_labels: - - __address__ - target_label: __address__ - regex: (.*)://(.*) - replacement: ${2} - action: replace - - # Strip the metrics path from the discovery generated address. - source_labels: - - __address__ - target_label: __address__ - regex: (.*?)/(.*) - replacement: ${1} - action: replace - - # Prevent all scrapes that do not match this job. - source_labels: ["job"] - target_label: __dropped - regex: "" - action: keep + - *relabel_strip_scheme + - *relabel_strip_metrics + - *relabel_prevent_mismatch_job http_configs: &http_configs http_sd_configs: @@ -77,3 +81,35 @@ scrape_configs: <<: *relabelings + - job_name: node_reward_canister + metrics_path: /metrics + scheme: https + + <<: *tls + + static_configs: + - targets: + - uuew5-iiaaa-aaaaa-qbx4q-cai.raw.icp0.io + - 4ofd5-6aaaa-aaaaa-qahza-cai.raw.icp0.io + + # Don't need to filter on job + relabel_configs: + # Strip the address + - source_labels: + - __address__ + target_label: canister_id + regex: (.*)\.raw\.icp0\.io + replacement: ${1} + action: replace + # Assign env="dev" to all + - source_labels: ["__address__"] + target_label: env + regex: .* + replacement: dev + action: replace + # Assign env="prod" to 4ofd5-6aaaa-aaaaa-qahza-cai + - source_labels: ["__address__"] + target_label: env + regex: 4ofd5-6aaaa-aaaaa-qahza-cai + replacement: prod + action: replace diff --git a/docker/tools/prom-config-builder/prom_config_builder.py b/docker/tools/prom-config-builder/prom_config_builder.py index 8108efa..031ffc4 100644 --- a/docker/tools/prom-config-builder/prom_config_builder.py +++ b/docker/tools/prom-config-builder/prom_config_builder.py @@ -61,6 +61,8 @@ def ignore_aliases(self, data): ) +SKIP_JOBS = ["node_reward_canister"] + if __name__ == "__main__": args = parse_args() @@ -71,6 +73,9 @@ def ignore_aliases(self, data): for scrape_config in template["scrape_configs"]: job_name = scrape_config["job_name"] + if job_name in SKIP_JOBS: + continue + # Restrict job scrape_config["relabel_configs"][2]["regex"] = job_name From b3f4967eac295a387aa3102179714c9520815a74 Mon Sep 17 00:00:00 2001 From: nikolamilosa Date: Mon, 10 Nov 2025 20:16:28 +0100 Subject: [PATCH 2/3] correcting label values --- docker/config/prometheus/config-template.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/config/prometheus/config-template.yaml b/docker/config/prometheus/config-template.yaml index 064bec1..f7badaf 100644 --- a/docker/config/prometheus/config-template.yaml +++ b/docker/config/prometheus/config-template.yaml @@ -102,13 +102,13 @@ scrape_configs: replacement: ${1} action: replace # Assign env="dev" to all - - source_labels: ["__address__"] + - source_labels: ["canister_id"] target_label: env regex: .* replacement: dev action: replace # Assign env="prod" to 4ofd5-6aaaa-aaaaa-qahza-cai - - source_labels: ["__address__"] + - source_labels: ["canister_id"] target_label: env regex: 4ofd5-6aaaa-aaaaa-qahza-cai replacement: prod From eae8cd7cab81745e3d3d76fad9734ba82493b1e1 Mon Sep 17 00:00:00 2001 From: nikolamilosa Date: Mon, 10 Nov 2025 21:02:36 +0100 Subject: [PATCH 3/3] using correct canister id for prod --- docker/config/prometheus/config-template.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/config/prometheus/config-template.yaml b/docker/config/prometheus/config-template.yaml index f7badaf..06de23c 100644 --- a/docker/config/prometheus/config-template.yaml +++ b/docker/config/prometheus/config-template.yaml @@ -90,7 +90,7 @@ scrape_configs: static_configs: - targets: - uuew5-iiaaa-aaaaa-qbx4q-cai.raw.icp0.io - - 4ofd5-6aaaa-aaaaa-qahza-cai.raw.icp0.io + - sgymv-uiaaa-aaaaa-aaaia-cai.raw.icp0.io # Don't need to filter on job relabel_configs: @@ -107,9 +107,9 @@ scrape_configs: regex: .* replacement: dev action: replace - # Assign env="prod" to 4ofd5-6aaaa-aaaaa-qahza-cai + # Assign env="prod" to sgymv-uiaaa-aaaaa-aaaia-cai - source_labels: ["canister_id"] target_label: env - regex: 4ofd5-6aaaa-aaaaa-qahza-cai + regex: sgymv-uiaaa-aaaaa-aaaia-cai replacement: prod action: replace