51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Prometheus如何监控MySQL

Prometheus是一款目前非常热门的开源监控系统,可用于监控各种不同类型的服务。在这其中,监控MySQL即是Prometheus的一个重要功能。MySQL作为当前使用最广泛的关系型数据库系统,在业务中具有非常重要的用途,做好对于MySQL的监控,对于保证业务的稳定性无疑是必不可少的。

在本文中,我们将介绍如何基于Prometheus的方式,来实现对于MySQL数据库的状态监控。

01

---安装MySQL ExporterMySQL Exporter是一个专门用于监控MySQL数据库的程序,它能够收集相关的各种指标,如连接数、查询数、错误数等等。

我们通常会在MySQL服务器上安装该exporter,这样就可以为我们提供相关的数据信息。1. 下载解压安装包

$ wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.13.0/mysqld_exporter-0.13.0.linux-amd64.tar.gz
$ tar -zxvf mysqld_exporter-0.13.0.linux-amd64.tar.gz
  1. 创建exporter配置文件

在配置文件中写入myslq的账号密码,这样在运行时可免密码连接数据库。这里为了方便演示,我们使用root账号连接,但在实际生产环境中为了保证安全性,建议使用只读账号。

$ mkdir -p /etc/mysql_exporter/
$ vi /etc/mysql_exporter/my.cnf
[client]
user=root
password=123456
  1. 启动exporter

    $ cd mysqld_exporter-0.13.0.linux-amd64 $ ./mysqld_exporter --config.my-cnf=/etc/mysql_exporter/my.cnf &

02

---配置prometheus

在安装好MySQL Exporter之外,我们开始在Prometheus上配置Job,用于获取监控数据。

  1. 配置Job

    • job_name: 'mysql' scrape_interval: 5s static_configs: - targets: ['192.168.214.112:9104']

注:这里定了一个名为mysql的Job,每5秒钟收集MySQL Exporter程序的指标数据。目标为192.168.214.112:9104,即是该exporter所在的服务器地址和端口。

  1. 重启prometheus

    $ prometheus --config.file /etc/prometheus/prometheus.yml &

  2. 查看目标状态,已正常运行。

  3. 查看metrics信息 ,已获取。

03---配置Grafana展示在Prometheus成功获取数据后,我们可以来配置Grafana的监控展示。由于Grafana社区提供了很多Dashboard模板,因此直接使用社区的模板是最方便的方式,可以节省不少人工操作成本。

  1. 进入Grafana后,左上角点击"Create"-"Import",开始导入模板。

  2. 填写Mysql Dashboard模板编号,此处填写"7362",点击Load。

  3. 填写Dashboard的模板名称,还有相关的Prometheus源。

  4. 导入完成后,可看到效果如下所示,监控看板完成。

04---配置告警

除了监控展示,告警也是一项重要的工作。对于数据库的告警,通常需要与DBA进行沟通,来确认相关指标的告警阀值。

以下是一些常见的指标供参考,它们可以帮助你及时发现MySQL的问题:

  1. mysql_global_status_threads_connected

当前连接到MySQL服务器的客户端数量。

  1. mysql_global_status_threads_running

正在运行的线程数。

  1. mysql_global_status_queries

执行的查询总数。

  1. mysql_global_status_slow_queries

慢查询总数。

  1. mysql_global_status_aborted_clients

客户端终止的连接数。

  1. mysql_global_status_aborted_connects

尝试连接MySQL服务器,但连接未成功的次数。

  1. mysql_global_variables_max_connections

MySQL服务器允许的最大并发连接数。

至此,使用Prometheus监控MySQL工作完成。全文结束,如果觉得本文有帮助,可以点个赞

赞(0)
未经允许不得转载:工具盒子 » Prometheus如何监控MySQL