alert-manager 报警

本机测试

包下载地址

  1. 自己机器启动AlertManger 和 prometheus
./prometheus --config.file=prometheus.yml
./alertmanager --config.file alertmanager.yml

附:

  1. prometheus.yml
global:
  scrape_timeout: 15s
  evaluation_interval: 15s 

alerting:
  alertmanagers:
  - static_configs:
    - targets:
      - localhost:9093

rule_files:
  - "first_rules.yml"

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']
  - job_name: 'export'
    static_configs:
    - targets: ['10.211.55.14:9100','10.211.55.15:9100']
  - job_name: 'alertmanger'
    static_configs:
    - targets: ['localhost:9093']

first_rules.yml

groups:
- name: test-rule
  rules:
  - alert: HighCPU
    expr: 100-avg(irate(node_cpu_seconds_total{job="export",mode="idle"}[5m]))by(instance)*100 > 0.1
    for: 1m
    labels:
      severity: warning 
    annotations:
      #summary: High CPU
      #console: Thank you
      summary: "{{$labels.instance}}: Too many clients detected,{{$labels.job}} xixi"
      description: "{{$labels.instance}}: Client num is above 80% (current value is: {{ $value }}"
  1. alertmanager.yml
global:
  smtp_smarthost: 'smtp.163.com:25'
  smtp_from: 'm13095004177@163.com'
  smtp_auth_username: 'm13095004177@163.com'
  smtp_auth_password: 'wzl19971123'
  smtp_require_tls: false


route:
  receiver: mail

receivers:
- name: 'mail'
  email_configs:
  - to: 'baihuashu97@foxmail.com'
  1. 两台虚拟机启动node-exporter
    /node_exporter

不知道为什么,后面发送邮箱失败了,难道是4h的问题??

staging环境测试

这篇文章指引

  1. 报警规则
    查看所有规则(大多数都是prom-operater自带的)
kubectl get PrometheusRule -n prometheus

apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
  labels:
    app: prometheus-operator
    chart: prometheus-operator-6.6.1
    heritage: Tiller
    release: prometheus-operator
  name: new-rule
  namespace: prometheus
spec:
  groups:
  - name: new.rules
    rules:
    - alert: MemoryInsufficient
      annotations:
        summary: memory is exhausted
        description: 'host:{{$labels.node_name}}  Address:{{$labels.instance}}: Memory Usage is above 90% (current value is: {{ $value }}'
      expr: |
        (node_memory_MemTotal_bytes-(node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes))/node_memory_MemTotal_bytes*100>90
      for: 3m
      labels:
        severity: critical
    - alert: DiskStorageInsufficient
      annotations:
        summary: disk storage is exhausted
        description: 'host:{{$labels.node_name}}  Address:{{$labels.instance}}: Disk Storage  Usage is above 90% (current value is: {{ $value }}'
      expr: |
        (node_filesystem_size_bytes{mountpoint="/"}-node_filesystem_free_bytes{mountpoint="/"})/node_filesystem_size_bytes{mountpoint ="/"}*100<0.1
      for: 3m
      labels:
        severity: critical
    - alert: ChoerodonServiceDown
      annotations:
        summary: Choerodon Service unavailable
        description: '{{$labels.pod_name}} is unavailable'
      expr: |
        up{job="kubernetes-pod-choerodon"}==0
      for: 3m
      labels:
        severity: critical
    - alert: NodeDown
      annotations:
        summary: A node is unavailable
        description: 'host:{{$labels.node}}  Address:{{$labels.instance}} is unavailable'
      expr: |
        up{job="node-exporter"}==0
      for: 3m
      labels:
        severity: critical

应用报警规则

kubectl apply -f prometheus-testRules.yaml
  1. alertmanager 邮箱相关配置
    报警规则封装在sercet里面
kbl get Secret  -n prometheus

alertmanager.yaml配置文件

global:
  smtp_smarthost: 'smtp.163.com:25'
  smtp_from: 'jugglee@163.com'
  smtp_auth_username: 'jugglee@163.com'
  smtp_auth_password: 'admin123'
  smtp_require_tls: false

route:
  receiver: default
  routes:
  - receiver: mail
    match:
      alertname: NodeDown
  - receiver: mail
    match:
      alertname: ChoerodonServiceDown
  - receiver: mail
    match:
      alertname: MemoryInsufficient

receivers:
- name: 'default'
  email_configs:
  - to: 'm13095004177@qq.com'
- name: 'mail'
  email_configs:
  - to: '986916990@qq.com'

我的做法是将配置文件生成一个sercet,在将默认的那个alertmanager-prometheus-operator-alertmanager中的base64 部分替换.

kubectl create secret generic alertmanager-main --from-file=alertmanager.yaml -n monitoring

对比两个文件,替换掉.

kbl edit Secret artmanager-main -n prometheus
kbl edit Secret alertmanager-prometheus-operator-alertmanager -n prometheus

拓展:
如果有webhook

receivers:
- name: 'web.hook'
  email_configs:
  - to: 'sxxx@yy.com.com'
  webhook_configs:
  - url: 'http://localhost:8060/dingtalk/webhook1/send'
    send_resolved: false
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352