在Ubuntu 18.04/CentOS 7上安装和配置Prometheus MySQL Exporter

时间:2020-02-23 14:31:05  来源:igfitidea点击:

PrometheusMySQL Exporter是一个客户端应用程序,用于获取MySQL指标并将其导出到Prometheus服务器。在五分钟内使用Prometheus监视MySQL/MariaDB中,介绍了Prometheus MySQL导出器监视MySQL/MariaDB服务器的安装和使用。

在本文中,我将为那些只想安装PrometheusMySQL导出器的人总结该指南。

添加Prometheus系统用户和组:

创建专用的Prometheus用户和组。

sudo groupadd --system prometheus
sudo useradd -s /sbin/nologin --system -g prometheus prometheus

该用户将管理导出器服务。

下载并安装Prometheus MySQL Exporter:

这应该在MySQL/MariaDB服务器(从服务器和主服务器)上完成。我们可能需要检查Prometheus MySQL导出程序的发布页面以获取最新版本,然后将最新版本导出到VER变量,如下所示:

curl -s https://api.github.com/repos/prometheus/mysqld_exporter/releases/latest   | grep browser_download_url | grep linux-amd64 |  cut -d '"' -f 4 | wget -qi 

下载后解压缩文件:

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

提供提取的文件可执行位,并将其移至/usr/local/bin目录。

cd mysqld_exporter-*.linux-amd64/

通过除去压缩包和解压缩目录来进行全新安装:

chmod +x mysqld_exporter
sudo mv mysqld_exporter /usr/local/bin

检查安装的软件版本。

$mysqld_exporter --version
mysqld_exporter, version 0.12.1 (branch: HEAD, revision: 48667bf7c3b438b5e93b259f3d17b70a7c9aff96)
  build user:       theitroad@localhost
  build date:       20190729-12:35:58
  go version:       go1.12.7

创建Prometheus导出程序数据库用户

用户应具有"过程,选择,复制客户端"赠款

CREATE USER 'mysqld_exporter'@'localhost' IDENTIFIED BY 'StrongPassword' WITH MAX_USER_CONNECTIONS 2;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysqld_exporter'@'localhost';
FLUSH PRIVILEGES;
EXIT

如果我们具有主从数据库体系结构,请仅在主服务器上创建用户。

" WITH MAX_USER_CONNECTIONS 2"用于为用户设置最大连接限制,以避免在重负载下监视碎片而使服务器过载。

配置数据库凭据

创建数据库凭证文件

sudo vim /etc/.mysqld_exporter.cnf

添加正确的用户名和密码以创建用户

[client]
user=mysqld_exporter
password=StrongPassword

设置所有权权限:

sudo chown root:prometheus /etc/.mysqld_exporter.cnf

创建系统单元文件(对于系统系统)

这适用于systemd服务器,适用于SysV初始化系统,请使用SysV初始化系统的Prometheus MySQL导出器初始化脚本

创建一个新的服务文件:

sudo vim /etc/systemd/system/mysql_exporter.service

添加以下内容

[Unit]
Description=Prometheus MySQL Exporter
After=network.target
User=prometheus
Group=prometheus

[Service]
Type=simple
Restart=always
ExecStart=/usr/local/bin/mysqld_exporter \
--config.my-cnf <strong>/etc/.mysqld_exporter.cnf</strong> \
--collect.global_status \
--collect.info_schema.innodb_metrics \
--collect.auto_increment.columns \
--collect.info_schema.processlist \
--collect.binlog_size \
--collect.info_schema.tablestats \
--collect.global_variables \
--collect.info_schema.query_response_time \
--collect.info_schema.userstats \
--collect.info_schema.tables \
--collect.perf_schema.tablelocks \
--collect.perf_schema.file_events \
--collect.perf_schema.eventswaits \
--collect.perf_schema.indexiowaits \
--collect.perf_schema.tableiowaits \
--collect.slave_status \
--web.listen-address=<strong>0.0.0.0:9104</strong>

[Install]
WantedBy=multi-user.target

如果服务器具有公共和专用网络,则可能需要用专用IP(例如" 192.168.4.5:9104")替换" 0.0.0.0:9104"。

完成后,重新加载systemd并启动mysql_exporter服务。

sudo systemctl daemon-reload
sudo systemctl enable mysql_exporter
sudo systemctl start mysql_exporter

如果系统不支持systemd init,请使用

SysV初始化系统的Prometheus MySQL导出器初始化脚本