Prometheus➕Grafana监控MySQL性能

Prometheus➕Grafana监控MySQL性能

实验环境

IP 服务
192.168.1.10 Prometheus、Grafana
192.168.1.20 mysqld_exporter、MySQL

192.168.1.20安装mysqld_exporter、MySQL

  • MySQL
    参考链接
  • mysqld_exporter
下载安装包mysqld_exporter-0.12.1.linux-amd64.tar.gz
进行解压
[root@localhost ~]# tar -zxf mysqld_exporter-0.12.1.linux-amd64.tar.gz

运行mysqld_exporter服务它会依赖于.my.cnf文件并不是MySQL的配置文件
.my.cnf文件存放的是被授权用户的账号密码,所以先去授权

mysql>  grant select,replication client,process ON *.* to 'mysql'@'localhost' identified by '123.com'; 
(注意:授权ip为localhost,因为不是prometheus服务器来直接找mariadb 获取数据,而是prometheus服务器找mysql_exporter,mysql_exporter 再找mariadb。所以这个localhost是指的mysql_exporter的IP)
mysql> flush privileges;
mysql> quit
  • 编写.my.cnf文件

在这里插入图片描述

如果直接到mysql_exporter目录下进行启动会报错。默认回去root目录下寻找.my.cnf文件,

  1. 可以直接在root目录下编辑文件则为默认不用指定
[root@localhost mysqld_exporter-0.12.1.linux-amd64]# ./mysqld_exporter
  1. 可以自定义目录启动的时候需要指定文件路径
 /usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/root/mysqld_exporter-0.12.1.linux-amd64/.my.cnf 

我直接在root下创建了

[root@localhost ~]# cat .my.cnf 
[client] 
user=mysql
password=123.com

[root@localhost ~]# ls -a #这是一个隐藏文件需要使用ls -a查看
  • 启动mysqld_exporter
    后台启动
[root@localhost mysqld_exporter-0.12.1.linux-amd64]# nohup ./mysqld_exporter &
或者
./mysqld_exporter &

前台启动

[root@localhost mysqld_exporter-0.12.1.linux-amd64]# ./mysqld_exporter 
INFO[0000] Starting mysqld_exporter (version=0.12.1, branch=HEAD, revision=48667bf7c3b438b5e93b259f3d17b70a7c9aff96)  source="mysqld_exporter.go:257"
INFO[0000] Build context (go=go1.12.7, user=root@0b3e56a7bc0a, date=20190729-12:35:58)  source="mysqld_exporter.go:258"
INFO[0000] Enabled scrapers:                             source="mysqld_exporter.go:269"
INFO[0000]  --collect.slave_status                       source="mysqld_exporter.go:273"
INFO[0000]  --collect.global_status                      source="mysqld_exporter.go:273"
INFO[0000]  --collect.global_variables                   source="mysqld_exporter.go:273"
INFO[0000]  --collect.info_schema.innodb_cmp             source="mysqld_exporter.go:273"
INFO[0000]  --collect.info_schema.innodb_cmpmem          source="mysqld_exporter.go:273"
INFO[0000]  --collect.info_schema.query_response_time    source="mysqld_exporter.go:273"
INFO[0000] Listening on :9104                            source="mysqld_exporter.go:283"
没有报错就是启动成功
[root@localhost mysqld_exporter-0.12.1.linux-amd64]# netstat -tunlp | grep 9104
tcp6       0      0 :::9104                 :::*                    LISTEN      12844/./mysqld_expo 

192.168.1.10安装Prometheus&Grafana

  • 下载安装Prometheus
[root@localhost ~]# wget https://github.com/prometheus/prometheus/releases/download/v2.10.0/prometheus-2.10.0.linux-amd64.tar.gz
[root@localhost ~]# tar -zxf prometheus-2.10.0.linux-amd64.tar.gz
[root@localhost ~]# mv prometheus-2.10.0.linux-amd64 /usr/local/prometheus
  • 配置Prometheus
[root@localhost ~]# vim /usr/local/prometheus/prometheus.yml
# 修改如下
 - job_name: 'mysql'
    static_configs:
    - targets: ['192.168.1.20:9104']
  • 启动Prometheus
[root@localhost ~]# /usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml &
  • 安装Grafana
[root@localhost ~]# wget https://dl.grafana.com/oss/release/grafana-5.4.2-1.x86_64.rpm
[root@localhost ~]# yum -y install initscripts urw-fonts
[root@localhost ~]# rpm -Uvh grafana-5.4.2-1.x86_64.rpm 
  • 启动Grafana
[root@localhost ~]# systemctl start grafana-server

Grafana页面配置
访问http://192.168.1.10:3000

默认用户密码都是admin
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
导入一个MySQL的仪表盘,将json文件导入,官网有很多可以去参考,也可以直接使用我的json文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101830.html原文链接:https://javaforall.net

(0)
上一篇 2021年6月2日 下午4:00
下一篇 2021年6月2日 下午5:00


相关推荐

  • ConnectionString 汇总

    ConnectionString 汇总nbsp SQLServer nbsp ODBC nbsp OLEDB OleDbConnect NET nbsp SqlConnectio NET nbsp DataShape nbsp Readmore nbsp StandardSecu Driver SQLServer

    2026年3月17日
    1
  • 如果我不想让OpenClaw继续执行某个任务,怎么打断它?

    如果我不想让OpenClaw继续执行某个任务,怎么打断它?

    2026年3月14日
    2
  • 工作流引擎Activiti系列(一)——初识[通俗易懂]

    工作流引擎Activiti系列(一)——初识[通俗易懂]1、介绍  几乎任何一个公司的软件开发都会涉及到流程,以往我们可能是这么实现的:业务表添加标志位标识流程的节点状态,关联批注表实现审核意见,根据一些业务数据分析处理逻辑,分配任务到用户,节点的调度,审批等…..这其实是很繁琐的,且不说开发起来比较混乱,维护起来更是难上加难:     Activiti刚好就能解决几乎所有的这些问题,当流程开发变得简单有趣。  官网:

    2025年7月14日
    5
  • python求均值、中位数、众数的方法

    python求均值、中位数、众数的方法首先需要数据源 这里随便写了一个 nums 1 2 3 4 求均值和中位数均可以使用 numpy 库的方法 均值 np mean nums 中位数 np median nums 求众数方法一 在 numpy 中没有直接的方法 但是也可以这样实现 importnumpya np bincount nums 返回众数 np argmax counts nbsp nbsp

    2026年3月20日
    2
  • 刷屏神器QQ(刷屏神器定海神针复制)

    在电脑上桌面新建一个txt,然后在里面写入下面的代码,写好后把文件的txt格式改为vbs格式即可次数别设太多,会卡死,间隔时间别太短setwshshell=wscript.createobject(“wscript.shell”)wshshell.AppActivate”王择玉”fori=1to2wscript.sleep100wshshell.sendKeys…

    2022年4月16日
    316
  • IP数据包和ICMP数据包的结构

    IP数据包和ICMP数据包的结构一 IP 数据包报头 IPV4 和 IPV6 比较 每行 32bit 4 字节 前 5 行一共 20 字节 version 版本号 4bit IHL IP 头部长度 4bit typeofservic 服务类型 标记 识流量 8bit totallength IP 数据包总长度 16bit identificati 在网络层区分流量 不同流量产生不同的标识符 流量重组 16bit flag

    2025年12月13日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号