ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

3 报警的介绍

2022-01-22 01:02:55  阅读:190  来源: 互联网

标签:alertmanager rules root 报警 介绍 prometheus usr local


笔记

1、报警的介绍

 

2、部署AlterManager

# 下载
[root@VM-0-9-centos ~]# wget https://github.com/prometheus/alertmanager/releases/download/v0.23.0/alertmanager-0.23.0.linux-amd64.tar.gz

# 暗转
[root@VM-0-9-centos ~]# tar -xf alertmanager-0.23.0.linux-amd64.tar.gz -C /usr/local/

# 创建软连接
[root@VM-0-9-centos local]# ln -s /usr/local/alertmanager-0.23.0.linux-amd64 /usr/local/alertmanager

# 注册服务
[root@VM-0-9-centos alertmanager]# vim /usr/lib/systemd/system/altermanagerd.service
[Unit]
Description=Prometheus

[Service]
ExecStart=/usr/local/alertmanager/alertmanager --config.file=/usr/local/alertmanager/alertmanager.yml
Restart=on-failure

[Install]
WantedBy=multi-user.target

# 启动
[root@VM-0-9-centos alertmanager]# systemctl daemon-reload
[root@VM-0-9-centos alertmanager]# systemctl start altermanagerd.service

3、AlterManager的配置

# altermanager的配置使用的是yaml的格式。
vim alertmanager.yml

# 1、全局配置
global:
resolve_timeout: '5s'
smtp_smarthost: 'smtp.163.com:465'
smtp_from: 'chenyangqit@163.com'
smtp_auth_username: 'chen....qit@163.com'
smtp_auth_password: 'XWO........ZECK'
smtp_require_tls: true
 
打开企业微信注册 https://work.weixin.qq.com
微信API官方文档 https://work.weixin.qq.com/api/doc#90002/90151/90854


2、路由
route:
group_by: ['altername']
group_wait: '2s'
group_interval: '10s'
repeat_interval: 4h
receiver: 'email'

3、报警方式
receivers:
- name: 'email'
  email_configs:
    - to: 'chenyangqit@163.com'
      send_resolved: true

4、报警抑制
debug info warning critical error
inhibit_rules:
- source_match:
    severity: 'critical'
  target_match:
    severity: 'warning'
  equal: ['alertname', 'dev', 'instance']

5、报警模板

6、报警规则

配置在prometheus配置文件中

rule_files:
- "/usr/local/prometheus/rules/mysql.yaml"
- "/usr/local/prometheus/rules/node.yaml"

groups:
- name: MySQLMonitor
  rules:
    - alert: MySQLIsDown
      expr: mysql_up == 0
      for: 1m
      labels:
        severity: error
      annotations:
        summary: "Moniter MySQL is Down"
groups:
- name: NodeMonitor
  rules:
    - alert: NodeMemoryMonitor
      expr: (node_memory_MemTotal_bytes - node_memory_MemFree_bytes) / node_memory_MemTotal_bytes * 100 > 40
      for: 1m
      labels:
        severity: error
      annotations:
        summary: "Moniter Memory is Down"

访问http://192.168.15.114:9093/出现如下界面即成功

image-20220121231245294

prometheus如何连接AlterManager

 
[root@prometheus ~]# vim /usr/local/prometheus/prometheus.yml# Alertmanager configuration

alerting:
alertmanagers:

  - static_configs:
    - targets:
      - 192.168.15.114:9093
[root@prometheus ~]# systemctl restart prometheusd
[root@prometheus ~]# systemctl restart prometheusd

 

 

4、使用AlterManager报警

global:
resolve_timeout: '5s'
smtp_smarthost: 'smtp.163.com:465'
smtp_from: 'chen。。。。qit@163.com'
smtp_auth_username: 'che。。。gqit@163.com'
smtp_auth_password: 'XWO。。。。。ESZECK'
smtp_require_tls: false

route:
group_by: ['altername']
group_wait: '2s'
group_interval: '10s'
repeat_interval: 4h
receiver: 'email'

templates:
 - '/usr/local/alertmanager/template/email.tmpl'

receivers:
 - name: 'email'
  email_configs:
     - to: 'c。。。。gqit@163.com'
      send_resolved: true
      html: '{{ template "email.to.html" . }}'
      headers: { Subject: "Prometheus [Warning] 报警邮件" }

inhibit_rules:
 - source_match:
    severity: 'critical'
  target_match:
    severity: 'warning'
  equal: ['alertname', 'dev', 'instance']





[root@VM-0-9-centos alertmanager]# cat ../prometheus/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:
           - 192.168.0.9:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
 - "/usr/local/prometheus/rules/mysql.yaml"
 - "/usr/local/prometheus/rules/node.yaml"
 # - "first_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"]
 - job_name: 'NodeExporter'
  static_configs:
     - targets:
         - 192.168.0.9:9100
         - 192.168.0.3:9100
 - job_name: 'MySQlExporter'
  static_configs:
     - targets:
         - 192.168.0.3:9104
         
         
[root@VM-0-9-centos alertmanager]# cat ../prometheus/rules/mysql.yaml
groups:
 - name: MySQLMonitor
  rules:
     - alert: MySQLIsDown
      expr: mysql_up == 0
       for: 1m
      labels:
        severity: error
      annotations:
        summary: "Moniter MySQL is Down"
[root@VM-0-9-centos alertmanager]# cat ../prometheus/rules/node.yaml
groups:
 - name: NodeMonitor
  rules:
     - alert: NodeMemoryMonitor
      expr: (node_memory_MemTotal_bytes - node_memory_MemFree_bytes) / node_memory_MemTotal_bytes * 100 > 40
       for: 1m
      labels:
        severity: error
      annotations:
        summary: "Moniter Memory is Down"

 

 

 

 

 

 

 

 

标签:alertmanager,rules,root,报警,介绍,prometheus,usr,local
来源: https://www.cnblogs.com/Haier123/p/15832228.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有