在Ubuntu 18.04/CentOS 7上安装和配置Prometheus MySQL Exporter
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导出器初始化脚本