使用mysqld_exporter监控MySQL并展示数据

 

mysqld_exporter是Prometheus用于监控MySQL指标的一个导出器,支持对MySQL 5.5以上进行监控。用来抓取mysql的相关信息,下面是mysqld_exporter 安装的相关信息

环境: 192.168.31.40 MariaDB-5.5.68 mysqld_exporter_0.12.1

一、下载mysqld_exporter 并安装

官方网址:https://prometheus.io/download/

使用mysqld_exporter监控MySQL并展示数据

选择对应的版本下载

使用mysqld_exporter监控MySQL并展示数据

[root@node-1 ~]# wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz

#解压 ,移动到/usr/local 路径下 并从命名为 mysqld_exporter

[root@node-1 ~]# tar -xf mysqld_exporter-0.12.1.linux-amd64.tar.gz

[root@node-1 ~]# mv mysqld_exporter-0.12.1.linux-amd64 /usr/local/mysqld_exporter

二、登陆数据库,创建授权账户

[root@node-1 ~]# mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MariaDB connection id is 278
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

MariaDB [(none)]> grant PROCESS, REPLICATION CLIENT, SELECT on *.* to 'exporter'@'localhost' identified by 'fxkjnj';
MariaDB [(none)]> flush privileges;

#注意: 这里我只授权了本机登陆,因为 mysqld_exporter 也安装在数据库这台主机上

#退出验证,使用exporter 用户登陆数据库

 [root@node-1 ~]# mysql -uroot -p'fxkjnj'
Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MariaDB connection id is 286
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

MariaDB [(none)]> show grants;
+----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost                                                                                                              |
+----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*A88C2B91E04CF458B1EFF3228824DEA7CE4ABA22' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION                                                                           |
+----------------------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

MariaDB [(none)]> 

三、创建mysqld_exporter 的配置文件 my.cnf

[root@node-1 mysqld_exporter]# vim /usr/local/mysqld_exporter/my.cnf

[client]

host=192.168.31.40

port=3306

user=exporter

password=fxkjnj

四、创建mysql_exporter 启动文件,使用systemd 管理

[root@node-1 mysqld_exporter]# vim /etc/systemd/system/mysqld_exporter.service 
[Unit]
Description=mysqld_exporter
Documentation=mysqld_exporter-doc
 [Service]
ExecStart=/usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/my.cnf
 [Install]
WantedBy=multi-user.target

#初始化并启动mysqld_exporter

[root@node-1 mysqld_exporter]# systemctl daemon-reload

[root@node-1 mysqld_exporter]# systemctl start mysqld_exporter.service

#查看进程及端口

[root@node-1 ~]# ps -ef | grep mysqld_exporter | grep -v grep

root 60884 1 0 16:55 ? 00:00:02 /usr/local/mysqld_exporter/mysqld_exporter –config.my-cnf=/usr/local/mysqld_exporter/my.cnf

[root@node-1 ~]# netstat -ntlup | grep mysqld_export

tcp6 0 0 :::9104 :::* LISTEN 60884/mysqld_export

五、修改prometheus 配置文件 指定 mysqld_exporter 采集器地址

[root@prometheus ~]#vim /etc/prometheus/prometheus.yml

[root@prometheus ~]#vim /etc/prometheus/prometheus.yml
..............

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['192.168.31.250:9090']


  - job_name: 'mysql'
    static_configs:
    - targets: ['192.168.31.40:9104']

..............

#热加载prometheus

[root@prometheus ~]# ps -ef | grep prometheus | grep -v grep | awk ‘{print $2}’ | xargs kill -HUP

#登陆到prometheus 控制台,可以在status/targets 里看到 mysqld_exporter 采集器相关信息

使用mysqld_exporter监控MySQL并展示数据

点击 http://192.168.31.40:9104/metrics 可以看到相关数据

使用mysqld_exporter监控MySQL并展示数据

六、使用grafana 展示 mysqld_exporter 采集器采集的数据

PS: grafana 添加 prometheus 数据源 过程 省略。。。。。。。。。。

为了最终的效果,我们使用 Grafana 官网小伙伴提供的dashboard 来展示数据

模板地址: https://grafana.com/grafana/dashboards/7362 ID: 7362

使用mysqld_exporter监控MySQL并展示数据

点击 Download JSON , 下载完后 登陆Grafana ,默认地址 http://IP:3000

找到左侧 + 号,import 导入刚刚下载的json 文件

使用mysqld_exporter监控MySQL并展示数据

使用mysqld_exporter监控MySQL并展示数据

使用mysqld_exporter监控MySQL并展示数据

选择好数据源

稍等片刻,就可以看到 最终的效果

使用mysqld_exporter监控MySQL并展示数据

使用mysqld_exporter监控MySQL并展示数据

本篇只涉及到 使用mysqld_exporter 收集mysql 数据并展示 ,并没有写到 触发器的配置告警,这个等后面再更新

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/8203

(0)
杰斯的头像杰斯
上一篇 2023年5月19日 下午5:21
下一篇 2023年5月23日 下午4:28

相关推荐

  • Linux 大日志文件按时间查询与分割处理

    按时间查看日志 日志文件有40G: 大文件分割 split命令操作 按文件行数分割 catalina.out 按50000分割一个文件: 按文件大小分割 除了按照行数切割之外,split还支持通过文件大小进行切割,通过指定-b参数指定文件大小进行切割,文件大小单位支持K, M, G, T, P, E, Z,如下以切割为500M演示文件切割过程。

    2024年1月9日
    1.1K00
  • Linux 实用工具 Screen —— 再也不怕因为网络连接中断杀死任务了!

    不知道小伙伴们是否遇到过这样的场景: 有时候,我们本地通过 SSH 连接到远程服务器并不是很稳定,经常会断开连接。如果此时我们正在做类似更新系统、DD 系统、远程传输 / 下载文件等需要一定时间的操作,就会非常难受,好不容易传了半天的文件,中断了,又得重新来传一次,还得祈祷这次别传一半断开了。 今天我们介绍的这个工具 ——screen,就是为了来解决上面这些…

    2023年11月9日
    89700
  • 通过 Linux 命令行连接远程 Windows 系统

    安装 xfreerdp 在使用 xfreerdp 之前,您需要安装它。在大多数 Linux 发行版中,您可以使用包管理器来执行此操作。 在 Ubuntu / Debian 和 Linux Mint 上,运行以下命令 基于 RHEL 的发行版,如 Rocky Linux、AlmaLinux 和 Fedora,运行以下命令 使用 xfreerdp 远程连接 Wi…

    2023年9月20日
    1.1K00
  • 如何升级vCenter(VCSA)补丁?

    VCSA的升级分为repo源和iso镜像两种方式,由于使用repo源进行升级只支持HTTPS和FTPS协议,需要额外搭建环境,略复杂,本文介绍使用iso镜像方式升级。 一、下载补丁: 1、登录VMware官网下载最新的补丁包:(需要注册VMware会员) 下载地址:https://my.vmware.com/cn/group/vmware/patch#sea…

    2023年2月4日
    1.1K00
  • CentOS7系统下扩容根目录

    利用单一磁盘的剩余空间 在同一块磁盘下,有剩余空间未分配,将该空间合并到根目录中 本文以/dev/sda为例 查看磁盘分区情况 lsblk或者fdisk -l /dev/sda 可以看到 sda 总容量为30G,而 sda1和 sda2 加起来总共使用了10G,因此我们可以将剩余的容量添加到目录中 对剩余空间进行分区格式化操作 fdisk /dev/sda …

    2022年6月9日
    1.6K00

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信