From b845f3fc6988d99c76169a16be85bc56875440c0 Mon Sep 17 00:00:00 2001 From: Bartosz Kupidura Date: Sun, 25 Jun 2017 14:53:01 +0200 Subject: [PATCH] Support for custom add custom labels from reclass This change will enable possibility to add custom labels to alerts. This can be used ex. to provite routing key for pushkin (notification service) If given key already exists in alert, it will NOT be overriden. prometheus: server: config: alert: labels_add: route: 'mail,skype' Change-Id: I0b21d8a9695e8a15d0d6b80e6ddd0476682c80c2 --- prometheus/files/alerts.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/prometheus/files/alerts.yml b/prometheus/files/alerts.yml index cef0462..e0682c7 100644 --- a/prometheus/files/alerts.yml +++ b/prometheus/files/alerts.yml @@ -33,13 +33,23 @@ IF {{ alert.if }} {%- if alert.for is defined %} FOR {{ alert.for }}{%- endif %} - {%- if alert.labels is defined %} + {#- Handle labels #} + {%- if alert.labels is not defined %} + {%- do alert.update({'labels': {}}) %} + {%- endif %} + {%- for label_name, label_value in server.get('config', {}).get('alert', {}).get('labels_add', {}).iteritems() %} + {%- if label_name not in alert.labels %} + {%- do alert.labels.update({label_name: label_value}) %} + {%- endif %} + {%- endfor %} + {%- if alert.labels %} LABELS { {%- for name, value in alert.labels.iteritems() %} {{ name }} = "{{ value }}"{%- if not loop.last %},{%- endif %} {%- endfor %} } {%- endif %} + {#- Handle annotations #} {%- if alert.annotations is defined %} ANNOTATIONS { {%- for name, value in alert.annotations.iteritems() %}