From 5f7e5e3500a05c2abc21df92af42f6b5d69df0bc Mon Sep 17 00:00:00 2001 From: mansikulkarni96 Date: Wed, 10 Apr 2024 23:24:35 -0400 Subject: [PATCH] assets, jsonnet: Add container_network openshift-kubernetes.rules This commit adds the openshift-kubernetes recording rules for container_network metrics. Co-authored-by: Simon Pasquier --- .../prometheus-rule.yaml | 10 ++++++++++ jsonnet/rules.libsonnet | 16 ++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/assets/cluster-monitoring-operator/prometheus-rule.yaml b/assets/cluster-monitoring-operator/prometheus-rule.yaml index 793cdb72ef..c6c0d9f034 100644 --- a/assets/cluster-monitoring-operator/prometheus-rule.yaml +++ b/assets/cluster-monitoring-operator/prometheus-rule.yaml @@ -46,6 +46,16 @@ spec: record: cluster:container_spec_cpu_shares:ratio - expr: sum(rate(container_cpu_usage_seconds_total{container="",pod!=""}[5m])) / sum(machine_cpu_cores) record: cluster:container_cpu_usage:ratio + - expr: | + sum by(namespace,pod, interface) (irate(container_network_receive_bytes_total{pod!=""}[5m])) + + + on(namespace,pod, interface) group_left(network_name) topk by(namespace,pod, interface) (1, pod_network_name_info) + record: pod_interface_network:container_network_receive_bytes:irate5m + - expr: | + sum by(namespace,pod, interface) (irate(container_network_transmit_bytes_total{pod!=""}[5m])) + + + on(namespace,pod, interface) group_left(network_name) topk by(namespace,pod, interface) (1, pod_network_name_info) + record: pod_interface_network:container_network_transmit_bytes_total:irate5m - expr: max without(endpoint, instance, job, pod, service) (kube_node_labels and on(node) kube_node_role{role="master"}) labels: label_node_role_kubernetes_io: master diff --git a/jsonnet/rules.libsonnet b/jsonnet/rules.libsonnet index 976df4085c..a71fabf041 100644 --- a/jsonnet/rules.libsonnet +++ b/jsonnet/rules.libsonnet @@ -72,6 +72,22 @@ function(params) { expr: 'sum(rate(container_cpu_usage_seconds_total{container="",pod!=""}[5m])) / sum(machine_cpu_cores)', record: 'cluster:container_cpu_usage:ratio', }, + { + expr: ||| + sum by(namespace,pod, interface) (irate(container_network_receive_bytes_total{pod!=""}[5m])) + + + on(namespace,pod, interface) group_left(network_name) topk by(namespace,pod, interface) (1, pod_network_name_info) + |||, + record: 'pod_interface_network:container_network_receive_bytes:irate5m', + }, + { + expr: ||| + sum by(namespace,pod, interface) (irate(container_network_transmit_bytes_total{pod!=""}[5m])) + + + on(namespace,pod, interface) group_left(network_name) topk by(namespace,pod, interface) (1, pod_network_name_info) + |||, + record: 'pod_interface_network:container_network_transmit_bytes_total:irate5m', + }, { expr: 'max without(%s) (kube_node_labels and on(node) kube_node_role{role="master"})' % droppedKsmLabels, labels: {