使用Prometheus监控mysql

简介

Prometheus 是一个开源的系统监控和警报工具。它最初由 SoundCloud 开发,并于 2012 年发布为开源项目。Prometheus 专注于收集和存储时间序列数据,并提供强大的查询语言和灵活的警报机制。

可以用于以下几个方面:

  1. 系统监控:Prometheus 可以收集和存储各种系统指标,如 CPU 使用率、内存使用量、磁盘空间、网络流量等。它可以帮助您监控和分析系统的性能和资源使用情况,以及识别潜在的问题和瓶颈。
  2. 应用程序监控:Prometheus 可以与应用程序集成,收集和存储应用程序的指标数据,如请求处理时间、错误率、数据库查询次数等。通过监控应用程序的关键指标,您可以了解应用程序的运行状况,并及时发现和解决问题。
  3. 容器监控:Prometheus 对于容器化环境非常适用。它可以监控和收集容器的指标数据,如 CPU 使用率、内存使用量、网络流量等。通过与容器编排工具(如 Kubernetes)集成,Prometheus 可以自动发现和监控容器化应用程序,并提供详细的容器级别的监控和警报。
  4. 分布式系统监控:Prometheus 支持分布式系统的监控和警报。它可以收集和存储分布式系统的指标数据,并提供灵活的查询和聚合功能。通过监控分布式系统的关键指标,您可以了解系统的整体性能和健康状况,并及时发现和解决问题。
  5. 警报和通知:Prometheus 具有强大的警报机制,可以根据用户定义的规则和阈值对监控数据进行警报。它支持多种通知方式,如电子邮件、Slack、PagerDuty 等,以便及时通知用户有关系统状态的变化。

总的来说,Prometheus 是一个功能强大且灵活的监控和警报工具,适用于各种规模和类型的环境。它可以帮助您监控系统和应用程序的性能和健康状况,并及时发现和解决问题,从而提高系统的可靠性和稳定性。

什么是Exporter

所有可以向Prometheus提供监控样本数据的程序都可以被称为一个Exporter。而Exporter的一个示例称为target,如下所示,prometheus通过轮询的方式定期从这些target中获取样本数据。
在这里插入图片描述
Prometheus Exporter 是一种用于暴露指标(metrics)的软件组件或库,以便 Prometheus 监控系统能够收集和存储这些指标数据。Exporter 可以将不同的服务、应用程序或系统的状态信息以指定的格式暴露出来,例如 HTTP、JSON、Text 等。

Exporter 可以通过采集各种类型的指标,如 CPU 使用率、内存使用量、网络流量等,将这些指标暴露给 Prometheus 进行监控。Prometheus 会定期从 Exporter 获取指标数据,并存储、查询和可视化这些数据,以帮助用户了解系统的运行情况和性能指标。

Prometheus Exporter 有很多种类,涵盖了各种不同的应用和服务,例如 Node Exporter(用于主机监控)、Blackbox Exporter(用于网络监控)、MySQL Exporter(用于数据库监控)等。用户也可以编写自己的 Exporter,根据需要暴露自定义的指标数据。

安装Prometheus

下载链接: https://prometheus.io/download/
选择LTS标识下的文件
在这里插入图片描述
window双击prometheus.exe,即可运行
Linux安装:
解压:tar -zxvf prometheus-2.45.3.linux-amd64.tar.gz
启动输入命名:./prometheus --config.file=prometheus.yml 即可启动
在这里插入图片描述

如需修改默认端口,修改prometheus.yml文件
访问http://localhost:9090查看是否启动成功
在这里插入图片描述

安装 mysqld_exporter

同样在prometheus下载的地址下载
在这里插入图片描述
解压,在mysql创建一个用于监控的账号exporter,修改my.cnf配置:

[client]
user=exporter
password=mysql密码
host=localhost
port=3306

启动方式1:双击mysqld_exporter.exe启动
启动方式2:进入mysqld_exporter的文件夹下,输入命令:mysqld_exporter.exe --config.my-cnf=my.cnf
访问测试:http://localhost:9104/metrics,这是收集到的原始数据,不方便看…
在这里插入图片描述

配置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:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "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: "mysql"

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

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

重启Prometheus,此时一般已经可以监控到mysql的相关数据了~
在Graph中输入一些监控指标,看你想知道的数据,如果搜索不出来那就是之前的步骤配置的有问题,mysqld_exporter没监控上,或者是Prometheus的prometheus.yml没配置正确~
在这里插入图片描述

Mysql常用监控指标

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

参考博客:
https://blog.csdn.net/m0_67159981/article/details/129033266
https://blog.csdn.net/qq_48721706/article/details/135943577
https://blog.csdn.net/weixin_50014016/article/details/139260950
https://blog.csdn.net/qq_45277554/article/details/130917620

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值