alertmanager的配置文件alertmanager.yml内容如下:

global:
  resolve_timeout: 5m

route:
  group_by: ['alertname']
  group_wait: 10s
  group_interval: 10s
  repeat_interval: 1h
  receiver: 'web.hook'
receivers:
- name: 'web.hook'
  webhook_configs:
  - url: 'http://127.0.0.1:5001/'
inhibit_rules:
  - source_match:
      severity: 'critical'
    target_match:
      severity: 'warning'
equal: ['alertname', 'dev', 'instance']

其中最主要的是receivers,它定义了告警的处理方式,这里是webhook_config,意思是alertmananger将告警转发到这个url。
alertmanager提供多种告警处理方式,webhook_configs只是其中一种,还是如下多种方式:

 email_config
 hipchat_config
 pagerduty_config
 pushover_config
 slack_config
 opsgenie_config
 victorops_config
 webhook_config
 wechat_config

 

#邮件通知Demo

global:
  smtp_smarthost: 'mail.xxx.cn:25'  #邮箱smtp服务器
  smtp_from: 'ops@xxx.cn'  #发件用的邮箱地址
  smtp_auth_username: ' ops@xxx.cn'  #发件人账号
  smtp_auth_password:  'xxxxx'  #发件人邮箱密码
  smtp_require_tls: false  #不进行tls验证
route:
  group_by: [alertname]
  group_wait: 10s 
  group_interval: 10s
  repeat_interval: 10m
  receiver: default-receiver
receivers:
 - name: 'default-receiver'
   email_configs:
   - to: 'abc@aaa.com'  #接收告警用的邮箱

alertmanager.yml文件配置完成后,重启alertmanager服务重新加载配置后,就可以测试邮件告警功能了。