p一、Prometheus应用-监控Mysql

本文介绍如何在Prometheus中设置远程MySQL监控,包括创建专用账户、安装和配置mysqld_exporter、修改Prometheus配置文件以及在Grafana中展示监控数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

添加 远程Mysql监控

安装 Prometheus

在要监控的Mysql中创建一个账户为 普罗米修斯使用
mysql> GRANT ALL PRIVILEGES ON *.* TO 'prometheus'@'%' IDENTIFIED BY 'prometheus1987' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.01 sec)
# 授权
mysql> GRANT SELECT ON *.* TO 'prometheus';
Query OK, 0 rows affected (0.01 sec)

mysql>
使用 普罗米修斯 监控Mysql
二进制安装方法
1.在普罗米修斯中添加 mysqld_exporter ;它是用来连接Mysql的,然后在使用 普罗米修斯连接它
[root@k8s-master prometheus]# wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz
[root@k8s-master prometheus]#
[root@k8s-master prometheus]# cd mysqld_exporter-0.10.0.linux-amd64
[root@k8s-master mysqld_exporter-0.10.0.linux-amd64]#
[root@k8s-master mysqld_exporter-0.10.0.linux-amd64]# ll
total 10196
-rw-rw-r-- 1 1000 1000    11325 Apr 25  2017 LICENSE
-rwxr-xr-x 1 1000 1000 10419174 Apr 25  2017 mysqld_exporter
-rw-rw-r-- 1 1000 1000       65 Apr 25  2017 NOTICE
[root@k8s-master mysqld_exporter-0.10.0.linux-amd64]#
2.添加配置文件
[root@k8s-master mysqld_exporter-0.10.0.linux-amd64]# cat > my.cnf << EOF

[client]
host=mysql.dev-share.top
port=3306
user=prometheus
password=prometheus1987
EOF
[root@k8s-master mysqld_exporter-0.10.0.linux-amd64]#
3.mysqld_exporter 启动
[root@k8s-master mysqld_exporter-0.10.0.linux-amd64]# ./mysqld_exporter -config.my-cnf ./my.cnf
INFO[0000] Starting mysqld_exporter (version=0.10.0, branch=master, revision=80680068f15474f87847c8ee8f18a2939a26196a)  source="mysqld_exporter.go:460"
INFO[0000] Build context (go=go1.8.1, user=root@3b0154cd9e8e, date=20170425-11:24:12)  source="mysqld_exporter.go:461"
INFO[0000] Listening on :9104                            source="mysqld_exporter.go:479"
4.修改 普罗米修斯配置文件,将mysql监控加入进去, 配置完成后重启普罗米修斯
......
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: ['k8s.dev-share.top:9090']

  - job_name: 'mysql'
    static_configs:
        # 因为阿里云有安全组策略,所以这里使用了外网域名
      - targets: ['k8s.dev-share.top:9104']
5.配置 grafana监控面板,并展示从 普罗米修斯获取到的数据
  1. 从grafana官网搜索要使用的监控面板: https://grafana.com/dashboards
  2. Dashboards --> Manage --> Import --> 在 (Grafana.com Dashboard) 中输入 查询到的面板id
  3. 鼠标离开会自动显示加载面板的 Options
  4. Options --> prometheus --> 选择我们之前配置好的 普罗米修斯就可以了
  5. 其它的扩展就自己看着办了
  6. 建议使用 MySQL Overview 监控面板, 因为这个面板支持同时监控多个MySQL数据库,并进行展示


使用 docker 安装

示例

docker run -d --restart=always --name mysqld-exporter -p 9104:9104 -e DATA_SOURCE_NAME="user:password@(hostname:port)/database" prom/mysqld-exporter
[root@k8s-master ~]# docker pull prom/mysqld-exporter
[root@k8s-master ~]#
[root@k8s-master ~]# docker run -d --restart always --name mysqld-exporter -p 9104:9104 -e DATA_SOURCE_NAME="prometheus:prometheus1987@(mysql.dev-share.top:3306)/resource_manage" prom/mysqld-exporter
### 使用 Prometheus 监控 MySQL 表性能指标 为了实现通过 PrometheusMySQL 表的性能进行监控,需完成几个主要部分的工作:安装 `mysqld_exporter` 并配置相应的权限;调整 Prometheus 配置文件使其能够抓取来自 mysqld_exporter 的数据。 #### 创建用于监控MySQL 用户并授予权限 进入目标 MySQL 数据库实例内部执行 SQL 命令来创建专门供 exporter 访问使用的账户,并赋予必要的操作权限: ```sql CREATE USER 'exporter'@'%' IDENTIFIED BY 'Tgqs@123'; GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'%'; ``` 这步骤确保了后续启动的服务可以合法连接到数据库获取所需信息[^2]。 #### 修改 Prometheus 配置文件 prometheus.yml 添加 Job 编辑位于 Prometheus 安装目录下的 `prometheus.yml` 文件,在 scrape_configs 节点下新增个 job 来定义如何拉取 MySQL Exporter 提供的数据源。注意保持正确的 YAML 缩进格式以免引起解析错误: ```yaml scrape_configs: - job_name: 'mysql' static_configs: - targets: ['localhost:9104'] # 替换成实际运行 mysqld_exporter 所监听地址端口 ``` 此设置告知 Prometheus 启动定时任务去请求指定位置上的 metrics 接口从而收集有关 MySQL 实例的各项统计数值[^1]。 #### 部署 mysqld_exporter 可以通过 Docker 方便快捷地部署该组件,命令如下所示(假设已准备好前面提到过的认证凭证): ```bash docker run --name=mysql-exporter \ -e DATA_SOURCE_NAME="exporter:Tgqs%40123@(host.docker.internal:3306)/" \ -p 9104:9104 \ quay.io/prometheus/mysqld-exporter ``` 这里特别需要注意的是 URL 中特殊字符需要经过百分号编码处理以便正确传递给应用程序使用。 成功完成后访问 http://<your_prometheus_host>:9090/graph 即可在图形界面里查看由 MySQL 导出器提供的各种表格级别的性能度量项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值