Alertmanager傳送告警郵件配置
Prometheus將資料採集和報警分成了兩個模組。報警規則配置在Prometheus Servers上,然後傳送報警資訊到AlertManger,然後我們的AlertManager就來管理這些報警資訊,聚合報警資訊過後透過email、PagerDuty、HipChat、Slack 等方式傳送訊息提示。本文演示透過email傳送告警資訊。
如下為在prometheus已經部署好的情況下,配置Alertmanager郵件傳送。
一、安裝Altermanager軟體
下載地址為
我選擇最新的alertmanager-0.23.0.linux-amd64.tar.gz 壓縮包。上傳並解壓
[root@ysl ~]# tar -xf alertmanager-0.23.0.linux-amd64.tar.gz [root@ysl ~]# ll alertmanager-0.23.0.linux-amd64 total 53596 -rwxr-xr-x 1 3434 3434 30942810 Aug 25 2021 alertmanager -rw-r--r-- 1 3434 3434 348 Aug 25 2021 alertmanager.yml -rwxr-xr-x 1 3434 3434 23913946 Aug 25 2021 amtool -rw-r--r-- 1 3434 3434 11357 Aug 25 2021 LICENSE -rw-r--r-- 1 3434 3434 457 Aug 25 2021 NOTICE
啟動alertmanager
[root@ysl ~]# nohup /root/alertmanager-0.23.0.linux-amd64/alertmanager --config.file=/root/alertmanager-0.23.0.linux-amd64/alertmanager.yml > /root/alertmanager-0.23.0.linux-amd64/alertmanager.log 2>&1 & [1] 26176 [root@ysl ~]# ps -ef | grep alert root 26176 26070 0 11:58 pts/1 00:00:00 /root/alertmanager-0.23.0.linux-amd64/alertmanager --config.file=/root/alertmanager-0.23.0.linux-amd64/alertmanager.yml root 26443 26070 0 11:59 pts/1 00:00:00 grep --color=auto alert
瀏覽器訪問9093埠
二、新增到Prometheus管理
把alertmanager新增到prometheus的配置裡
alerting: alertmanagers: - static_configs: - targets: - 172.20.10.5:9093 rule_files: - "rules/*.yml"
告警規則讀取prometheus目錄的rule下的所有以yml結尾的檔案
建立rule目錄並規定告警項,並定義報警郵件格式,這裡制定了一個例項狀態和磁碟的告警。
[root@ysl prometheus]# ll rules/ total 4 -rw-r--r-- 1 root root 794 Mar 2 11:37 rule1.yml [root@ysl prometheus]# cat rules/rule1.yml # metrics_path defaults to '/metrics' groups: - name: node_rule rules: - alert: server status expr: up == 0 for: 10s labels: severity: critical service: node annotations: summary: "{{$labels.instance}}: instance down" description: "{{$labels.instance}}: instance down" - alert: Disk Usage expr: 100-(node_filesystem_free_bytes{fstype=~"ext4|xfs"}/node_filesystem_size_bytes {fstype=~"ext4|xfs"}*100) > 50 for: 1m labels: severity: warning type: "service" service: node oid: "1.3.6.1.4.1.98789.0.1" annotations: summary: "Disk used too high" description: "Service {{ $labels.instance}} : {{$value}}%)"
重啟prometheus生效,prometheus的alerts下可以看到對應的兩個告警。
三、配置告警郵件傳送
編輯alertmanager.yml檔案,定義傳送郵箱,這裡舉例為163郵箱
global: resolve_timeout: 5m smtp_from: '12345678@163.com' smtp_smarthost: 'smtp.163.com:465' smtp_auth_username: '12345678@163.com' smtp_auth_password: 'BPAOGHPPLGKBLYYNKFL' smtp_require_tls: false smtp_hello: '163.com' route: group_by: ['alertname'] group_wait: 5s group_interval: 5s repeat_interval: 5m receiver: 'email' receivers: - name: 'email' email_configs: - to: '12345678@163.com' send_resolved: true inhibit_rules: - source_match: severity: 'critical' target_match: severity: 'warning' equal: ['alertname', 'dev', 'instance']
將郵箱替換,且替換smtp_auth_password,這個密碼為郵箱開啟POP3/SMTP服務的密碼,不是郵箱登陸密碼
重啟服務
如果存在告警,則會傳送郵件到郵箱
告警內容如圖所示
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69990629/viewspace-2869211/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Prometheus alertmanager郵件傳送+grafana告警展示PrometheusGrafana
- 【Grafana】告警配置併傳送郵件Grafana
- docker部署Prometheus+AlertManager實現郵件告警DockerPrometheus
- 21.Prometheus告警之Alertmanager告警(一)-郵件釘釘微信Prometheus
- golang接收alertmanager的告警併傳送釘釘Golang
- 谷歌郵箱,配置傳送郵件密碼谷歌密碼
- 配置mail使用SMTP傳送郵件AI
- rails4.2.6配置傳送郵件AI
- zabbix 配置傳送郵件報警
- 配置ActionMailer使用GMail傳送郵件AI
- 郵件傳送
- 傳送郵件
- spring boot配置QQ郵箱傳送郵件Spring Boot
- laravel 傳送郵件以及引數配置Laravel
- SpringBoot整合Mail傳送郵件&傳送模板郵件Spring BootAI
- Laravel 傳送郵件Laravel
- PHP傳送郵件PHP
- Django——郵件傳送Django
- java郵件傳送Java
- Laravel傳送郵件Laravel
- gmail傳送郵件AI
- Oracle郵件傳送Oracle
- java傳送郵件Java
- Powershell郵件傳送
- thinkphp 郵件傳送PHP
- centos 傳送郵件CentOS
- phpcms傳送郵件PHP
- 郵件的傳送
- Linux配置msmtp+mutt傳送郵件(可放在指令碼中定時傳送郵件)Linux指令碼
- Java Mail 郵件傳送(二):簡單封裝的郵件傳送JavaAI封裝
- golang傳送郵件(qq郵箱)Golang
- 郵件傳送API整理API
- php windows 傳送郵件PHPWindows
- 定時傳送郵件
- thinkjs 傳送郵件JS
- 使用phpmailer傳送郵件PHPAI
- Ubuntu的郵件傳送Ubuntu
- python傳送郵件Python