apiVersion: operator.victoriametrics.com/v1beta1 kind: VMRule metadata: name: ci-sustainability spec: groups: - name: ci.sustainability.daily interval: 5m rules: - record: ci:cpu_seconds:increase1d expr: | sum by(namespace, cluster) ( increase(container_cpu_usage_seconds_total{ namespace=~"gitea|garm", pod=~"forgejo-runner.*|garm-.*", container!="" }[1d]) ) - record: ci:memory_bytes_seconds:avg1d expr: | avg_over_time( sum by(namespace, cluster) ( container_memory_working_set_bytes{ namespace=~"gitea|garm", pod=~"forgejo-runner.*|garm-.*", container!="" } )[1d:5m] ) - record: ci:pod_count:avg1d expr: | avg_over_time( count by(namespace, cluster) ( kube_pod_info{ namespace=~"gitea|garm", pod=~"forgejo-runner.*|garm-.*" } )[1d:5m] ) - record: ci:pod_creations:increase1d expr: | sum by(namespace, cluster) ( changes(kube_pod_start_time{ namespace=~"gitea|garm", pod=~"forgejo-runner.*|garm-.*" }[1d]) ) - name: ci.sustainability.cluster interval: 5m rules: - record: cluster:cpu_seconds:rate5m expr: | sum by(cluster) ( rate(node_cpu_seconds_total{mode!="idle"}[5m]) ) - record: cluster:memory_used_bytes:sum expr: | sum by(cluster) ( node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes )