mysql_exporter在Linux上的安装与配置

news/2024/10/18 7:57:51/

mysqld_exporter 是一个用于监控 MySQL 数据库的 Prometheus exporter。可以从 MySQL 数据库的 metrics_schema 收集指标,相关指标主要包括:

  • MySQL 服务器指标:例如 uptime、version 等
  • 数据库指标:例如 schema_name、table_rows 等
  • 表指标:例如 table_name、engine、rows 等
  • 用户指标:例如 user、max_connections 等
  • InnoDB 指标:例如 innodb_buffer_pool_pages_dirty 等
  • 网络指标:例如 bytes_sent 等

1. 下载 mysqld_exporter 二进制文件

可以从 GitHub Releases 页面下载对应操作系统与架构的 mysql_exporter 二进制文件。
https://github.com/prometheus/mysqld_exporter/releases

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

2. 解压 mysqld_exporter 二进制文件

tar -xvf mysqld_exporter-0.14.0.linux-amd64.tar.gz 

3. 配置 mysqld_exporter

使用 vim 编辑 mysqld_exporter-0.14.0.linux-amd64/my.cnf,添加 MySQL 连接信息。(my.cnf文件可能不存在)
例如:

[client]
user=mysqlexporter 
password=mysqlexporterpasswd
host=127.0.0.1:3306

4. 运行 mysqld_exporter

直接运行 mysql_exporter 二进制文件:

./mysqld_exporter-0.14.0.linux-amd64/mysqld_exporter --web.listen-address=:9104 --config.my-cnf=./mysqld_exporter-0.14.0.linux-amd64/my.cnf &

默认会监听在 9104 端口。

5. Prometheus 配置抓取 mysqld_exporter metrics

在 Prometheus 配置文件 prometheus.yml 中为 mysql_exporter 添加一个 job:

 - job_name: mysql_exporter  static_configs:  - targets: ['192.168.1.1:9104'] #mysql_exporter服务地址

6. 在 Prometheus Web UI 中验证 metrics

登录 Prometheus Web UI,切换到 Graph 页面,在 Expression 工具中输入 mysql_info,可以看到类似如下 metrics:

metricvalue
mysql_info{version=“xxx”}1.0
  • mysql_up:MySQL 服务器是否正常运行,1 为运行,0 为不运行
  • mysql_connections:活动的 MySQL 连接数量
  • mysql_max_connections:MySQL 允许的最大连接数量
  • mysql_threads_connected:当前打开的线程数量
  • mysql_threads_running:活动的(非睡眠的)线程数量
  • mysql_open_tables:当前打开的表数量
  • mysql_queries:服务器执行的语句数量
  • mysql_select_full_join:SELECT 查询中执行的全连接的数量
  • mysql_innodb_buffer_pool_pages_free:InnoDB buffer pool 中空闲页的数量
  • mysql_innodb_row_lock_waits:InnoDB 行锁等待的次数
  • mysql_innodb_row_lock_time:InnoDB 行锁等待的时间总和
  • mysql_global_variables_max_connections: 允许的最大连接数;
  • mysql_global_status_threads_connected: 当前开放的连接;
  • mysql_global_status_threads_running:当前开放的连接;
  • mysql_global_status_aborted_connects:当前开放的连接;
  • mysql_global_status_connection_errors_total{error=“max_connections”}:由于超出最大连接数导致的错误;
  • mysql_global_status_connection_errors_total{error=“internal”}:由于系统内部导致的错误;

http://www.ppmy.cn/news/51105.html

相关文章

看板与 Scrum:有什么区别?

看板和Scrum是项目管理方法论,以小增量完成项目任务并强调持续改进。但是他们用来实现这些目标的过程是不同的。看板以可视化任务和连续流程为中心,而Scrum更多是关于为每个交付周期实施时间表和分配设定角色。 在看板和Scrum之间做出选择并不总是必要…

Android Display架构分析,黑屏,系统架构

(642条消息) Android Display架构分析_lin-0410的博客-CSDN博客 (644条消息) Android系统架构_橙子19911016的博客-CSDN博客 1 Android 系统架构 Android 是谷歌开发的一款基于 Linux 内核的操作系统。系统架构分为五层,从下到上依次是Linux内核层、硬件抽象层、系…

P1040 [NOIP2003 提高组] 加分二叉树

题目描述 设一个 �n 个节点的二叉树 treetree 的中序遍历为(1,2,3,…,�)(1,2,3,…,n),其中数字 1,2,3,…,�1,2,3,…,n 为节点编号。每个节点都有一个分数(均为正整数),记第 �i 个节…

ch6_1计算机中运算方法

计算机中数的表示计算机的运算方法运算器的设计 参考教材 本章内容主要介绍,计算机中的运算方法 无符号数和有符号数数的定点表示和浮点表示定点运算浮点四则运算算术逻辑单元 1. 无符号数和有符号数 1.1 无符号数 1.2 有符号数 计算机中, 小数点…

Java文件字符流和字节流中的实战

文件输入输出流 文件内容操作与实战字符流ReaderWriter 字节流inputStreamOutputStream实战💪 文件内容操作与实战 文件的分类上一篇文章(文件对象处理)已经和大家讲解过了。本章主要文件主要针对于对文件内容的操作展开讲解,文件…

系统分析师之信息化技术(十一)

目录 一、企业信息化概述 1.1 信息系统的基本概念 1.1.1 什么是信息 1.1.2 什么是信息化 1.1.3 信息系统分类 二、企业信息化规划 2.1 信息化战略体系 2.2 企业战略与信息化战略集成方法 三、信息系统开发方法 3.1 信息系统开发方法 3.2 系统建模 四、信息系统战略…

如何用Python搭建HTTP服务器,并实现远程访问和下载?

Python是编程语言中的热门语言,具有语法简单、语句清晰的特点。如果你不擅长编程,学习Python是一个不错的选择,初学者在学习阶段可以较为轻松地理解编程对象和思维方法。对于小白用户来说,它具有强大且丰富的库,封装后可以轻松调用,因此也更受…

走进社区客户端测试 | 得物技术

0.引言 社区 C 端质量体系建设思考? 询问一下 ChatGPT 1、关于社区客户端 1.1 社区端上功能 得物首页 搜索、发布、关注流、推荐流、沉浸式单列流、活动 tab、其他二级频道 tab 动态详情页 图文、视频、专栏、点评 私域 个人/他人主页、通讯录好友、微博好友…