翼度科技»论坛 云主机 LINUX 查看内容

部署prometheus、grafana、alertmanager

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
简介:由于资源有限,本实验用了两台机器

  • 监控端:部署prometheus、grafana、alertmanager
  • 被监控端:node_exporter、mysqld_exporter
一. 部署promethus

1. 下载

https://prometheus.io/download/
2. 解压

​ mkdir -p /data/prometheus
​ tar -zxvf /root/prometheus-2.42.0.linux-amd64.tar.gz -C /data/
​ cd /data
​ mv prometheus-2.42.0.linux-amd64/ prometheus
3. 部署


  • 创建prometheus用户
​ useradd -s /sbin/nologin -M prometheus
​ mkdir -p /data/database/prometheus
​ chown -R prometheus:prometheus /data/database/prometheus/

  • 配置systemctl启动项
​ vim /etc/systemd/system/prometheus.service
  1. [Unit]
  2. Description=Prometheus
  3. Documentation=https://prometheus.io/
  4. After=network.target
  5. [Service]
  6. Type=simple
  7. User=prometheus
  8. ExecStart=/data/prometheus/prometheus --web.enable-lifecycle --config.file=/data/prometheus/prometheus.yml --storage.tsdb.path=/data/database/prometheus
  9. Restart=on-failure
  10. [Install]
  11. WantedBy=multi-user.target
复制代码
4. 加载配置&启动服务

​ systemctl daemon-reload
​ systemctl start prometheus
​ systemctl status prometheus
​ systemctl enable prometheus

  • 访问web页面,IP:9090
  • 查看到监控的数据,IP:9090/metrics
二. 监控linux主机

1. 下载node_exporter

​ wget https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gz
2.解压

​ tar -zxvf node_exporter-1.5.0.linux-amd64.tar.gz -C /data/
​ mv /data/node_exporter-1.5.0.linux-amd64/ /data/node_exporter
3. 配置systemctl启动项

​ vim /etc/systemd/system/node_exporter.service
  1. [Unit]
  2. Description=node_exporter
  3. [Service]
  4. ExecStart=/data/source.package/node_exporter-1.1.2.linux-amd64/node_exporter
  5. ExecReload=/bin/kill -HUP $MAINPID
  6. KillMode=process
  7. Restart=on-failure
  8. [Install]
  9. WantedBy=multi-user.target
复制代码
4. 加载配置&启动服务

​ systemctl daemon-reload
​ systemctl start node_exporter.service
​ systemctl status node_exporter.service
​ systemctl enable node_exporter.service

  • 查看到被监控的数据,IP:9100/metrics
5. 监控端配置


  • 在主配置文件最后加上下面三行
    vim /data/prometheus/prometheus.yml
  1. - job_name: 'agent1' #取一个job名称来代表被监控的机器
  2.     static_configs:
  3.     - targets: ['192.168.1.1:9100'] # 这里改成被监控机器的IP,后面端口接9100
复制代码

  • 测试prometheus.yaml文件有无报错
  1. [root@VM-16-2-centos prometheus]# ./promtool check config prometheus.yml
  2. Checking prometheus.yml
  3. SUCCESS: prometheus.yml is valid prometheus config file syntax
复制代码
6. 重新加载prometheus配置文件


  • curl -X POST http://127.0.0.1:9090/-/reload,打开prometheus页面输入up查看是不是有对应的数据了

  • 回到web管理界面 ——>点——>点Targets ——>可以看到多了一台监控目标
三. 监控mysql

1. 下载mysqld_exporter

​ wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.14.0/mysqld_exporter-0.14.0.linux-amd64.tar.gz2
2. 解压

​ tar -zxvf mysqld_exporter-0.14.0.linux-amd64.tar.gz -C /data/
​ mv /data/mysqld_exporter-0.14.0.linux-amd64/ /data/mysqld_exporter
  1. [root@VM-12-2-centos ~]# ls /data/mysqld_exporter/
  2. LICENSE  mysqld_exporter  NOTICE
复制代码
3. 安装mariadb数据库,并授权

​ yum -y install mariadb-server -y
​ systemctl start mariadb
  1. [root@VM-12-2-centos ~]# mysql
  2. Welcome to the MariaDB monitor.  Commands end with ; or \g.
  3. Your MariaDB connection id is 2
  4. Server version: 5.5.68-MariaDB MariaDB Server
  5. Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
  6. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  7. MariaDB [(none)]>
  8. MariaDB [(none)]> grant select,replication client,process ON *.* to 'mysql_monito'@'localhost' identified by '123';
  9. Query OK, 0 rows affected (0.00 sec)
  10. MariaDB [(none)]>
  11. MariaDB [(none)]> flush privileges;
  12. Query OK, 0 rows affected (0.00 sec)
  13. MariaDB [(none)]>
  14. MariaDB [(none)]> exit
  15. Bye
复制代码
4. 启动

​ nohup /usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf &
5. 监控端配置

​ vim /data/prometheus/prometheus.yml
  1.   - job_name: 'mysql' #取一个job名称来代表被监控的机器
  2.     static_configs:
  3.       - targets: ['192.168.1.1:9104'] # 这里改成被监控机器的IP,后面端口接9104
复制代码
6. 重启prometheus

​ systemctl restart prometheus

  • 回到web管理界面 ——>点——>点Targets ——>可以看到多了一台监控目标

四. 部署grafana

1. 下载

​ wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.3.6.linux-amd64.tar.gz
2. 解压

​ tar -zxvf grafana-enterprise-9.3.6.linux-amd64.tar.gz -C /data
​ mv grafana-9.3.6/ grafana
3. 修改初始化文件


  • 备份
​ cp /data/grafana/conf/defaults.ini /data/grafana/conf/defaults.ini.bak

  • 修改
​ vim /data/grafana/conf/defaults.ini
  1. data = /data/database/grafana/data
  2. logs = /data/database/grafana/log
  3. plugins = /data/database/grafana/plugins
  4. provisioning = /data/grafana/conf/provisioning/
复制代码
4. 配置systemctl启动项

​ vim /etc/systemd/system/grafana-server.service
  1. [Unit]
  2. Description=Grafana
  3. After=network.target
  4. [Service]
  5. User=grafana
  6. Group=grafana
  7. Type=notify
  8. ExecStart=/data/grafana/bin/grafana-server -homepath /data/grafana/
  9. Restart=on-failure
  10. [Install]
  11. WantedBy=multi-user.target
复制代码
5. 加载配置&启动服务

systemctl daemon-reload
systemctl start grafana-server.service
systemctl status grafana-server.service
systemctl enable grafana-server.service

  • web页面:ip+3000

    • 默认账号密码都是admin admin,登陆时需要修改密码。


6. 配置grafana


  • 添加prometheus监控数据及模板,将grafana和prometheus关联起来,也就是在grafana中添加添加数据源



  • 点击:左边栏Dashboards“+”号内import->输入“8919”->load->更改name为“Prometheus Node”->victoriaMetrics选择刚创建的数据源“prometheus”


  • 设置完成后,点击"Dashboards",->"victoriaMetrics"->"Prometheus Node"

五、部署alertmanager

1. 下载

​ https://prometheus.io/download/
2. 解压

​ tar -zxvf alertmanager-0.25.0.linux-amd64.tar.gz -C /data/
​ cd /data
​ mv alertmanager-0.25.0.linux-amd64/ alertmanager
​ chown -R prometheus:prometheus /data/alertmanager
​ mkdir -p /data/alertmanager/data
3. 配置报警系统altermanger服务

vim /data/alertmanager/alertmanager.yml(最初配置)
  1. global:
  2.   resolve_timeout: 5m
  3. route:
  4.   group_by: ['alertname']
  5.   group_wait: 10s
  6.   group_interval: 10s
  7.   repeat_interval: 1h
  8.   receiver: 'web.hook'
  9. receivers:
  10. - name: 'web.hook'
  11.   webhook_configs:
  12.   - url: 'http://127.0.0.1:5001/'
  13. inhibit_rules:
  14.   - source_match:
  15.       severity: 'critical'
  16.     target_match:
  17.       severity: 'warning'
  18.     equal: ['alertname', 'dev', 'instance']
复制代码
4. 配置systemctl启动项

​ vim /etc/systemd/system/alertmanager.service
  1. [Unit]
  2. Description=Alertmanager
  3. After=network.target
  4. [Service]
  5. Type=simple
  6. User=prometheus
  7. ExecStart=/data/alertmanager/alertmanager --config.file=/data/alertmanager/alertmanager.yml --storage.path=/data/alertmanager/data
  8. Restart=on-failure
  9. [Install]
  10. WantedBy=multi-user.target
复制代码
5. 加载配置&启动服务

​ systemctl daemon-reload
​ systemctl start alertmanager.service
​ systemctl status alertmanager.service
​ systemctl enable alertmanager.service
6. 配置promethues.yaml


  • 备份
​ cp /data/prometheus/prometheus.yml /data/prometheus/prometheus.yml.bak

  • 编辑
​ vim /data/prometheus/prometheus.yml (job_name中有几台监控的机器就写几行)
  1. alerting:
  2.   alertmanagers:
  3.   - static_configs:
  4.     - targets:
  5.       - 192.168.1.1:9093
  6. rule_files:
  7.   - "/data/database/prometheus/rules/*.rules"
  8. scrape_configs:
  9.   # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  10.   - job_name: 'prometheus'
  11.     # metrics_path defaults to '/metrics'
  12.     # scheme defaults to 'http'.
  13.     static_configs:
  14.     - targets: ['192.168.1.1:9090']
  15.   - job_name: 'node'
  16.     static_configs:
  17.     - targets: ['192.168.1.2:9100']
  18.     - targets: ['192.168.1.3:9100']
  19.     - targets: ['192.168.1.4:9100']
复制代码

  • 测试prometheus.yaml文件有无报错(可以检测出rules文件有无报错)
​ cd /data/prometheus
​ ./promtool check config prometheus.yml
  1. [root@VM-16-2-centos prometheus]# ./promtool check config prometheus.yml
  2. Checking prometheus.yml
  3.   SUCCESS: 1 rule files found
  4. SUCCESS: prometheus.yml is valid prometheus config file syntax
  5. Checking /data/database/prometheus/rules/node.rules
  6.   SUCCESS: 21 rules found
复制代码
7. 创建prometheus的规则文件

​ mkdir /data/database/prometheus/rules
​ vim /data/database/prometheus/rules/node.rules
  1. groups:
  2.   - name: Node-rules
  3.     rules:
  4.     - alert: Node-Down
  5.       expr: up{job="node1"} == 0
  6.       for: 1m
  7.       labels:
  8.         severity: 严重警告
  9.         instance: "{{ $labels.instance }}"
  10.       annotations:
  11.         summary: "{{$labels.instance }} 节点已经宕机 1分钟"
  12.         description: "节点宕机"
  13.     - alert: Node-CpuHigh
  14.       expr: (1 - avg by (instance) (irate(node_cpu_seconds_total{job="node",mode="idle"}[5m]))) * 100 > 80
  15.       for: 1m
  16.       labels:
  17.         severity: 警告
  18.         instance: "{{ $labels.instance }}"
  19.       annotations:
  20.         summary: "{{ $labels.instance }} cpu使用率超 80%"
  21.         description: "CPU 使用率为 {{ $value }}%"
  22.     - alert: Node-CpuIowaitHigh
  23.       expr: avg by (instance) (irate(node_cpu_seconds_total{job="node",mode="iowait"}[5m])) * 100 > 80
  24.       for: 1m
  25.       labels:
  26.         severity: 警告
  27.         instance: "{{ $labels.instance }}"
  28.       annotations:
  29.         summary: "{{ $labels.instance }} CPU iowait 使用率超过 80%"
  30.         description: "CPU iowait 使用率为 {{ $value }}%"
  31.     - alert: Node-MemoryHigh
  32.       expr: (1 - node_memory_MemAvailable_bytes{job="node"} / node_memory_MemTotal_bytes{job="node"}) * 100 > 80
  33.       for: 1m
  34.       labels:
  35.         severity: 警告
  36.         instance: "{{ $labels.instance }}"
  37.       annotations:
  38.         summary: "{{ $labels.instance }} Memory使用率超过 80%"
  39.         description: "Memory 使用率为 {{ $value }}%"
  40.     - alert: Node-Load5High
  41.       expr: node_load5 > (count by (instance) (node_cpu_seconds_total{job="node",mode='system'})) * 1.2
  42.       for: 1m
  43.       labels:
  44.         severity: 警告
  45.         instance: "{{ $labels.instance }}"
  46.       annotations:
  47.         summary: "{{ $labels.instance }} Load(5m)过高,超出cpu核数1.2倍"
  48.         description: "Load(5m)过高,超出cpu核数 1.2倍"
  49.     - alert: Node-DiskRootHigh
  50.       expr: (1 - node_filesystem_avail_bytes{job="node",fstype=~"ext.*|xfs",mountpoint ="/"} / node_filesystem_size_bytes{job="node",fstype=~"ext.*|xfs",mountpoint ="/"}) * 100 > 80
  51.       for: 10m
  52.       labels:
  53.         severity: 警告
  54.         instance: "{{ $labels.instance }}"
  55.       annotations:
  56.         summary: "{{ $labels.instance }} Disk(/ 分区) 使用率超过 80%"
  57.         description: "Disk(/ 分区) 使用率为 {{ $value }}%"
  58.     - alert: Node-DiskDataHigh
  59.       expr: (1 - node_filesystem_avail_bytes{job="node",fstype=~"ext.*|xfs",mountpoint ="/data"} / node_filesystem_size_bytes{job="node",fstype=~"ext.*|xfs",mountpoint ="/data"}) * 100 > 80
  60.       for: 10m
  61.       labels:
  62.         severity: 警告
  63.         instance: "{{ $labels.instance }}"
  64.       annotations:
  65.         summary: "{{ $labels.instance }} Disk(/data 分区) 使用率超过 80%"
  66.         description: "Disk(/data 分区) 使用率为 {{ $value }}%"
  67.     - alert: Node-DiskReadHigh
  68.       expr: irate(node_disk_read_bytes_total{job="node"}[5m]) > 20 * (1024 ^ 2)
  69.       for: 1m
  70.       labels:
  71.         severity: 警告
  72.         instance: "{{ $labels.instance }}"
  73.       annotations:
  74.         summary: "{{ $labels.instance }} Disk 读取字节数速率超过 20 MB/s"
  75.         description: "Disk 读取字节数速率为 {{ $value }}MB/s"
  76.     - alert: Node-DiskWriteHigh
  77.       expr: irate(node_disk_written_bytes_total{job="node"}[5m]) > 20 * (1024 ^ 2)
  78.       for: 1m
  79.       labels:
  80.         severity: 警告
  81.         instance: "{{ $labels.instance }}"
  82.       annotations:
  83.         summary: "{{ $labels.instance }} Disk 写入字节数速率超过 20 MB/s"
  84.         description: "Disk 写入字节数速率为 {{ $value }}MB/s"
  85.     - alert: Node-DiskReadRateCountHigh
  86.       expr: irate(node_disk_reads_completed_total{job="node"}[5m]) > 3000
  87.       for: 1m
  88.       labels:
  89.         severity: 警告
  90.         instance: "{{ $labels.instance }}"
  91.       annotations:
  92.         summary: "{{ $labels.instance }} Disk iops 每秒读取速率超过 3000 iops"
  93.         description: "Disk iops 每秒读取速率为 {{ $value }}"
  94.     - alert: Node-DiskWriteRateCountHigh
  95.       expr: irate(node_disk_writes_completed_total{job="node"}[5m]) > 3000
  96.       for: 1m
  97.       labels:
  98.         severity: 警告
  99.         instance: "{{ $labels.instance }}"
  100.       annotations:
  101.         summary: "{{ $labels.instance }} Disk iops 每秒写入速率超过 3000 iops"
  102.         description: "Disk iops 每秒写入速率为 {{ $value }}"
  103.     - alert: Node-InodeRootUsedPercentHigh
  104.       expr: (1 - node_filesystem_files_free{job="node",fstype=~"ext4|xfs",mountpoint="/"} / node_filesystem_files{job="node",fstype=~"ext4|xfs",mountpoint="/"}) * 100 > 80
  105.       for: 10m
  106.       labels:
  107.         severity: 警告
  108.         instance: "{{ $labels.instance }}"
  109.       annotations:
  110.         summary: "{{ $labels.instance }} Disk (/ 分区) inode 使用率超过 80%"
  111.         description: "Disk (/ 分区) inode 使用率为 {{ $value }}%"
  112.     - alert: Node-InodeBootUsedPercentHigh
  113.       expr: (1 - node_filesystem_files_free{job="node",fstype=~"ext4|xfs",mountpoint="/data"} / node_filesystem_files{job="node",fstype=~"ext4|xfs",mountpoint="/data"}) * 100 > 80
  114.       for: 10m
  115.       labels:
  116.         severity: 警告
  117.         instance: "{{ $labels.instance }}"
  118.       annotations:
  119.         summary: "{{ $labels.instance }} Disk (/data 分区) inode 使用率超过 80%"
  120.         description: "Disk (/data 分区) inode 使用率为 {{ $value }}%"
  121.     - alert: Node-FilefdAllocatedPercentHigh
  122.       expr: node_filefd_allocated{job="node"} / node_filefd_maximum{job="node"} * 100 > 80
  123.       for: 10m
  124.       labels:
  125.         severity: 警告
  126.         instance: "{{ $labels.instance }}"
  127.       annotations:
  128.         summary: "{{ $labels.instance }} Filefd 打开百分比超过 80%"
  129.         description: "Filefd 打开百分比为 {{ $value }}%"
  130.     - alert: Node-NetworkNetinBitRateHigh
  131.       expr: avg by (instance) (irate(node_network_receive_bytes_total{device=~"eth0|eth1|ens33|ens37"}[1m]) * 8) > 20 * (1024 ^ 2) * 8
  132.       for: 3m
  133.       labels:
  134.         severity: 警告
  135.         instance: "{{ $labels.instance }}"
  136.       annotations:
  137.         summary: "{{ $labels.instance }} Network 接收比特数速率超过 20MB/s"
  138.         description: "Network 接收比特数速率为 {{ $value }}MB/s"
  139.     - alert: Node-NetworkNetoutBitRateHigh
  140.       expr: avg by (instance) (irate(node_network_transmit_bytes_total{device=~"eth0|eth1|ens33|ens37"}[1m]) * 8) > 20 * (1024 ^ 2) * 8
  141.       for: 3m
  142.       labels:
  143.         severity: 警告
  144.         instance: "{{ $labels.instance }}"
  145.       annotations:
  146.         summary: "{{ $labels.instance }} Network 接收比特数速率超过 20MB/s"
  147.         description: "Network 发送比特数速率为 {{ $value }}MB/s"
  148.     - alert: Node-NetworkNetinPacketErrorRateHigh
  149.       expr: avg by (instance) (irate(node_network_receive_errs_total{device=~"eth0|eth1|ens33|ens37"}[1m])) > 15
  150.       for: 3m
  151.       labels:
  152.         severity: 警告
  153.         instance: "{{ $labels.instance }}"
  154.       annotations:
  155.         summary: "{{ $labels.instance }} Network 接收错误包速率超过 15个/秒"
  156.         description: "Network 接收错误包速率为 {{ $value }}个/秒"
  157.     - alert: Node-NetworkNetoutPacketErrorRateHigh
  158.       expr: avg by (instance) (irate(node_network_transmit_packets_total{device=~"eth0|eth1|ens33|ens37"}[1m])) > 15
  159.       for: 3m
  160.       labels:
  161.         severity: 警告
  162.         instance: "{{ $labels.instance }}"
  163.       annotations:
  164.         summary: "{{ $labels.instance }} Network 发送错误包速率超过 15个/秒"
  165.         description: "Network 发送错误包速率为 {{ $value }}个/秒"
  166.     - alert: Node-ProcessBlockedHigh
  167.       expr: node_procs_blocked{job="node"} > 10
  168.       for: 10m
  169.       labels:
  170.         severity: 警告
  171.         instance: "{{ $labels.instance }}"
  172.       annotations:
  173.         summary: "{{ $labels.instance }} Process 当前被阻塞的任务的数量超过 10个"
  174.         description: "Process 当前被阻塞的任务的数量为 {{ $value }}个"
  175.     - alert: Node-TimeOffsetHigh
  176.       expr: abs(node_timex_offset_seconds{job="node"}) > 3 * 60
  177.       for: 2m
  178.       labels:
  179.         severity: 警告
  180.         instance: "{{ $labels.instance }}"
  181.       annotations:
  182.         summary: "{{ $labels.instance }} 节点的时间偏差超过 3m"
  183.         description: "节点的时间偏差为 {{ $value }}m"
  184.     - alert: Node-TCPconnection
  185.       expr: node_sockstat_TCP_tw{job="node"} > 15000
  186.       for: 2m
  187.       labels:
  188.         severity: 警告
  189.         instance: "{{ $labels.instance }}"
  190.       annotations:
  191.         summary: "{{ $labels.instance }} TCP 等待关闭的TCP连接数TIME_WAIT过高大于15000"
  192.         description: "TCP 等待关闭的TCP连接数为 {{ $value }}"
复制代码
  1. 8. 配置alertmanager邮件报警
复制代码
​ vim /data/alertmanager/alertmanager.yml
  1. # 全局配置项
  2. global:
  3.   resolve_timeout: 5m #处理超时时间,默认为5min
  4.   smtp_smarthost: 'smtp.qq.com:465' #邮箱smtp服务器代理
  5.   smtp_from: '111111112@qq.com' #发送邮箱名称
  6.   smtp_auth_username: '111111112@qq.com' #邮箱名称
  7.   smtp_auth_password: 'asdklfjwiehrqc' #邮箱授权码
  8.   smtp_require_tls: false
  9.   smtp_hello: 'qq.com'<br><br>
复制代码
  1. # 定义报警模板
  2. templates:
  3.   - '/data/alertmanager/email.tmpl'
  4. # 定义路由树信息
  5. route:
  6.   group_by: ['alertname'] #报警分组依据
  7.   group_wait: 10s #最初即第一次等待多久时间发送一组警报的通知
  8.   group_interval: 10s #在发送新警报前的等待时间
  9.   repeat_interval: 10m #发送重复警报的周期 对于email配置中,此项不可以设置过低,否则将会由于邮件发送太多频繁,被smtp服务器拒绝
  10.   receiver: 'email' #发送警报的接收者的名称,以下receivers name的名称
复制代码
  1. [/code][code]# 定义警报接收者信息
  2. receivers:
  3.   - name: 'email' # 警报
  4.     email_configs: # 邮箱配置
  5.     - to: '1111111112@qq.com, hello@163.com' #添加多个邮箱中间用,+空格分开
  6.       html: '{{ template "email.html" . }}'
  7.       send_resolved: true
  8. # 一个inhibition规则是在与另一组匹配器匹配的警报存在的条件下,使匹配一组匹配器的警报失效的规则。两个警报必须具有一组相同的标签。
  9. inhibit_rules:
  10.   - source_match:
  11.       severity: 'critical'
  12.     target_match:
  13.       severity: 'warning'
  14.     equal: ['alertname', 'dev', 'instance']
复制代码
9. 创建自定义报警模板

​ vim /data/alertmanager/email.tmpl
  1. {{ define "email.html" }}
  2. {{- if gt (len .Alerts.Firing) 0 -}}
  3. {{- range $index, $alert := .Alerts -}}
  4. <pre>
  5. ======== 异常告警 ========
  6. 告警类型:{{ $alert.Labels.alertname }}
  7. 告警级别:{{ $alert.Labels.severity }}
  8. 告警实例:{{ $alert.Labels.instance }}
  9. 告警应用: {{ $alert.Labels.name }}
  10. 告警信息:{{ $alert.Annotations.summary }}
  11. 告警详情:{{ $alert.Annotations.description }}
  12. 告警时间:{{ $alert.StartsAt.Local }}
  13. ========== END ==========
  14. </pre>
  15. {{- end }}
  16. {{- end }}
  17. {{- if gt (len .Alerts.Resolved) 0 -}}
  18. {{- range $index, $alert := .Alerts -}}
  19. <pre>
  20. ======== 告警恢复 ========
  21. 告警类型:{{ $alert.Labels.alertname }}
  22. 告警级别:{{ $alert.Labels.severity }}
  23. 告警实例:{{ $alert.Labels.instance }}
  24. 告警详情:{{ $alert.Annotations.description }}
  25. 告警应用: {{ $alert.Labels.name }}
  26. 当前状态: OK
  27. 告警时间:{{ $alert.StartsAt.Local }}
  28. 恢复时间:{:{ $alert.EndsAt.Local }}
  29. ========== END ==========
  30. </pre>
  31. {{- end }}
  32. {{- end }}
  33. {{- end }}
复制代码
10. 重启服务

​ systemctl restart prometheus.service
​ systemctl restart alertmanager.service
11. 页面验证


  • web页面:ip+9090上点击alert选项查看是否存在规则 

12. 邮件告警



来源:https://www.cnblogs.com/heiguu/p/17332545.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具