最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

Prometheus插件安装(mysql_exporter)

来源:博客园


【资料图】

Prometheus插件安装(mysql_exporter)

简介

mysql_exporter是用来收集MysQL或者Mariadb数据库相关指标的,mysql_exporter需要连接到数据库并有相关权限。既可以用二进制安装部署,也可以通过容器形式部署,但为了数据收集的准确性,推荐二进制安装。

一,下载安装包并解压

安装包下载地址:https://github.com/prometheus/mysqld_exporter/releases

同样物理机上下载,然后上传到服务器,本次安装使用的版本为:mysqld_exporter-0.14.0.linux-amd64

1,根据服务器情况选择安装目录,上传安装包。

cd /prometheus#解压tar -xvzf mysqld_exporter-0.14.0.linux-amd64.tar.gzmv mysqld_exporter-0.14.0.linux-amd64 mysqld_exportercd mysqld_exporter

二,创建配置文件

  • 创建配置文件.my.cnf,填入如下内容后保存:wq
[client]user = exporterpassword = host = 11x.xx.xx.7port = 
vim .my.cnfcat .my.cnf 
  • mysql创建用户并授权,注意服务ip不要填错
CREATE USER "exporter"@"<安装Prometheus的主机IP>" IDENTIFIED BY "";GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO "exporter"@"<安装Prometheus的主机IP>";flush privileges;

三,进行系统service编写

  • 创建mysqld_exporter.service配置文件
cd /usr/lib/systemd/systemvim mysqld_exporter.service
  • mysqld_exporter.service 文件填入如下内容后保存:wq
[Unit]Description=https://prometheus.io[Service]Restart=on-failureExecStart=/prometheus/mysqld_exporter/mysqld_exporter --config.my-cnf=/prometheus/mysqld_exporter/.my.cnf --web.listen-address=:9104[Install]WantedBy=multi-user.target
  • 查看配置文件
cat mysqld_exporter.service 
  • 刷新服务配置并启动服务
systemctl daemon-reloadsystemctl start mysqld_exporter.service
  • 查看服务运行状态
systemctl status mysqld_exporter.service
  • 设置开机自启动
systemctl enable mysqld_exporter.service
  • 测试服务返回
curl localhost:9104/metrics

Docker部署

  • 在Docker部署之前,首先要确保拥有Docker环境

  • 拉取mysqld-exporter最新镜像

docker pull prom/mysqld-exporter
  • 创建mysql监听用户并授权,注意服务ip不要填错
CREATE USER "exporter"@"<安装Prometheus的主机IP>" IDENTIFIED BY "";GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO "exporter"@"<安装Prometheus的主机IP>";flush privileges;
  1. 启动容器注意:⚠️ 若二进制章节部署后,需要执行systemctl stop mysqld_exporter.service关闭服务,否则会造成端口冲突,或者docker的端口映射改为-p 9194:9104也可。注意环境变量DATA_SOURCE_NAME的mysql帐号密码与地址无误
docker run -d  --restart=always  --name mysqld-exporter -p 9104:9104 -e DATA_SOURCE_NAME="exporter:(11x.xx.xx.7:13306)/"  prom/mysqld-exporter
  1. 测试服务返回
curl localhost:9104/metrics

对接prometheus

  • 打开prometheus.yml添加以下内容,并执行:wq,点击回车保存
# 监控mysql  - job_name: "mysql"      static_configs:      - targets: ["11x.xx.xx.7:9104"]        labels:          instance: mysqld-exporter
  • 执行prometheus配置刷新
curl -XPOST localhost:9090/-/reload
  • 打开prometheus,搜索mysql,可以看到出现了很多的参数指标
  • 打开targets,可以看到节点状态已经UP
  • 至此mysqld-exporter插件安装完毕

关键词: 配置文件 安装目录 如下内容