5
									
								
								roles/prometheus-alertmanager/handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								roles/prometheus-alertmanager/handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
- name: Restart Prometheus Alertmanager
 | 
			
		||||
  service:
 | 
			
		||||
    name: prometheus-alertmanager
 | 
			
		||||
    state: restarted
 | 
			
		||||
							
								
								
									
										14
									
								
								roles/prometheus-alertmanager/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								roles/prometheus-alertmanager/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
---
 | 
			
		||||
- name: Install Prometheus Alertmanager
 | 
			
		||||
  apt:
 | 
			
		||||
    update_cache: true
 | 
			
		||||
    name: prometheus-alertmanager
 | 
			
		||||
  register: apt_result
 | 
			
		||||
  retries: 3
 | 
			
		||||
  until: apt_result is succeeded
 | 
			
		||||
 | 
			
		||||
- name: Configure Prometheus Alertmanager
 | 
			
		||||
  template:
 | 
			
		||||
    src: prometheus/alertmanager.yml.j2
 | 
			
		||||
    dest: /etc/prometheus/alertmanager.yml
 | 
			
		||||
  notify: Restart Prometheus Alertmanager
 | 
			
		||||
@@ -0,0 +1,60 @@
 | 
			
		||||
{{ ansible_header | comment }}
 | 
			
		||||
# See https://prometheus.io/docs/alerting/configuration/ for documentation.
 | 
			
		||||
 | 
			
		||||
global:
 | 
			
		||||
  # The smarthost and SMTP sender used for mail notifications.
 | 
			
		||||
  smtp_smarthost: 'localhost:25'
 | 
			
		||||
  smtp_from: 'alertmanager@example.org'
 | 
			
		||||
  #smtp_auth_username: 'alertmanager'
 | 
			
		||||
  #smtp_auth_password: 'password'
 | 
			
		||||
 | 
			
		||||
# The directory from which notification templates are read.
 | 
			
		||||
templates: 
 | 
			
		||||
- '/etc/prometheus/alertmanager_templates/*.tmpl'
 | 
			
		||||
 | 
			
		||||
# The root route on which each incoming alert enters.
 | 
			
		||||
route:
 | 
			
		||||
  # The labels by which incoming alerts are grouped together. For example,
 | 
			
		||||
  # multiple alerts coming in for cluster=A and alertname=LatencyHigh would
 | 
			
		||||
  # be batched into a single group.
 | 
			
		||||
  group_by: ['instance']  # group per instance
 | 
			
		||||
 | 
			
		||||
  # When a new group of alerts is created by an incoming alert, wait at
 | 
			
		||||
  # least 'group_wait' to send the initial notification.
 | 
			
		||||
  # This way ensures that you get multiple alerts for the same group that start
 | 
			
		||||
  # firing shortly after another are batched together on the first 
 | 
			
		||||
  # notification.
 | 
			
		||||
  group_wait: 30s
 | 
			
		||||
 | 
			
		||||
  # When the first notification was sent, wait 'group_interval' to send a batch
 | 
			
		||||
  # of new alerts that started firing for that group.
 | 
			
		||||
  group_interval: 5m
 | 
			
		||||
 | 
			
		||||
  # If an alert has successfully been sent, wait 'repeat_interval' to
 | 
			
		||||
  # resend them.
 | 
			
		||||
  repeat_interval: 24h
 | 
			
		||||
 | 
			
		||||
  # A default receiver
 | 
			
		||||
  receiver: webhook-ninjabot
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Inhibition rules allow to mute a set of alerts given that another alert is
 | 
			
		||||
# firing.
 | 
			
		||||
# We use this to mute any warning-level notifications if the same alert is 
 | 
			
		||||
# already critical.
 | 
			
		||||
inhibit_rules:
 | 
			
		||||
- source_match:
 | 
			
		||||
    severity: 'critical'
 | 
			
		||||
  target_match:
 | 
			
		||||
    severity: 'warning'
 | 
			
		||||
  # Apply inhibition if the alertname is the same.
 | 
			
		||||
  equal: ['alertname', 'cluster', 'service']
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
receivers:
 | 
			
		||||
- name: 'webhook-ninjabot'
 | 
			
		||||
  webhook_configs:
 | 
			
		||||
  - url: 'http://localhost:5000/'
 | 
			
		||||
    send_resolved: true
 | 
			
		||||
  - url: 'http://localhost:8000/'
 | 
			
		||||
    send_resolved: true
 | 
			
		||||
		Reference in New Issue
	
	Block a user