0
点赞
收藏
分享

微信扫一扫

alertmanager监控告警163邮箱通知


1.alertmanager安装

docker pull prom/alertmanager:latest



docker run -d -p 9093:9093 \
-v /home/lys/alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml \
--name alertmanager prom/alertmanager:latest

2.prometheus配置

2.1 vim prometheus.yml

# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
- 10.6.8.184:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
- "lys_rules.yml"
# - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: "prometheus"

# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.

static_configs:
- targets: ["localhost:9090"]

#通过配置file 获取target,这里以lys-web项目进行举例
- job_name: 'lys-other'
#metrics_path: /metrics
file_sd_configs:
- files:
- host.json

- job_name: 'container'
static_configs:
- targets: ['10.6.8.184:8080'] # 本地 cadvisor 访问地址

- job_name: 'rds'
metrics_path: /actuator/prometheus
static_configs:
- targets: ['10.6.9.35:10200'] # 本地 springboot 访问地址

- job_name: 'lysNode'
metrics_path: /metrics
static_configs:
- targets: ['10.6.8.184:9100'] # 配置被监控的主机地址

- job_name: 'lysMysql'
metrics_path: /metrics
static_configs:
- targets: ['10.6.8.184:9104'] # 配置被监控的mysql_export地址

- job_name: 'lysPostgres'
metrics_path: /metrics
static_configs:
- targets: ['10.6.8.184:19187'] # 配置被监控的postgres_export地址

2.2 vim lys_rules.yml

groups:
- name: mem-rule
rules:
- alert: "内存报警"
expr: (node_memory_MemTotal_bytes - (node_memory_MemFree_bytes+node_memory_Buffers_bytes+node_memory_Cached_bytes )) / node_memory_MemTotal_bytes * 100 > 10
for: 30s
labels:
severity: warning
annotations:
summary: "服务名:{{$labels.alertname}} 内存报警"
description: "{{ $labels.alertname }} 内存资源利用率大于 10%"
value: "{{ $value }}"

2.3挂载文件重启

docker run --name lys-prometheus -d -p 9090:9090    -v /home/lys/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml  -v /home/lys/prometheus/host.json:/etc/prometheus/host.json -v /home/lys/prometheus/lys_rules.yml:/etc/prometheus/lys_rules.yml quay.io/prometheus/prometheus

3.163邮箱配置

alertmanager监控告警163邮箱通知_lua


开通成功后,会显示一个授权密码(1111111111),Alertmanager发送邮件,需要使用这个密码,而不是163邮箱的登录密码。

4.配置alertmanager.yml 邮件通知

global:
resolve_timeout: 5m
smtp_smarthost: 'smtp.163.com:80'
smtp_from: 'yunets@163.com' # 用于发送告警右键的邮箱
smtp_auth_username: 'yunets@163.com'
smtp_auth_password: '1111111111' #此处为邮箱的授权密码,非邮箱登录密码
smtp_require_tls: false

route: # 设置报警分发策略
group_by: ['alertname'] # 分组标签
group_wait: 10s # 告警等待时间。告警产生后等待10s,如果有同组告警一起发出
group_interval: 10s # 两组告警的间隔时间
repeat_interval: 1m # 重复告警的间隔时间,减少相同右键的发送频率 此处为测试设置为1分钟
receiver: mymail # 默认接收者 routes: # 指定那些组可以接收消息

receivers:
- name: 'mymail'
email_configs:
- to: 'yunets@163.com' # 接收报警邮件的邮箱

5.验证

alertmanager监控告警163邮箱通知_容器_02


alertmanager监控告警163邮箱通知_lua_03

alertmanager监控告警163邮箱通知_docker_04


太多了,收了神通吧,哈哈

alertmanager监控告警163邮箱通知_kubernetes_05

6.参考

可参考以前本专栏其他文章


举报

相关推荐

0 条评论