iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >如何解析MySQL prometheus邮件报警配置
  • 329
分享到

如何解析MySQL prometheus邮件报警配置

2024-04-02 19:04:59 329人浏览 薄情痞子
摘要

这篇文章给大家介绍prometheus如何配置Mysql邮件报警,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。这里介绍一下prometheus的邮件报警配置。alertmanager下

这篇文章给大家介绍prometheus如何配置Mysql邮件报警,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。


这里介绍一下prometheus的邮件报警配置。

alertmanager下载

prometheus报警配置需要用到alertmanager组件,这个组件可以到prometheus官网上进行下载。

https://prometheus.io/download/

如何解析MySQL prometheus邮件报警配置

由于最新版本的alertmanager组件配置邮箱通讯存在一些问题,我们这里选择在GitHub上下载0.14版本的alertmanager。

Https://github.com/prometheus/alertmanager

如何解析MySQL prometheus邮件报警配置

附具体下载地址:

https://github.com/prometheus/alertmanager/releases/download/v0.14.0/alertmanager-0.14.0.linux-amd64.tar.gz

alertmanager安装配置

将下载的alertmanager包进行解压安装。

tar -xf alertmanager-0.14.0.linux-amd64.tar.gz
mv alertmanager-0.14.0.linux-amd64 /data/alertmanager

编辑alertmanager的配置文件,添加邮箱信息。

# cd /data/alertmanager
# cat alertmanager.yml
global:
  smtp_smarthost: smtp.exmail.xxx.com:465 # 发件人邮箱smtp地址
  smtp_auth_username: xxxx@xxx.com # 发件人邮箱账号
  smtp_from: xxx@xxx.com # 发件人邮箱账号
  smtp_auth_passWord: xxxxxx # 发件人邮箱密码
  resolve_timeout: 5m
  smtp_require_tls: false
route:
  # group_by: ['alertname'] # 报警分组依据
  group_wait: 10s # 最初即第一次等待多久时间发送一组警报的通知
  group_interval: 10s # 在发送新警报前的等待时间
  repeat_interval: 1m # 发送重复警报的周期 对于email配置中多频繁
  receiver: 'email'
receivers:
- name: email
  email_configs:
  - send_resolved: true
    to: xxx@xxx.com # 收件人邮箱账号

启动alertmanager。

# cd /data/alertmanager
./alertmanager --config.file=alertmanager.yml &

alertmanager的默认端口为9093。

如何解析MySQL prometheus邮件报警配置

prometheus配置

在prometheus目录下编辑报警模版alert_rules.yml,添加一些自定义报警项。

# cd /data/prometheus
# cat alert_rules.yml
groups:
- name: mysql-rules
  rules:
  - alert: Mysql Status # 告警名称
    expr: up == 0
    for: 5s # 满足告警条件持续时间多久后,才会发送告警
    annotations: # 解析项,详细解释告警信息
      summary: "{{$labels.instance}}: MySQL has stop !!!"
      value: "{{$value}}"
      alertname: "MySQL数据库停止运行"
      description: "检测MySQL数据库运行状态"
      message: 当前数据库实例{{$labels.instance}}已经停止运行,请及时处理
  - alert: MySQL Slave IO Thread Status # 告警名称
    expr: mysql_slave_status_slave_io_running == 0
    for: 5s # 满足告警条件持续时间多久后,才会发送告警
    annotations: # 解析项,详细解释告警信息
      summary: "{{$labels.instance}}: MySQL Slave IO Thread has stop !!!"
      value: "{{$value}}"
      alertname: "MySQL主从IO线程停止运行"
      description: "检测MySQL主从IO线程运行状态"
      message: 当前数据库实例{{$labels.instance}} IO线程已经停止运行,请及时处理
  - alert: MySQL Slave SQL Thread Status # 告警名称
    expr: mysql_slave_status_slave_sql_running == 0
    for: 5s # 满足告警条件持续时间多久后,才会发送告警
    annotations: # 解析项,详细解释告警信息
      summary: "{{$labels.instance}}: MySQL Slave SQL Thread has stop !!!"
      value: "{{$value}}"
      alertname: "MySQL主从SQL线程停止运行"
      description: "检测MySQL主从SQL线程运行状态"
      message: 当前数据库实例{{$labels.instance}} SQL线程已经停止运行,请及时处理
  - alert: MySQL Slave Delay Status # 告警名称
    expr: mysql_slave_status_sql_delay == 30
    for: 5s # 满足告警条件持续时间多久后,才会发送告警
    annotations: # 解析项,详细解释告警信息
      summary: "{{$labels.instance}}: MySQL Slave Delay has more than 30s !!!"
      value: "{{$value}}"
      alertname: "MySQL主从延时过大"
      description: "检测MySQL主从延时状态"
      message: 当前数据库实例{{$labels.instance}} 主从延时状态已经超过30s,请及时处理

在prometheus目录下编辑prometheus的配置文件,将监控的配置信息添加到prometheus.yml。

# cd /data/prometheus
# cat 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:
      - 172.18.0.24:9093 # 对应启动的altermanager节点的9093端口
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  - "alert_rules.yml" # 对应前面编辑的报警模版alert_rules.yml文件
# A scrape configuration containing exactly one endpoint to scrape:
scrape_configs:
  - file_sd_configs:
    - files:
      - mysql.yml
    job_name: MySQL
    metrics_path: /metrics
    relabel_configs:
    - source_labels: [__address__]
      regex: (.*)
      target_label: __address__
      replacement: $1

编辑完成后,重新加载一下配置更改。

kill -HUP [prometheus PID]

验证邮件报警

登陆prometheus的WEB页面,查看报警信息。

浏览器输入Prometheus_IP:9090 ,可以看到各个报警项的状态。

如何解析MySQL prometheus邮件报警配置

停掉主从线程,模拟触发报警。

如何解析MySQL prometheus邮件报警配置

Slave SQL线程停掉后,报警项颜色变成黄色,持续时间超过定义的持续时间后,颜色变红,并发送邮件。

如何解析MySQL prometheus邮件报警配置

如何解析MySQL prometheus邮件报警配置

收到报警邮件。

如何解析MySQL prometheus邮件报警配置

如何解析MySQL prometheus邮件报警配置

关于prometheus如何配置MySQL邮件报警就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: 如何解析MySQL prometheus邮件报警配置

本文链接: https://www.lsjlt.com/news/62845.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何解析MySQL prometheus邮件报警配置
    这篇文章给大家介绍prometheus如何配置MySQL邮件报警,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。这里介绍一下prometheus的邮件报警配置。alertmanager下...
    99+
    2022-10-18
  • mysql中如何设置监控软件spotlight报警发送邮件功能
    这篇文章主要介绍了mysql中如何设置监控软件spotlight报警发送邮件功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。这里我以spotlight on MySQL为例...
    99+
    2023-06-01
  • 如何解析PHP及配置文件
    这篇文章将为大家详细讲解有关如何解析PHP及配置文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。PHP是什么PHP是HypertextPreprocessor超文本预处理器的缩写,是一种广...
    99+
    2023-06-04
  • Mybatis是如何解析配置文件的
    本篇内容主要讲解“Mybatis是如何解析配置文件的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mybatis是如何解析配置文件的”吧!在以前文章中,我们把M...
    99+
    2022-10-19
  • windows系统下如何解决php.ini邮件配置正确却不发送邮件的问题
    这篇文章主要讲解了“windows系统下如何解决php.ini邮件配置正确却不发送邮件的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“windows系统下如何解决php.ini邮件配置正...
    99+
    2023-06-14
  • 如何解决MySQL配置文件指定了log-error配置项后启动报错的问题
    如何解决MySQL配置文件指定了log-error配置项后启动报错的问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。mysq...
    99+
    2022-10-18
  • 如何使用 PHP 解析 Spring 框架中的配置文件?
    Spring 是一个流行的 Java 开发框架,被广泛应用于企业级应用开发中。在 Spring 框架中,配置文件起着至关重要的作用,因为它们描述了应用程序中各个组件之间的关系,并提供了各种配置选项,以满足不同应用程序的需求。本文将介绍如何使...
    99+
    2023-07-02
    spring 文件 javascript
  • 如何解析MyBatis信用盘系统搭建配置文件
    如何解析MyBatis信用盘系统搭建配置文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。<xml version="1.0" enc...
    99+
    2023-06-04
  • 如何使用 Python 解析 Spring 框架中的配置文件?
    Spring 框架是一个广泛使用的 Java 应用程序框架,它的主要特点是将业务逻辑与底层代码分离。在 Spring 中,应用程序的配置文件扮演着至关重要的角色,它们描述了应用程序的各种设置和配置,如数据库连接、日志设置、Web 应用程序上...
    99+
    2023-09-04
    文件 关键字 spring
  • MySQL以及MySQL workbench的安装与配置【超详细安装教程】以及文本文件如何转换成.ini文件,以及一些问题解答
    目录 一、安装mysql 二、安装MySQL workbench 三、写在最后 一、安装mysql 先在官方文档里面下载: 网址直连:MySQL :: Begin Your Download 选择第一个就可以了  下载完成之后记得配置...
    99+
    2023-09-29
    mysql 数据库 sql 大数据 数据仓库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作