当前位置: 首页 > news >正文

【云原生 | Kubernetes 系列】---Prometheus监控mysql

1. Prometheus监控mysql

对mysql的版本要求:

  • MySQL >= 5.6.
  • MariaDB >= 10.3

1.1 测试环境准备

# apt install mariadb-server -y
# vi /etc/mysql/mariadb.conf.d/50-server.cnf
	## 修改28行
	bind-address            = 0.0.0.0
systemctl restart mariadb.service 
# ss -tnl|grep 3306
LISTEN  0       80                  0.0.0.0:3306         0.0.0.0:*   

2. 创建数据库授权

在数据库中创建账号exporter,并授权只能从本地访问.不建议直接使用root账号监控
PS:这里不要把密码设置太多符号,mysqld-exporter会因为密码中的符号造成部分信息收不到.

MariaDB [(none)]> CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'Exporter123' WITH MAX_USER_CONNECTIONS 3;
MariaDB [(none)]> GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';

测试账号授权是否成功

# mysql -uexporter -pExporter123 -e 'show databases;'
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| wework             |
+--------------------+

3. 安装mysql-exporter

3.1 克隆下载代码

# wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.14.0/mysqld_exporter-0.14.0.linux-amd64.tar.gz
# tar xf mysqld_exporter-0.14.0.linux-amd64.tar.gz
# ln -sf /apps/mysqld_exporter-0.14.0.linux-amd64/mysqld_exporter /usr/bin/

3.2 配置密码文件

为了让exporter免密连接数据库,需要配置个密码文件

# cat /root/.my.cnf 
[client]
user=exporter
password=Exporter123

确认用户名密码没有错误

# mysql -e "select current_user();"
+--------------------+
| current_user()     |
+--------------------+
| exporter@localhost |
+--------------------+

3.3 编辑mysql-exporter Service文件

# cat /etc/systemd/system/mysqld_exporter.service
[Unit]
Description=Prometheus mysqld_exporter
After=network.target

[Service]
ExecStart=/usr/bin/mysqld_exporter --config.my-cnf=/root/.my.cnf

[Install]
WantedBy=multi-user.target

启动服务

# systemctl enable --now  mysqld_exporter.service 
Created symlink /etc/systemd/system/multi-user.target.wants/mysqld_exporter.service → /etc/systemd/system/mysqld_exporter.service.

查看9104监听是否正常启动

# ss -ntl|grep 9104
LISTEN  0       4096                      *:9104               *:*    

此时从页面访问可以获取到mysql相关数据
这里要注意看是否获取到了mysql_global开头的这些数据,如果没有可能是密码错误或者密码中的符号造成的

请添加图片描述

3.4 Prometheus监控追加

  - job_name: "mysql-exporter-9104"
    metrics_path: /metrics
    static_configs:
      - targets: ["192.168.31.126:9104"]

请添加图片描述

3.5 grafana 追加

13106

请添加图片描述

11323

请添加图片描述

相关文章:

  • 配置MyBatis(不用Maven)
  • 1113: 递归调用的次数统计(函数专题)
  • 安全的 PHP 注销脚本
  • 小学生python编程----学爬虫
  • 如何用一个简单的内容升级心理学技巧将转化率提高了845%
  • 【LeetCode】Day126-正则表达式匹配
  • 09-排序2 Insert or Merge(浙大数据结构)
  • DPDK18.08上对VIRTIO IN ORDER 功能所做的优化
  • java毕业设计软件S2SH人力资源管理系统|人事薪资招聘oa人力请假考勤工资[包运行成功]
  • 关于C/C++中const关键字作用的一些想法
  • STC15单片机-通过PWM调整灯亮度
  • 9.3DDD之集成事件
  • 抖音获取商品原数据API接口展示
  • C++ 删除链表的倒数第N个结点
  • Pinia的使用
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • gitlab-ci配置详解(一)
  • hadoop集群管理系统搭建规划说明
  • in typeof instanceof ===这些运算符有什么作用
  • Java,console输出实时的转向GUI textbox
  • Javascript设计模式学习之Observer(观察者)模式
  • jquery ajax学习笔记
  • mysql中InnoDB引擎中页的概念
  • React16时代,该用什么姿势写 React ?
  • Redis 中的布隆过滤器
  • TypeScript迭代器
  • Vue.js 移动端适配之 vw 解决方案
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 算法-图和图算法
  • 一、python与pycharm的安装
  • 一些css基础学习笔记
  • 正则表达式-基础知识Review
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #1015 : KMP算法
  • (26)4.7 字符函数和字符串函数
  • (7)STL算法之交换赋值
  • (AngularJS)Angular 控制器之间通信初探
  • (js)循环条件满足时终止循环
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (三)终结任务
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .Net8 Blazor 尝鲜
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • /boot 内存空间不够
  • /var/log/cvslog 太大
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504
  • []error LNK2001: unresolved external symbol _m
  • [GDMEC-无人机遥感研究小组]无人机遥感小组-000-数据集制备
  • [HUBUCTF 2022 新生赛]
  • [ICCV2017]Neural Person Search Machines
  • [iOS]GCD(一)