普罗米修斯监控sql(CentOS7)

普罗米修斯监控sql(CentOS7)

1.准备环境

复制代码
确认系统版本
cat /etc/centos-release

输出应该类似:CentOS Linux release 7.x (Core)

安装必备工具

sudo yum install -y wget tar vim net-tools

2.安装必备工具

复制代码
sudo yum install -y wget tar vim net-tools

3.创建用户和目录

复制代码
为了安全起见,我们给 Prometheus 创建一个单独的用户。
sudo useradd -rs /bin/false prometheus
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus

4.下载 Prometheus

复制代码
访问 Prometheus 官方下载页面
 或直接用 wget 下载最新版本,例如:
cd /tmp
wget https://github.com/prometheus/prometheus/releases/download/v2.47.0/prometheus-2.47.0.linux-amd64.tar.gz
或者使用安装包解压

5.解压:

复制代码
tar xvf prometheus-2.47.0.linux-amd64.tar.gz
sudo cp prometheus-2.47.0.linux-amd64/prometheus /usr/local/bin/
sudo cp prometheus-2.47.0.linux-amd64/promtool /usr/local/bin/

6.复制配置文件和控制台文件:

复制代码
sudo cp -r prometheus-2.47.0.linux-amd64/consoles /etc/prometheus
sudo cp -r prometheus-2.47.0.linux-amd64/console_libraries /etc/prometheus
sudo cp prometheus-2.47.0.linux-amd64/prometheus.yml /etc/prometheus/

7.修改目录权限

复制代码
sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus
sudo chown prometheus:prometheus /usr/local/bin/prometheus /usr/local/bin/promtool

8.修改 Prometheus 配置

复制代码
global:
  scrape_interval: 15s

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

9.创建 systemd 服务

复制代码
为了让 Prometheus 开机自启,我们创建 systemd 服务文件
sudo vim /etc/systemd/system/prometheus.service
写入:
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus \
  --config.file /etc/prometheus/prometheus.yml \
  --storage.tsdb.path /var/lib/prometheus \
  --web.console.templates=/etc/prometheus/consoles \
  --web.console.libraries=/etc/prometheus/console_libraries

[Install]
WantedBy=multi-user.target

10.启动

复制代码
重新加载 systemd:
sudo systemctl daemon-reload
启动并设置开机自启:
sudo systemctl start prometheus
sudo systemctl enable prometheus
查看状态:
sudo systemctl status prometheus
如果显示 active (running),说明启动成功。
浏览器访问

11.安装 MySQL Exporter

复制代码
Prometheus 官方提供了一个 mysqld_exporter,可以把 MySQL 的性能指标暴露给 Prometheus。

下载 mysqld_exporter(国内镜像示例):

cd /tmp
wget https://mirrors.tuna.tsinghua.edu.cn/prometheus/releases/mysqld_exporter-0.23.0.linux-amd64.tar.gz
tar xvf mysqld_exporter-0.23.0.linux-amd64.tar.gz
sudo cp mysqld_exporter-0.23.0.linux-amd64/mysqld_exporter /usr/local/bin/
sudo useradd -rs /bin/false mysqld

步骤 2:创建 MySQL 监控账号

登录 MySQL,创建一个只读账号给 Exporter 使用:

CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'password123';
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
FLUSH PRIVILEGES;
注意:password123 可以换成你自己的安全密码。

步骤 3:配置 mysqld_exporter
设置环境变量,让 exporter 能访问 MySQL:
sudo vim /etc/profile.d/mysqld_exporter.sh

写入:
export DATA_SOURCE_NAME="exporter:password123@(localhost:3306)/"
注意替换账号和密码。

加载环境变量:

source /etc/profile.d/mysqld_exporter.sh

步骤 4:创建 systemd 服务
sudo vim /etc/systemd/system/mysqld_exporter.service
写入

[Unit]
Description=MySQL Exporter
After=network.target

[Service]
User=mysqld
Group=mysqld
Type=simple
EnvironmentFile=/etc/profile.d/mysqld_exporter.sh
ExecStart=/usr/local/bin/mysqld_exporter

[Install]
WantedBy=multi-user.target
启动服务:

sudo systemctl daemon-reload
sudo systemctl start mysqld_exporter
sudo systemctl enable mysqld_exporter

步骤 5:在 Prometheus 中添加监控目标

编辑 Prometheus 配置 /etc/prometheus/prometheus.yml:

scrape_configs:
  - job_name: 'mysql'
    static_configs:
      - targets: ['localhost:9104']   # mysqld_exporter 默认端口是 9104


保存后,重新加载 Prometheus 配置:

sudo systemctl reload prometheus

步骤 6:访问 Prometheus

打开浏览器访问:

http://你的服务器IP:9090

http://你的服务器IP:9090
在 Targets 页面检查 mysql 的状态,如果显示 UP,说明 Prometheus 已经成功抓取 MySQL 指标了。

你可以在 Prometheus 中直接用 SQL 指标查询,例如:

nginx
复制代码
mysql_global_status_threads_connected
mysql_global_status_queries

/你的服务器IP:9090

在 Targets 页面检查 mysql 的状态,如果显示 UP,说明 Prometheus 已经成功抓取 MySQL 指标了。

你可以在 Prometheus 中直接用 SQL 指标查询,例如:

nginx

复制代码

mysql_global_status_threads_connected

mysql_global_status_queries

复制代码
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=C%3A%5CUsers%5CY%5CDesktop%5C%E7%85%A7%E7%89%87%5Cimage-20251201203222702.png&pos_id=img-zSOeqcsK-1764592426308)
相关推荐
梦想不只是梦与想2 分钟前
MySQL 中的窗口函数
数据库·mysql·窗口函数
严同学正在努力32 分钟前
Oracle数据技术运维大全(下篇)
运维·数据库·ai·oracle·架构
catino1 小时前
spring-事务@Transactional
java·数据库·spring
数智启示录1 小时前
Apache Doris 4.0.8 数据建模实战(第 2 篇):同一批订单写进三种模型,为什么得到三个答案
大数据·数据库·面试
数智启示录1 小时前
Apache Doris 4.0.8 CDC 正确性(第 9 篇):Flink Checkpoint 一直成功,表里为什么仍是旧数据
大数据·数据库·经验分享·面试·flink
拾光Ծ3 小时前
【MySQL】对表数据的操作:增删查改(CRUD)
android·数据库·sql·mysql
迷枫7124 小时前
SQL 优化排查记录:补充索引,利用 OR 展开消除大表重复扫描
sql
这个DBA有点耶16 小时前
2026年分布式数据库有哪些主流选择?先评估这5个维度再决定
数据库·分布式·dba
这个DBA有点耶18 小时前
从MySQL 5.7到8.0:JSON查询性能差在哪?虚拟列索引vs多值索引怎么选
数据库·mysql·架构