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.gz
mv mysqld_exporter-0.14.0.linux-amd64 mysqld_exporter
cd mysqld_exporter

二,创建配置文件

  • 创建配置文件.my.cnf ,填入如下内容后保存:wq
[client]
user = exporter
password = <your password>
host = 11x.xx.xx.7
port = <your port>
vim .my.cnf
cat .my.cnf

  • mysql创建用户并授权,注意服务ip不要填错
CREATE USER 'exporter'@'<安装Prometheus的主机IP>' IDENTIFIED BY '<your password>';
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'<安装Prometheus的主机IP>';
flush privileges;

三,进行系统service编写

  • 创建mysqld_exporter.service配置文件
cd /usr/lib/systemd/system
vim mysqld_exporter.service
  • mysqld_exporter.service 文件填入如下内容后保存:wq
[Unit]
Description=https://prometheus.io [Service]
Restart=on-failure
ExecStart=/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-reload
systemctl 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 '<your password>';
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:<pass>(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插件安装完毕

最新文章

  1. 由system.currentTimeMillis() 获得当前的时间
  2. 【转】Android开发之如何保证Service不被杀掉(broadcast+system/app)
  3. J2EE用户CPU占用过大后的分析过程
  4. [PeterDLax著泛函分析习题参考解答]第5章 赋范线性空间
  5. 使用Java程序发送Email
  6. hive 三种启动方式及用途,关注通过jdbc连接的启动
  7. 架构漫谈:自己开发一个Log框架
  8. 翻译器DIY它———算在英文文本中的单词数,字符和行数
  9. 基于easyui的webform扩展
  10. Ansible10:Playbook的角色与包含【转】
  11. LeetCode 108. Convert Sorted Array to Binary Search Tree (有序数组转化为二叉搜索树)
  12. 史考特证券(Scottrade)填写提款申请表的要求以及注意事项
  13. Windows 安装nginx并开机启动
  14. 软件开发者路线图梗概&amp;书摘chapter4
  15. js group by
  16. 欧拉函数-gcd-快速幂(牛客寒假算法基础集训营1-D-小a与黄金街道)
  17. typedef typename的用法
  18. rosetta deep_analysis
  19. 7.16顺便贴一下 pep8的标准
  20. 【C++】:STL迭代器使用---[容器::iterator iter;]

热门文章

  1. 【Linux】/proc/stat解析
  2. 【算法题型总结】--6、BFS
  3. &lt;三&gt;function函数对象类型的应用示例
  4. PHP7.2 装mongodb 遇到的坑,完美解决!
  5. python之元组(tuple)知识点
  6. CTFshow——funnyrsa1的wp理解
  7. 基于U-Net网络的图像分割的MindStudio实践
  8. 9、手写一个starter
  9. JUC基础学习笔记
  10. 丧心病狂,竟有Thread.sleep(0)这种神仙写法?