From d2d1386abb358fa547a40fc8df613d799155b56d Mon Sep 17 00:00:00 2001 From: Tim Keller Date: Thu, 27 Aug 2026 12:45:44 -0500 Subject: split into a flake with separable collectors/server modules Replaces the single lgtm.nix with a flake exposing two NixOS modules under services.telemetry, so the web services can move into a container declared in the consuming config rather than one hardcoded here. modules/collectors.nix host-side: node + smartctl exporters, the ZFS and SMART textfile collector timers, Alloy journal shipping. Must run on the host -- reads /proc, /sys, raw block devices and ZFS ioctls. modules/server.nix Prometheus, Loki, Grafana, optional Caddy. modules/common.nix ports, shared by both halves. modules/dashboards.nix jq fixup and grafana.com fetches. modules/packages.nix the two collectors as ordinary packages. Modules are exported as paths, not functions, so they evaluate with the consumer's nixpkgs; the flake's own input only affects packages/checks/devShells. Multi-host support. collectorHosts is a list, both scrape jobs relabel __address__ into a `host` label, and all 133 queries in the two generated dashboards are scoped to host=~"$host" behind a single-select Host picker. `instance` could not serve as that key: one machine is scraped twice on different ports (textfile metrics on :9100, smartctl_* on :9633) and the recording rules join across that boundary. Grafana's secret key becomes a plain secretKeyFile path wired through LoadCredential, with an assertion -- nixpkgs 26.05 dropped the default. No sops-nix input. nix flake check runs promtool over the rules, diffs the committed dashboard JSON against what the generators produce, and evaluates both modules. Also fixes smart-selftest emitting a placeholder identity line when smartctl cannot open a device. smartctl exits 0 with well-formed but empty JSON in that case, so "SSD - unknown model - no serial" was reaching a dashboard row title; it now emits nothing and lets the smartctl:ident fallback apply. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01JKczN1f66kmLxNBLX37voQ --- dashboards/zfs-pools.json | 173 ++++++++++++++++++++++++++-------------------- 1 file changed, 98 insertions(+), 75 deletions(-) (limited to 'dashboards/zfs-pools.json') diff --git a/dashboards/zfs-pools.json b/dashboards/zfs-pools.json index 0721bb8..c36a42a 100644 --- a/dashboards/zfs-pools.json +++ b/dashboards/zfs-pools.json @@ -18,6 +18,27 @@ }, "templating": { "list": [ + { + "name": "host", + "label": "Host", + "type": "query", + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "query": { + "qryType": 1, + "query": "label_values(zfs_pool_health_code, host)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "includeAll": false, + "multi": false, + "options": [], + "sort": 1, + "hide": 0, + "regex": "" + }, { "name": "pool", "label": "Pool", @@ -28,13 +49,17 @@ }, "query": { "qryType": 1, - "query": "label_values(zfs_pool_health_code, pool)", + "query": "label_values(zfs_pool_health_code{host=~\"$host\"}, pool)", "refId": "PrometheusVariableQueryEditor-VariableQuery" }, "refresh": 1, "includeAll": true, - "allValue": ".*", "multi": true, + "options": [], + "sort": 1, + "hide": 0, + "regex": "", + "allValue": ".*", "current": { "text": [ "All" @@ -42,9 +67,7 @@ "value": [ "$__all" ] - }, - "options": [], - "sort": 1 + } } ] }, @@ -184,7 +207,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_health_code{pool=~\"$pool\"}", + "expr": "zfs_pool_health_code{host=~\"$host\", pool=~\"$pool\"}", "refId": "A", "instant": true, "range": false, @@ -251,7 +274,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "sum(zfs_pool_data_errors{pool=~\"$pool\"}) or vector(0)", + "expr": "sum(zfs_pool_data_errors{host=~\"$host\", pool=~\"$pool\"}) or vector(0)", "refId": "A", "instant": true, "range": false, @@ -318,7 +341,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "sum(zfs_pool_vdev_errors_total{pool=~\"$pool\"}) or vector(0)", + "expr": "sum(zfs_pool_vdev_errors_total{host=~\"$host\", pool=~\"$pool\"}) or vector(0)", "refId": "A", "instant": true, "range": false, @@ -390,7 +413,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "time() - max(zfs_pool_last_scrub_end_timestamp_seconds{pool=~\"$pool\"})", + "expr": "time() - max(zfs_pool_last_scrub_end_timestamp_seconds{host=~\"$host\", pool=~\"$pool\"})", "refId": "A", "instant": true, "range": false, @@ -469,7 +492,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "max(zfs_pool_scrub_in_progress{pool=~\"$pool\"})", + "expr": "max(zfs_pool_scrub_in_progress{host=~\"$host\", pool=~\"$pool\"})", "refId": "A", "instant": true, "range": false, @@ -481,7 +504,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "max(zfs_pool_resilver_in_progress{pool=~\"$pool\"})", + "expr": "max(zfs_pool_resilver_in_progress{host=~\"$host\", pool=~\"$pool\"})", "refId": "B", "instant": true, "range": false, @@ -548,7 +571,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "count(zfs_dataset_encrypted{pool=~\"$pool\"} == 1 and zfs_dataset_key_available{pool=~\"$pool\"} == 0) or vector(0)", + "expr": "count(zfs_dataset_encrypted{host=~\"$host\", pool=~\"$pool\"} == 1 and zfs_dataset_key_available{host=~\"$host\", pool=~\"$pool\"} == 0) or vector(0)", "refId": "A", "instant": true, "range": false, @@ -618,7 +641,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_capacity_ratio{pool=~\"$pool\"}", + "expr": "zfs_pool_capacity_ratio{host=~\"$host\", pool=~\"$pool\"}", "refId": "A", "instant": true, "range": false, @@ -688,7 +711,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_fragmentation_ratio{pool=~\"$pool\"}", + "expr": "zfs_pool_fragmentation_ratio{host=~\"$host\", pool=~\"$pool\"}", "refId": "A", "instant": true, "range": false, @@ -752,7 +775,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_free_bytes{pool=~\"$pool\"}", + "expr": "zfs_pool_free_bytes{host=~\"$host\", pool=~\"$pool\"}", "refId": "A", "instant": true, "range": false, @@ -819,7 +842,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "count((time() - zfs_snapshot_newest_timestamp_seconds{pool=~\"$pool\"}) > on(label) group_left() (2 * zfs_snapshot_interval_seconds)) or vector(0)", + "expr": "count((time() - zfs_snapshot_newest_timestamp_seconds{host=~\"$host\", pool=~\"$pool\"}) > on(label) group_left() (2 * zfs_snapshot_interval_seconds{host=~\"$host\"})) or vector(0)", "refId": "A", "instant": true, "range": false, @@ -883,7 +906,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "time() - min(zfs_pool_snapshot_oldest_timestamp_seconds{pool=~\"$pool\"})", + "expr": "time() - min(zfs_pool_snapshot_oldest_timestamp_seconds{host=~\"$host\", pool=~\"$pool\"})", "refId": "A", "instant": true, "range": false, @@ -970,7 +993,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_allocated_bytes{pool=~\"$pool\"}", + "expr": "zfs_pool_allocated_bytes{host=~\"$host\", pool=~\"$pool\"}", "refId": "A", "instant": false, "range": true, @@ -982,7 +1005,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_free_bytes{pool=~\"$pool\"}", + "expr": "zfs_pool_free_bytes{host=~\"$host\", pool=~\"$pool\"}", "refId": "B", "instant": false, "range": true, @@ -1070,7 +1093,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_fragmentation_ratio{pool=~\"$pool\"}", + "expr": "zfs_pool_fragmentation_ratio{host=~\"$host\", pool=~\"$pool\"}", "refId": "A", "instant": false, "range": true, @@ -1206,7 +1229,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_size_bytes{pool=~\"$pool\"}", + "expr": "zfs_pool_size_bytes{host=~\"$host\", pool=~\"$pool\"}", "refId": "A", "instant": true, "range": false, @@ -1218,7 +1241,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "max by (pool) (zfs_pool_allocated_bytes{pool=~\"$pool\"})", + "expr": "max by (pool) (zfs_pool_allocated_bytes{host=~\"$host\", pool=~\"$pool\"})", "refId": "B", "instant": true, "range": false, @@ -1230,7 +1253,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "max by (pool) (zfs_pool_free_bytes{pool=~\"$pool\"})", + "expr": "max by (pool) (zfs_pool_free_bytes{host=~\"$host\", pool=~\"$pool\"})", "refId": "C", "instant": true, "range": false, @@ -1242,7 +1265,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "max by (pool) (zfs_pool_capacity_ratio{pool=~\"$pool\"})", + "expr": "max by (pool) (zfs_pool_capacity_ratio{host=~\"$host\", pool=~\"$pool\"})", "refId": "D", "instant": true, "range": false, @@ -1254,7 +1277,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "max by (pool) (zfs_pool_fragmentation_ratio{pool=~\"$pool\"})", + "expr": "max by (pool) (zfs_pool_fragmentation_ratio{host=~\"$host\", pool=~\"$pool\"})", "refId": "E", "instant": true, "range": false, @@ -1266,7 +1289,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "max by (pool) (zfs_pool_snapshot_used_bytes{pool=~\"$pool\"})", + "expr": "max by (pool) (zfs_pool_snapshot_used_bytes{host=~\"$host\", pool=~\"$pool\"})", "refId": "F", "instant": true, "range": false, @@ -1278,7 +1301,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "max by (pool) (zfs_pool_dedup_ratio{pool=~\"$pool\"})", + "expr": "max by (pool) (zfs_pool_dedup_ratio{host=~\"$host\", pool=~\"$pool\"})", "refId": "G", "instant": true, "range": false, @@ -1481,7 +1504,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_vdev_state_code{pool=~\"$pool\"}", + "expr": "zfs_pool_vdev_state_code{host=~\"$host\", pool=~\"$pool\"}", "refId": "A", "instant": true, "range": false, @@ -1589,7 +1612,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_vdev_errors_total{pool=~\"$pool\"}", + "expr": "zfs_pool_vdev_errors_total{host=~\"$host\", pool=~\"$pool\"}", "refId": "A", "instant": false, "range": true, @@ -1737,7 +1760,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_last_scrub_end_timestamp_seconds{pool=~\"$pool\"} * 1000", + "expr": "zfs_pool_last_scrub_end_timestamp_seconds{host=~\"$host\", pool=~\"$pool\"} * 1000", "refId": "A", "instant": true, "range": false, @@ -1749,7 +1772,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_last_scrub_duration_seconds{pool=~\"$pool\"}", + "expr": "zfs_pool_last_scrub_duration_seconds{host=~\"$host\", pool=~\"$pool\"}", "refId": "B", "instant": true, "range": false, @@ -1761,7 +1784,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_last_scrub_errors{pool=~\"$pool\"}", + "expr": "zfs_pool_last_scrub_errors{host=~\"$host\", pool=~\"$pool\"}", "refId": "C", "instant": true, "range": false, @@ -1773,7 +1796,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_last_scrub_repaired_bytes{pool=~\"$pool\"}", + "expr": "zfs_pool_last_scrub_repaired_bytes{host=~\"$host\", pool=~\"$pool\"}", "refId": "D", "instant": true, "range": false, @@ -1785,7 +1808,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_last_resilver_end_timestamp_seconds{pool=~\"$pool\"} * 1000", + "expr": "zfs_pool_last_resilver_end_timestamp_seconds{host=~\"$host\", pool=~\"$pool\"} * 1000", "refId": "E", "instant": true, "range": false, @@ -1903,7 +1926,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_data_errors{pool=~\"$pool\"}", + "expr": "zfs_pool_data_errors{host=~\"$host\", pool=~\"$pool\"}", "refId": "A", "instant": false, "range": true, @@ -1987,7 +2010,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "time() - max by (label) (zfs_pool_snapshot_newest_timestamp_seconds{pool=~\"$pool\"})", + "expr": "time() - max by (label) (zfs_pool_snapshot_newest_timestamp_seconds{host=~\"$host\", pool=~\"$pool\"})", "refId": "A", "instant": true, "range": false, @@ -2059,7 +2082,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "min by (label) (zfs_snapshot_count{pool=~\"$pool\"} / on(label) group_left() zfs_snapshot_retention_target)", + "expr": "min by (label) (zfs_snapshot_count{host=~\"$host\", pool=~\"$pool\"} / on(label) group_left() zfs_snapshot_retention_target{host=~\"$host\"})", "refId": "A", "instant": true, "range": false, @@ -2122,7 +2145,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "time() - min by (label) (zfs_pool_snapshot_oldest_timestamp_seconds{pool=~\"$pool\"})", + "expr": "time() - min by (label) (zfs_pool_snapshot_oldest_timestamp_seconds{host=~\"$host\", pool=~\"$pool\"})", "refId": "A", "instant": true, "range": false, @@ -2208,7 +2231,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "sum by (label) (zfs_snapshot_count{pool=~\"$pool\"})", + "expr": "sum by (label) (zfs_snapshot_count{host=~\"$host\", pool=~\"$pool\"})", "refId": "A", "instant": false, "range": true, @@ -2295,7 +2318,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "sum by (label) (zfs_pool_snapshot_used_bytes{pool=~\"$pool\"})", + "expr": "sum by (label) (zfs_pool_snapshot_used_bytes{host=~\"$host\", pool=~\"$pool\"})", "refId": "A", "instant": false, "range": true, @@ -2362,7 +2385,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "sum(node_systemd_unit_state{name=~\"zfs-(snapshot|scrub).*\",state=\"failed\"}) or vector(0)", + "expr": "sum(node_systemd_unit_state{host=~\"$host\", name=~\"zfs-(snapshot|scrub).*\", state=\"failed\"}) or vector(0)", "refId": "A", "instant": true, "range": false, @@ -2425,7 +2448,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "time() - node_systemd_timer_last_trigger_seconds{name=~\"zfs-.*\"}", + "expr": "time() - node_systemd_timer_last_trigger_seconds{host=~\"$host\", name=~\"zfs-.*\"}", "refId": "A", "instant": true, "range": false, @@ -2525,7 +2548,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_dataset_used_bytes{pool=~\"$pool\"}", + "expr": "zfs_dataset_used_bytes{host=~\"$host\", pool=~\"$pool\"}", "refId": "A", "instant": false, "range": true, @@ -2630,7 +2653,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_dataset_used_bytes{pool=~\"$pool\"}", + "expr": "zfs_dataset_used_bytes{host=~\"$host\", pool=~\"$pool\"}", "refId": "A", "instant": true, "range": false, @@ -2642,7 +2665,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "max by (dataset) (zfs_dataset_used_by_dataset_bytes{pool=~\"$pool\"})", + "expr": "max by (dataset) (zfs_dataset_used_by_dataset_bytes{host=~\"$host\", pool=~\"$pool\"})", "refId": "B", "instant": true, "range": false, @@ -2654,7 +2677,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "max by (dataset) (zfs_dataset_used_by_snapshots_bytes{pool=~\"$pool\"})", + "expr": "max by (dataset) (zfs_dataset_used_by_snapshots_bytes{host=~\"$host\", pool=~\"$pool\"})", "refId": "C", "instant": true, "range": false, @@ -2666,7 +2689,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "max by (dataset) (zfs_dataset_referenced_bytes{pool=~\"$pool\"})", + "expr": "max by (dataset) (zfs_dataset_referenced_bytes{host=~\"$host\", pool=~\"$pool\"})", "refId": "D", "instant": true, "range": false, @@ -2678,7 +2701,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "max by (dataset) (zfs_dataset_logical_used_bytes{pool=~\"$pool\"})", + "expr": "max by (dataset) (zfs_dataset_logical_used_bytes{host=~\"$host\", pool=~\"$pool\"})", "refId": "E", "instant": true, "range": false, @@ -2690,7 +2713,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "max by (dataset) (zfs_dataset_available_bytes{pool=~\"$pool\"})", + "expr": "max by (dataset) (zfs_dataset_available_bytes{host=~\"$host\", pool=~\"$pool\"})", "refId": "F", "instant": true, "range": false, @@ -2702,7 +2725,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "max by (dataset) (zfs_dataset_compression_ratio{pool=~\"$pool\"})", + "expr": "max by (dataset) (zfs_dataset_compression_ratio{host=~\"$host\", pool=~\"$pool\"})", "refId": "G", "instant": true, "range": false, @@ -2714,7 +2737,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "max by (dataset) (zfs_dataset_quota_bytes{pool=~\"$pool\"} > 0)", + "expr": "max by (dataset) (zfs_dataset_quota_bytes{host=~\"$host\", pool=~\"$pool\"} > 0)", "refId": "H", "instant": true, "range": false, @@ -2841,7 +2864,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_dataset_compression_ratio{pool=~\"$pool\"} * on(pool, dataset) group_left(compression) zfs_dataset_compression{pool=~\"$pool\"}", + "expr": "zfs_dataset_compression_ratio{host=~\"$host\", pool=~\"$pool\"} * on(pool, dataset) group_left(compression) zfs_dataset_compression{host=~\"$host\", pool=~\"$pool\"}", "refId": "A", "instant": true, "range": false, @@ -2991,7 +3014,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_dataset_keystatus_code{pool=~\"$pool\"} * on(pool, dataset) group_left(encryption) zfs_dataset_encryption{pool=~\"$pool\"}", + "expr": "zfs_dataset_keystatus_code{host=~\"$host\", pool=~\"$pool\"} * on(pool, dataset) group_left(encryption) zfs_dataset_encryption{host=~\"$host\", pool=~\"$pool\"}", "refId": "A", "instant": true, "range": false, @@ -3118,7 +3141,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "rate(node_zfs_zpool_dataset_nread{zpool=~\"$pool\"}[$__rate_interval])", + "expr": "rate(node_zfs_zpool_dataset_nread{host=~\"$host\", zpool=~\"$pool\"}[$__rate_interval])", "refId": "A", "instant": false, "range": true, @@ -3130,7 +3153,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "-rate(node_zfs_zpool_dataset_nwritten{zpool=~\"$pool\"}[$__rate_interval])", + "expr": "-rate(node_zfs_zpool_dataset_nwritten{host=~\"$host\", zpool=~\"$pool\"}[$__rate_interval])", "refId": "B", "instant": false, "range": true, @@ -3216,7 +3239,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "rate(node_zfs_zpool_dataset_reads{zpool=~\"$pool\"}[$__rate_interval])", + "expr": "rate(node_zfs_zpool_dataset_reads{host=~\"$host\", zpool=~\"$pool\"}[$__rate_interval])", "refId": "A", "instant": false, "range": true, @@ -3228,7 +3251,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "-rate(node_zfs_zpool_dataset_writes{zpool=~\"$pool\"}[$__rate_interval])", + "expr": "-rate(node_zfs_zpool_dataset_writes{host=~\"$host\", zpool=~\"$pool\"}[$__rate_interval])", "refId": "B", "instant": false, "range": true, @@ -3315,7 +3338,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "node_zfs_arc_size", + "expr": "node_zfs_arc_size{host=~\"$host\"}", "refId": "A", "instant": false, "range": true, @@ -3327,7 +3350,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "node_zfs_arc_c_max", + "expr": "node_zfs_arc_c_max{host=~\"$host\"}", "refId": "B", "instant": false, "range": true, @@ -3339,7 +3362,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "node_zfs_arc_c_min", + "expr": "node_zfs_arc_c_min{host=~\"$host\"}", "refId": "C", "instant": false, "range": true, @@ -3426,7 +3449,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "rate(node_zfs_arc_hits[$__rate_interval]) / clamp_min(rate(node_zfs_arc_hits[$__rate_interval]) + rate(node_zfs_arc_misses[$__rate_interval]), 1)", + "expr": "rate(node_zfs_arc_hits{host=~\"$host\"}[$__rate_interval]) / clamp_min(rate(node_zfs_arc_hits{host=~\"$host\"}[$__rate_interval]) + rate(node_zfs_arc_misses{host=~\"$host\"}[$__rate_interval]), 1)", "refId": "A", "instant": false, "range": true, @@ -3513,7 +3536,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "rate(node_zfs_arc_hits[$__rate_interval])", + "expr": "rate(node_zfs_arc_hits{host=~\"$host\"}[$__rate_interval])", "refId": "A", "instant": false, "range": true, @@ -3525,7 +3548,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "rate(node_zfs_arc_misses[$__rate_interval])", + "expr": "rate(node_zfs_arc_misses{host=~\"$host\"}[$__rate_interval])", "refId": "B", "instant": false, "range": true, @@ -3624,7 +3647,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_freeing_bytes{pool=~\"$pool\"}", + "expr": "zfs_pool_freeing_bytes{host=~\"$host\", pool=~\"$pool\"}", "refId": "A", "instant": false, "range": true, @@ -3636,7 +3659,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_leaked_bytes{pool=~\"$pool\"}", + "expr": "zfs_pool_leaked_bytes{host=~\"$host\", pool=~\"$pool\"}", "refId": "B", "instant": false, "range": true, @@ -3648,7 +3671,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_checkpoint_bytes{pool=~\"$pool\"}", + "expr": "zfs_pool_checkpoint_bytes{host=~\"$host\", pool=~\"$pool\"}", "refId": "C", "instant": false, "range": true, @@ -3734,7 +3757,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_dedup_ratio{pool=~\"$pool\"}", + "expr": "zfs_pool_dedup_ratio{host=~\"$host\", pool=~\"$pool\"}", "refId": "A", "instant": false, "range": true, @@ -3872,7 +3895,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_pool_health_code{pool=~\"$pool\"}", + "expr": "zfs_pool_health_code{host=~\"$host\", pool=~\"$pool\"}", "refId": "A", "instant": false, "range": true, @@ -4005,7 +4028,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_dataset_recordsize_bytes{pool=~\"$pool\"}", + "expr": "zfs_dataset_recordsize_bytes{host=~\"$host\", pool=~\"$pool\"}", "refId": "A", "instant": true, "range": false, @@ -4017,7 +4040,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_dataset_quota_bytes{pool=~\"$pool\"}", + "expr": "zfs_dataset_quota_bytes{host=~\"$host\", pool=~\"$pool\"}", "refId": "B", "instant": true, "range": false, @@ -4029,7 +4052,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_dataset_refquota_bytes{pool=~\"$pool\"}", + "expr": "zfs_dataset_refquota_bytes{host=~\"$host\", pool=~\"$pool\"}", "refId": "C", "instant": true, "range": false, @@ -4041,7 +4064,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_dataset_autosnapshot_enabled{pool=~\"$pool\"}", + "expr": "zfs_dataset_autosnapshot_enabled{host=~\"$host\", pool=~\"$pool\"}", "refId": "D", "instant": true, "range": false, @@ -4173,7 +4196,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "zfs_metrics_collection_duration_seconds", + "expr": "zfs_metrics_collection_duration_seconds{host=~\"$host\"}", "refId": "A", "instant": false, "range": true, @@ -4260,7 +4283,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "time() - node_textfile_mtime_seconds", + "expr": "time() - node_textfile_mtime_seconds{host=~\"$host\"}", "refId": "A", "instant": false, "range": true, @@ -4358,7 +4381,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "node_textfile_scrape_error", + "expr": "node_textfile_scrape_error{host=~\"$host\"}", "refId": "B", "instant": false, "range": true, -- cgit v1.3.1