Prometheus入門到放棄(5)之AlertManager部署

 alertmanager與exporters、cadvisor同樣,都是獨立於prometheus項目,這裏咱們也使用docker方式部署alertmanager。node

一、下載鏡像web

鏡像地址:https://hub.docker.com/r/prom/alertmanager/tagsdocker

[root@prometheus-server ~]# docker pull prom/alertmanager

二、運行vim

## 建立容器映射目錄,存放配置文件
[root@prometheus-server ~]# mkdir /etc/alertmanager
## 建立alertmanager默認配置文件
[root@prometheus-server ~]# vim /etc/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']
 
[root@prometheus-server ~]# docker run -d -p 9093:9093 \
 -v /etc/alertmanager:/etc/alertmanager \
 -v /var/lib/alertmanager:/alertmanager \
 --name alertmanager prom/alertmanager \
 --config.file="/etc/alertmanager/alertmanager.yml" \
 --storage.path=/alertmanager

參數說明:alertmanager官方容器中配置文件爲config.yml,這裏咱們指定配置文件爲alertmanager.yml,注意命令前後順序。服務器

 三、配置郵件報警ui

[root@prometheus-server ~]# vim /etc/alertmanager/alertmanager.yml 
global: 
  smtp_smarthost: 'smtp.163.com:25' 
  smtp_from: ******@163.com' 
  smtp_auth_username: '******@163com' 
  smtp_auth_password: '****' 
  smtp_require_tls: false
  
route: 
  receiver: dev-mail ## 接收者
  
receivers: 
- name: 'dev-mail'  ## 與route中的 receiver一致
email_configs:
- to: '****@vanje.com.cn.com'

四、prometheus添加告警規則url

[root@prometheus-server ~]# mkdir /etc/prometheus/rules
[root@prometheus-server ~]# vim /etc/prometheus/rules/node_alerts.yml
groups:
- name: node_alerts
  rules:
  - alert: InstanceDown ## alert名稱
    expr: up{job='node'} == 0 ## 報警條件
    for: 1m ## 超過1分鐘,prometheus會把報警信息發送至alertmanger
    labels:
      severity: "warning"
    annotations:
      summary: Host {{ $labels.instance }} of {{ $labels.job }} is Down!

五、Prometheus開啓alertmanager報警spa

[root@prometheus-server ~]# vim /etc/prometheus/prometheus.yml 
### 開啓alertmanager監控
alerting:
  alertmanagers:
  - static_configs:
    - targets:
       - 10.10.0.13:9093 ## alertmanager服務地址
## 添加prometheus對alertmanager服務的監控
- job_name: 'alertmanager'
    static_configs:
    - targets: ['10.10.0.13:9093']

重啓prometheus及 alertmanager,能夠看到prometheus已經加載剛定義的報警規則code

六、驗證server

咱們隨便停一個節點的node_exporter服務,而後查看prometheus上 報警信息(這裏咱們停掉10.10.0.11服務器node_exporter服務)

一分鐘後,查看alertmanager報警信息,此時郵件也會收到報警

 

相關文章
相關標籤/搜索