diff --git a/glance-system/glance-kisfenyo.yaml b/glance-system/glance-kisfenyo.yaml index 8457b42..470991f 100644 --- a/glance-system/glance-kisfenyo.yaml +++ b/glance-system/glance-kisfenyo.yaml @@ -345,24 +345,52 @@ data: cache: 5m url: ${PROMETHEUS_URL}/api/v1/query parameters: - # Get all images that have updates available (is_latest_version = 0) - query: version_checker_is_latest_version == 0 + # Unique outdated images (no init containers; optional noise filter) + query: > + max by (image, current_version, latest_version) ( + version_checker_is_latest_version{ + container_type="container", + image!~"(^|.*/)(busybox|redis|alpine)$" + } == 0 + ) subrequests: - # Count of up-to-date images up_to_date: url: ${PROMETHEUS_URL}/api/v1/query parameters: - query: count(version_checker_is_latest_version == 1) or vector(0) - # Count of outdated images + query: > + count( + max by (image) ( + version_checker_is_latest_version{ + container_type="container", + image!~"(^|.*/)(busybox|redis|alpine)$" + } == 1 + ) + ) or vector(0) outdated: url: ${PROMETHEUS_URL}/api/v1/query parameters: - query: count(version_checker_is_latest_version == 0) or vector(0) - # Total monitored images + query: > + count( + max by (image) ( + version_checker_is_latest_version{ + container_type="container", + image!~"(^|.*/)(busybox|redis|alpine)$" + } == 0 + ) + ) or vector(0) total: url: ${PROMETHEUS_URL}/api/v1/query parameters: - query: count(version_checker_is_latest_version) or vector(0) + query: > + count( + max by (image) ( + version_checker_is_latest_version{ + container_type="container", + image!~"(^|.*/)(busybox|redis|alpine)$" + } + ) + ) or vector(0) + template: |