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文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • java编译过程_Java编译运行过程

    java编译过程_Java编译运行过程Java编译运行过程在上一篇文章中,我们了解了第一个Java入门程序,以及如何编译和运行第一个Java程序。本文主要了解以下编译和运行Java程序时会发生什么。此外,我们还会分析一些常见的问题。1Java程序编译过程在编译时,Java文件由Java编译器(它不与底层操作系统交互)将Java代码转换为字节码(.class)。2Java程序运行过程在Java程序运行中,会执行以下步骤:类加载器(C…

  • 研究发现VR有效地减少了不舒服的医疗过程中的痛苦_怎样照顾半身不遂的病人

    研究发现VR有效地减少了不舒服的医疗过程中的痛苦_怎样照顾半身不遂的病人VR虚拟现实到底给了半身不遂的病人什么?

  • Java进阶学习路线图「建议收藏」

    Java进阶学习路线图「建议收藏」第一阶段技术名称技术内容J2SE(Java基础部分)java开发前奏计算机基本原理,Java语言发展简史以及开发环境的搭建,体验Java程序的开发,环境变量的设置,程序的执行过程,相关反编译工具介绍,java开发工具Eclipse的安装和使用,javadoc的说明。Java基

  • 多个jvm实例_java类的实例

    多个jvm实例_java类的实例一、概述我们知道,一个对象在可以被使用之前必须要被正确地实例化。而实例化实际指的就是以一个java类为模板创建对象/实例的过程。比如说常见的Person=newPerson()代码就是一个将

  • kong网关架构_kong网关性能

    kong网关架构_kong网关性能Kong是一个使用了lua-nginx-module运行在Nginx之上的Lua应用。Kong是一个成熟的API网关解决方案。API网关,即APIGateway,是大型分布式系统中,为了保护内部服务而设计的一道屏障,可以提供高性能、高可用的API托管服务,从而帮助服务的开发者便捷地对外提供服务,而不用考虑安全控制、流量控制、审计日志等问题,统一在网关层将安全认证,流量控制,审计日志,黑白名单…

  • pycharm如何配置git_idea怎么配置git

    pycharm如何配置git_idea怎么配置gitPycharm配置git环境在网上查了一些发现都已经过时了,有的根本没办法用,自己摸索了一下午。捣鼓的差不多了至少可以用hhhh默认各位老铁都已经安装好了,Git咯,并且有自己的github网址或者gitee网站咯0X1创建一个新项目首先新键一个新的项目,直接creat就好了创建好了如下:0X2匹配GitFile->Settings->VersionControl->Git详情如下:找到Setting,点击进入找到VersionControl,

发表回复

您的电子邮箱地址不会被公开。

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