summaryrefslogtreecommitdiff
path: root/f3s
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-07-12 09:08:27 +0300
committerPaul Buetow <paul@buetow.org>2026-07-12 09:08:27 +0300
commit65b728742d07173b52cd714288b1aa3491b8316c (patch)
tree65ac3b96cb6b69fe14aa1ce506973e9bfc5e8274 /f3s
parent37d88cfedf8a387930332ee53091cff6bd8dc7a7 (diff)
Fix swap and FreeBSD memory alert thresholds
Diffstat (limited to 'f3s')
-rw-r--r--f3s/prometheus/freebsd-recording-rules.yaml15
-rw-r--r--f3s/prometheus/manifests/freebsd-recording-rules.yaml15
2 files changed, 24 insertions, 6 deletions
diff --git a/f3s/prometheus/freebsd-recording-rules.yaml b/f3s/prometheus/freebsd-recording-rules.yaml
index edc4429..c2a747d 100644
--- a/f3s/prometheus/freebsd-recording-rules.yaml
+++ b/f3s/prometheus/freebsd-recording-rules.yaml
@@ -16,10 +16,19 @@ spec:
labels:
os: freebsd
- # Synthetic MemAvailable for FreeBSD
- # Available = free + inactive + cache (approximation)
+ # Synthetic MemAvailable for FreeBSD. Laundry pages are reclaimable
+ # after writeback, as is the portion of ZFS ARC above its minimum.
- record: node_memory_MemAvailable_bytes
- expr: node_memory_free_bytes{os="freebsd"} + node_memory_inactive_bytes{os="freebsd"} + node_memory_cache_bytes{os="freebsd"}
+ expr: |
+ node_memory_free_bytes{os="freebsd"}
+ + node_memory_inactive_bytes{os="freebsd"}
+ + node_memory_cache_bytes{os="freebsd"}
+ + node_memory_laundry_bytes{os="freebsd"}
+ + clamp_min(
+ node_zfs_arcstats_size_bytes{os="freebsd"}
+ - node_zfs_arcstats_c_min_bytes{os="freebsd"},
+ 0
+ )
labels:
os: freebsd
diff --git a/f3s/prometheus/manifests/freebsd-recording-rules.yaml b/f3s/prometheus/manifests/freebsd-recording-rules.yaml
index 501a54c..e543787 100644
--- a/f3s/prometheus/manifests/freebsd-recording-rules.yaml
+++ b/f3s/prometheus/manifests/freebsd-recording-rules.yaml
@@ -18,10 +18,19 @@ spec:
labels:
os: freebsd
- # Synthetic MemAvailable for FreeBSD
- # Available = free + inactive + cache (approximation)
+ # Synthetic MemAvailable for FreeBSD. Laundry pages are reclaimable
+ # after writeback, as is the portion of ZFS ARC above its minimum.
- record: node_memory_MemAvailable_bytes
- expr: node_memory_free_bytes{os="freebsd"} + node_memory_inactive_bytes{os="freebsd"} + node_memory_cache_bytes{os="freebsd"}
+ expr: |
+ node_memory_free_bytes{os="freebsd"}
+ + node_memory_inactive_bytes{os="freebsd"}
+ + node_memory_cache_bytes{os="freebsd"}
+ + node_memory_laundry_bytes{os="freebsd"}
+ + clamp_min(
+ node_zfs_arcstats_size_bytes{os="freebsd"}
+ - node_zfs_arcstats_c_min_bytes{os="freebsd"},
+ 0
+ )
labels:
os: freebsd