Feature 8170: deploy OSM services with a helm chart
[osm/devops.git] / installers / helm / osm / templates / prometheus / prometheus-recordingrules-configmap.yaml
diff --git a/installers/helm/osm/templates/prometheus/prometheus-recordingrules-configmap.yaml b/installers/helm/osm/templates/prometheus/prometheus-recordingrules-configmap.yaml
new file mode 100644 (file)
index 0000000..c314d86
--- /dev/null
@@ -0,0 +1,43 @@
+{{- if not .Values.global.oldServiceAssurance -}}
+{{- if .Values.prometheus.enabled -}}
+#######################################################################################
+# Copyright ETSI Contributors and Others.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#######################################################################################
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "osm.fullname" . }}-prometheus-recordingrules-configmap
+  labels:
+    {{- include "osm.labels" . | nindent 4 }}
+data:
+  osm_metric_rules.yml: |
+    groups:
+      - name: osm_metric_rules
+        rules:
+        - record: vm_status_extended
+          expr: (last_over_time(vm_status[1m]) * on (vm_id, vim_id) group_left(ns_id, vnf_id, vdu_id, project_id, job, vdu_name, vnf_member_index) last_over_time(ns_topology[1m])) or (last_over_time(ns_topology[1m]) * -1)
+          labels:
+            job: osm_prometheus
+        - record: vnf_status
+          expr: (0 * (count (vm_status_extended==0) by (ns_id, vnf_id)>=0)) or (min by (ns_id, vnf_id) (vm_status_extended))
+          labels:
+            job: osm_prometheus
+        - record: ns_status
+          expr: (0 * (count (vm_status_extended==0) by (ns_id)>=0)) or (min by (ns_id) (vm_status_extended))
+          labels:
+            job: osm_prometheus
+{{- end }}
+{{- end }}
\ No newline at end of file