性能测试监控平台搭建-mysqld_exporter(六)

6.安装mysqld_exporter

6.1下载mysqld_exporter的tar包(合理上网)

官网下载地址:https://prometheus.io/download/

6.2 安装mysqld_exporter(安装了mysql的计算机需要安装)

创建存放安装包的目录(环境已经创建的可以跳过)

[root@master ~]# mkdir -p /opt/tgz

创建安装目录(环境已经创建的可以跳过)

[root@master ~]# mkdir -p /opt/app

mysqld_exporter的tar包上传到tgz目录下

[root@master ~]# cd /opt/tgz/
[root@master tgz]# ll
总用量 297756
-r--------. 1 root root   8287769 10月 11 11:04 mysqld_exporter-0.15.1.linux-amd64.tar.gz

解压mysqld_exporter-0.15.1.linux-amd64.tar.gz

[root@master tgz]# tar zxvf mysqld_exporter-0.15.1.linux-amd64.tar.gz 
mysqld_exporter-0.15.1.linux-amd64/
mysqld_exporter-0.15.1.linux-amd64/LICENSE
mysqld_exporter-0.15.1.linux-amd64/mysqld_exporter
mysqld_exporter-0.15.1.linux-amd64/NOTICE

将解压后端文件移动到/opt/app的目录下,并且修改目录下所以文件的权限给当前用户,我这里是root用户

[root@master tgz]# mv /opt/tgz/mysqld_exporter-0.15.1.linux-amd64 /opt/app/mysqld_exporter-0.15.1
[root@master tgz]# cd /opt/app/
[root@master app]# chown -R root:root mysqld_exporter-0.15.1

在需要监控的mysql数据库中创建一个用用于监控使用

[root@master app]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 221
Server version: 5.7.44 MySQL Community Server (GPL)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

# 创建Exporter用户
mysql> CREATE USER 'exporter'@'localhost' IDENTIFIED BY '123456' WITH MAX_USER_CONNECTIONS 3;

# 为root用户进行授权,运行远程访问
mysql> GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'%' identified by '123456' with grant option;
mysql> flush privileges; 
mysql> quit

创建my.cnf文件

[root@master ~]# vim /opt/app/mysqld_exporter-0.15.1/my.cnf 

my.cnf文件内容如下:

user 为mysqld_exporter设置的用户这里是exporter

password 为mysqld_exporter设置的用户对应的密码123456

host 为mysql服务器对应的IP地址

prot 为mysql服务器对应的端口

[client]
user=exporter
password=123456
host=10.0.0.100
prot=3306

创建mysqld_exporter的系统启动文件

[root@master ~]# [root@master ~]# vim /usr/lib/systemd/system/mysqld_exporter.service

mysqld_exporter.service的文件内容如下:

注意配置中的路径地址/opt/app/mysqld_exporter-0.15.1 这里和实际的地址保持一致

[Unit]
Description=prometheus mysqld_exporter Daemon
Documentation=https://github.com/prometheus/mysqld_exporter
Requires=network.target
After=network.target

[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/app/mysqld_exporter-0.15.1
ExecStart=/opt/app/mysqld_exporter-0.15.1/mysqld_exporter --config.my-cnf=/opt/app/mysqld_exporter-0.15.1/my.cnf
TimeoutSec=30
Restart=always

[Install]
WantedBy=multi-user.target

启动mysqld_exporter的服务

# 启动服务
[root@master ~]# systemctl start mysqld_exporter
# 设置服务为开机自动启动
[root@master ~]# systemctl enable mysqld_exporter
# 检查服务的启动状态
[root@master ~]# systemctl status mysqld_exporter

浏览器访问地址 http://10.0.0.100:9104/metrics 界面可以看到如下界面,mysqld_exporter采集数据成功

修改prometheus的配置文件,用于添加对node_exporter的数据收集,在安装prometheus的目录下找到prometheus.yml的配置文件

[root@master ~]# cd /opt/app/prometheus-2.53.2/
[root@master prometheus-2.53.2]# ll
总用量 261328
drwxr-xr-x. 2 root root        38 8月   9 23:13 console_libraries
drwxr-xr-x. 2 root root       173 8月   9 23:13 consoles
drwxr-xr-x. 6 root root       138 10月 11 19:43 data
-rw-r--r--. 1 root root     11357 8月   9 23:13 LICENSE
-rw-r--r--. 1 root root      3773 8月   9 23:13 NOTICE
-rwxr-xr-x. 1 root root 137838575 8月   9 22:56 prometheus
-rw-r--r--. 1 root root       950 10月 11 16:14 prometheus.yml
-rwxr-xr-x. 1 root root 129735160 8月   9 22:56 promtool
-rw-r--r--. 1 root root        45 10月 11 16:11 reload-prometheus.sh

# 修改配置文件添加node_exporter的数据收集信息
[root@master prometheus-2.53.2]# vim prometheus.yml

在prometheus.yml文件中进行修改, 在最后添加上 mysqld_exporter的job_name的配置,注意mysqld_exporter的默认端口是9104

# my global config
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"
    static_configs:
      - targets: ["10.0.0.100:9090"]

  - job_name: "node_exporter"
    static_configs:
      - targets: ["10.0.0.100:9100"]

  - job_name: "mysqld_exporter"
    static_configs:
      - targets: ["10.0.0.100:9104"]

通过浏览器地址访问 http://10.0.0.100:9090 的地址访问(ip地址使用实际的地址),在Status->Targets 下 看到 mysqld_exporter启动成功的记录

posted @ 2024-12-15 15:30  tigerMao  阅读(931)  评论(0)    收藏  举报