apiVersion: v1 kind: ConfigMap metadata: name: prometheus-config namespace: monitoring data: prometheus.yml: | global: scrape_interval: 15s rule_files: - "exa.rules.yaml" scrape_configs: - job_name: "kubernetes-nodes" kubernetes_sd_configs: - role: node - job_name: "exa-csi-metrics-exporter" kubernetes_sd_configs: - role: pod relabel_configs: - source_labels: [__meta_kubernetes_pod_label_app] action: keep regex: exa-csi-metrics-exporter metrics_path: /metrics scheme: http static_configs: - targets: ["exa-csi-metrics-exporter.default.svc.cluster.local:9200"] exa.rules.yaml: | groups: - name: exa-storageclass-rules interval: 15s rules: - record: exa_csi_sc_capacity_bytes expr: sum (exa_csi_pvc_capacity_bytes) by (storage_class) - record: exa_csi_sc_used_bytes expr: sum (exa_csi_pvc_used_bytes) by (storage_class) - record: exa_csi_sc_available_bytes expr: sum (exa_csi_pvc_available_bytes) by (storage_class) - record: exa_csi_sc_pvc_count expr: count(exa_csi_pvc_capacity_bytes) by (storage_class) - name: exa-namespace-rules interval: 15s rules: - record: exa_csi_namespace_capacity_bytes expr: sum(exa_csi_pvc_capacity_bytes) by (exported_namespace) - record: exa_csi_namespace_used_bytes expr: sum(exa_csi_pvc_used_bytes) by (exported_namespace) - record: exa_csi_namespace_available_bytes expr: sum(exa_csi_pvc_available_bytes) by (exported_namespace) - record: exa_csi_namespace_pvc_count expr: count(exa_csi_pvc_capacity_bytes) by (exported_namespace)