MYSQL使用PMM进行性能监控

时间:2021-07-21 03:08:16

简介
Percona监视和管理(PMM)是一个用于管理和监视MySQL和MongoDB性能的开源平台。它是由Percona与托管数据库服务、支持和咨询领域的专家合作开发的。

PMM是一个免费的开源解决方案,您可以在自己的环境中运行,以获得最大的安全性和可靠性。它为MySQL和MongoDB服务器提供了彻底的基于时间的分析,以确保您的数据尽可能高效地工作。

PMM是CS价格,由两部分组成PMM Client和PMM Server

PMM客户机安装在要监视的每个数据库主机上。它收集服务器指标、一般系统指标和查询分析数据,以获得完整的性能概述。

PMM服务器是PMM的核心部分,它聚合收集到的数据,并在Web界面中以表格、仪表盘和图形的形式显示这些数据。

官网

安装
部署方案(https://www.percona.com/doc/percona-monitoring-and-management/architecture.html#id13)

安装PMMServer
PMM Server是PMM的核心部分,它聚合收集的数据,并以Web界面的表格,仪表板和图形的形式呈现,包括以下组件

Query Analytics(QAN):按时间周期查询MySQL性能,同客户端的qan agent通讯包括两个组件 。qan api 和qan web app
Metrics Monitor(MM):提供MySQL和mongo的性能历史视图
1、安装docker环境

https://blog.csdn.net/zhizhengguan/article/details/83618702

2、下载镜像容器

$ sudo docker pull percona/pmm-server:latest

3、建立数据卷容器

$ docker create -v /opt/prometheus/data -v /opt/consul-data -v /usr/local/mysql -v /home/ocean/workspace/mysql/grafana --name pmm-data percona/pmm-server:latest /bin/true

$ sudo docker inspect pmm-data
[
{
"Id": "32282a5d220372d19e514b86bafe8a3f9a5c2dbb8e2996c43c46ad969417d166",
"Created": "2019-02-25T06:59:53.275012366Z",
"Path": "/bin/true",
1
2
3
4
5
6
7
8
4、运行PMM Server

$ docker run -d \
-p 80:80 \
--volumes-from pmm-data \
--name pmm-server \
--restart always percona/pmm-server:latest

{-e METRICS_RETENTION=48h 可选,数据只留48小时}
{ -e SERVER_USER = jsmith \ #可选
-e SERVER_PASSWORD = pass1234 \ #可选 增加安全性}

$ sudo docker ps -a

1
2
3
4
5
6
7
8
9
10
11
12
运行PMM Server之后,你应该可以使用运行容器的127.0.0.1:80访问PMM Web界面。

Component URL
PMM landing page http://127.0.0.1:80
Query Analytics (QAN web app) http://127.0.0.1:80/qan/
Metrics Monitor (Grafana) http://127.0.0.1:80/graph/user name: adminpassword: admin
5、更改面板数据sqlite库存储类型为MYSQL(容器自带)

$sudo docker exec -i -t pmm-server /bin/bash
# # vi /etc/grafana/grafana.ini

查/sqlite 改为MYSQL 存储
type=mysql
host=127.0.0.1:3306
name=grafana
user=root
password =
1
2
3
4
5
6
7
8
9
在容器进入mysql客户端,创建数据库grafana,

create database grafana;
1
$ sudo docker restart pmm-server
1
PMM client 安装
PMM Client是安装在你要监视的MySQL或MongoDB主机上的一组代理组件。组件收集关于一般系统和数据库性能的各种数据,并将该数据发送到相应的PMM服务器组件。包括以下工具

pmm-admin:pmm客户端客理工具,用于增加或是删除需要监控的数据库实例
percona-qan-agent:用于搜集数据库性能数据
node_exporter :用于搜集常用的系统指标
mysqld_exporter:用于搜集MySQL性能指标
mongodb_export:用于搜集MongoDB性能指标
*proxysql_export:用于搜集proxySQL性能指标
在数据库主机上安装PMM Client软件包之前,请确保你的PMM Server主机可访问。
1、下载地址:https://www.percona.com/downloads/pmm/ 请确保版本一致

$ sudo dpkg -I pmm-client_1.17.1-1.xenial_amd64.deb --查看安装信息
$ sudo dpkg -i pmm-client_1.17.1-1.xenial_amd64.deb -- 安装
$ pmm-admin config --help -- 查看帮助信息
1
2
3
2、将PMM客户端连接到PMM服务器

$ sudo pmm-admin config --server 127.0.0.1:80
OK, PMM server is alive.

PMM Server | 127.0.0.1:80
Client Name | ubuntu
Client Address | 172.17.0.1
$ sudo pmm-admin check-network
PMM Network Status

Server Address | 127.0.0.1:80
Client Address | 172.17.0.1

* System Time
NTP Server (0.pool.ntp.org) | 2019-02-26 01:12:42 +0000 UTC
PMM Server | 2019-02-26 01:12:42 +0000 GMT
PMM Client | 2019-02-25 17:12:42 -0800 PST
PMM Server Time Drift | OK
PMM Client Time Drift | OK
PMM Client to PMM Server Time Drift | OK

* Connection: Client --> Server
-------------------- -------
SERVER SERVICE STATUS
-------------------- -------
Consul API OK
Prometheus API OK
Query Analytics API OK

Connection duration | 2.129258ms
Request duration | 684.144µs
Full round trip | 2.813402ms

* Connection: Client <-- Server
-------------- ------- ----------------- ------- ---------- ---------
SERVICE TYPE NAME REMOTE ENDPOINT STATUS HTTPS/TLS PASSWORD
-------------- ------- ----------------- ------- ---------- ---------
linux:metrics ubuntu 172.17.0.1:42000 OK YES -
mysql:metrics ubuntu 172.17.0.1:42002 OK YES -
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
3、 开始监控:

$ sudo pmm-admin add mysql --query-source perfschema --user root --password 123456
[linux:metrics] OK, already monitoring this system.
[mysql:metrics] OK, now monitoring MySQL metrics using DSN root:***@unix(/tmp/mysql.sock)
[mysql:queries] OK, now monitoring MySQL queries from perfschema using DSN root:***@unix(/tmp/mysql.sock)
1
2
3
4
4、 WEB访问页面并配制相关值

http://127.0.0.1/graph
1
$ sudo pmm-admin list --查看配置之后的结果
pmm-admin 1.17.1

PMM Server | 127.0.0.1:80
Client Name | ubuntu
Client Address | 172.17.0.1
Service Manager | linux-systemd

-------------- ------- ----------- -------- ------------------------------- ---------------------------------------------
SERVICE TYPE NAME LOCAL PORT RUNNING DATA SOURCE OPTIONS
-------------- ------- ----------- -------- ------------------------------- ---------------------------------------------
mysql:queries ubuntu - YES root:***@unix(/tmp/mysql.sock) query_source=perfschema, query_examples=true
linux:metrics ubuntu 42000 YES -
mysql:metrics ubuntu 42002 YES root:***@unix(/tmp/mysql.sock)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
3、删除

$ apt-get remove pmm-client
1
参考:https://www.cnblogs.com/zengkefu/p/7232938.html
https://blog.csdn.net/wh211212/article/details/72190471

使用
pmm-admin
使用pmm-admin来管理PMM客户机。

$ sudo pmm-admin
[sudo] password for ocean:
Usage:
pmm-admin [flags]
pmm-admin [command]

Available Commands:
config Configure PMM Client.
add Add service to monitoring.
annotate Annotate application events.
remove Remove service from monitoring.
list List monitoring services for this system.
info Display PMM Client information (works offline).
check-network Check network connectivity between client and server.
ping Check if PMM server is alive.
start Start monitoring service.
stop Stop monitoring service.
restart Restart monitoring service.
show-passwords Show PMM Client password information (works offline).
purge Purge metrics data on PMM server.
repair Repair installation.
uninstall Removes all monitoring services with the best effort.
summary Fetch system data for diagnostics.
help Help about any command

Flags:
-c, --config-file string PMM config file (default "/usr/local/percona/pmm-client/pmm.yml")
-h, --help help for pmm-admin
--skip-root skip UID check (experimental)
--timeout duration timeout (default 5s)
--verbose verbose output
-v, --version show version

Use "pmm-admin [command] --help" for more information about a command.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
OPTIONS
以下选项可用于任何命令:

$ sudo pmm-admin --version --PMM客户端的版本
1.17.1
$ sudo pmm-admin -v --PMM客户端的版本
1.17.1
1
2
3
4
-C,--配置文件
指定PMM配置文件的位置(默认/usr/local/percona/pmm client/pmm.yml)。
-H,——帮助
打印任何命令的帮助并退出。
--verbose
打印详细输出。
1
2
3
4
5
6
pmm-admin add
添加监视服务。
一个例子

$ cd /etc/systemd/system
pmm-linux-metrics-42000.service
pmm-mysql-metrics-42002.service
pmm-mysql-queries-0.service
$ cat pmm-mysql-metrics-42002.service
$ systemctl daemon-reload
$ pmm-admin restart mysql:metrics
1
2
3
4
5
6
7
以下选项可与pmm admin add命令一起使用:

--dev-enable
启用实验功能。
--disable-ssl
禁用(否则启用)PMM客户端和PMM服务器之间的连接的SSL。关闭从某些监视对象获取的数据的SSL加密可以减少与许多节点连接的PMM服务器的开销。
--service-port
指定服务端口。
1
2
3
4
5
6
$ sudo pmm-admin add --help
1
查看各种信息
$ sudo pmm-admin info
$ sudo pmm-admin list --列出所有已启用的服务及其详细信息。
$ $ sudo pmm-admin check-network
1
2
3
是否能够连接pmm服务器
使用pmm admin ping命令验证与pmm服务器的连接。

$ sudo pmm-admin ping [OPTIONS]
$ sudo pmm-admin ping
1
2
获取PMM客户端使用的密码
使用pmm admin show passwords命令打印存储在配置文件中的凭据(默认值为/usr/local/percona/pmm client/pmm.yml)。

$ pmm-admin show-passwords [OPTIONS]
$ sudo pmm-admin show-passwords --help
$ sudo pmm-admin show-passwords
1
2
3
删除监控服务
$sudo pmm-admin rm [OPTIONS] [SERVICE]
$ sudo pmm-admin rm --all
1
2
删除服务时,收集的数据将保留在PMM服务器上的度量监视器中。要删除收集的数据,请使用pmm admin purge命令。

删除孤立服务
$ sudo pmm-admin repair [OPTIONS]
1
清除度量数据
$ pmm-admin purge [SERVICE [NAME]] [OPTIONS]
$ sudo pmm-admin list
1
2
使用pmm admin purge命令清除与pmm服务器上的服务关联的度量数据。这通常是在删除服务后所必需的,并且不希望其度量数据显示在图表上。

开启监控服务
pmm-admin start [SERVICE [NAME]] [OPTIONS]
sudo pmm-admin start --help
停止监控服务
$ pmm-admin stop [SERVICE [NAME]] [OPTIONS]
$ sudo pmm-admin stop --help
1
2
指定要停止的监控服务别名。要查看哪些服务可用,请运行:

$ sudo pmm-admin list
1
重启监控服务
$ pmm-admin restart [SERVICE [NAME]] [OPTIONS]
1
类似 《停止监控服务》

卸载前清理
$ pmm-admin uninstall [OPTIONS]
1
监控服务别名
---------------------
作者:Ocean&&Star
来源:CSDN
原文:https://blog.csdn.net/zhizhengguan/article/details/87916519
版权声明:本文为博主原创文章,转载请附上博文链接!

MYSQL使用PMM进行性能监控的更多相关文章

  1. MySQL 性能监控 4 大指标

    [编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的 4 大指标. 文章系国内 ITOM 管理平台 OneAPM 编译呈现.    MySQL 是什么? MySQL  ...

  2. MySQL 的实时性能监控利器【转】

    操作系统及MySQL数据库的实时性能状态数据尤为重要,特别是在有性能抖动的时候,这些实时的性能数据可以快速帮助你定位系统或MySQL数据库的性能瓶颈,就像你在Linux系统上使用「top,sar,io ...

  3. MySQL写压力性能监控与调优

    写压力调优:数据库的写.写压力性能监控.写压力调优参数 一.关于DB的写 1.数据库是一个写频繁的系统 2.后台写.写缓存 3.commit需要写入 4.写缓存失效或者写满-->写压力陡增--& ...

  4. MySQL 性能监控4大指标——第二部分

    [编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的4大指标. 第一部分介绍了前两个指标:查询吞吐量与查询执行性能.本文将继续介绍另两个指标:MySQL 连接与缓冲池 ...

  5. MySQL 性能监控4大指标——第一部分

    [编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的4大指标. 第一部分将详细介绍前两个指标: 查询吞吐量与查询执行性能.文章系国内 ITOM 管理平台 OneAPM ...

  6. MySQL 的实时性能监控利器

    操作系统及MySQL数据库的实时性能状态数据尤为重要,特别是在有性能抖动的时候,这些实时的性能数据可以快速帮助你定位系统或MySQL数据库的性能瓶颈,就像你在Linux系统上使用「top,sar,io ...

  7. Mysql性能监控可视化

    前言 ​ 操作系统以及Mysql数据库的实时性能状态数据尤为重要,特别是在有性能抖动的时候,这些实时的性能数据可以快速帮助你定位系统或Mysql数据库的性能瓶颈,镜像你在Linux系统上使用top.i ...

  8. MySQL调优性能监控之performance schema

    一.performance_schema的介绍 performance:性能 schema:图(表)示,以大纲或模型的形式表示计划或理论. MySQL的performance schema 用于监控M ...

  9. MySQL调优性能监控之show profile

    用show profile查询工具指定具体的type show profile在mysql5.7之后过时 show profile命令用于跟踪执行过的sql语句的资源消耗信息,可以帮助查看sql语句的 ...

随机推荐

  1. 国内git项目托管平台

    以前一直使用github托管项目,最近换了阿里云的vps,连接github出奇的慢,找了一下国内的代码托管平台. 有几个都不错,我刚好有csdn的账号,就试了一下csdn的托管平台,创建一个项目,发现 ...

  2. NSUrlConnection 和 NSUrlRequest 的关系

    开始看到这2个名字,总感觉NSUrlConnection才是主要的网络请求类,其实不是,先看官方文档 An NSURLConnection object lets you load the conte ...

  3. C&num;创建Windows服务的几个注意事项

    1.服务安装后的自动启动:服务的StartType即使配置成Automatic,在首次安装成功之后还是要在服务列表中找到并手工启动.此外,可以通过在ProjectInstaller中添加AfterIn ...

  4. cpsr当前程序状态寄存器

    详解CPSR寄存器(ls_core) (2012-10-11 17:29:47) 转载▼ 标签: arm920t寄存器 cpsr cpu工作原理 分类: 第四章-踏入嵌入式领域之ARM 在介绍CPSR ...

  5. SQL Server 在Alwayson上使用内存表&quot&semi;踩坑&quot&semi;

    200 ? "200px" : this.width)!important;} --> 介绍 因为线上alwayson环境的一个数据库上使用内存表.经过大概一个星期监控程序发 ...

  6. libguestfs手册&lpar;3&rpar;&colon; virt命令

    guestmount root# guestmount -a ubuntutest1.img -m /dev/sda1 ubuntutestp1 root# cd ubuntutestp1/root: ...

  7. spring boot 基础 2018年5月3日

    主包下运行类@SpringBootApplication  此注解是核心注解,源码如下 @Target({ElementType.TYPE}) @Retention(RetentionPolicy.R ...

  8. 【NOIP 2016】Day1 T2 天天爱跑步

    Problem Description 小 C 同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.<天天爱跑步>是一个养成类游戏,需要玩家每天按时上线,完成打卡任 ...

  9. Docker容器学习与分享02

    1.docker容器的创建 首先运行一个centos容器,感受一下Docker容器的便捷 首先先看一下镜像仓库 发现仓库里没有镜像,也就是没有创建容器的模板,这时考虑从REPOSITORY中拉取镜像( ...

  10. oracle 存储过程 返回结果集

      oracle 存储过程 返回结果集 CreationTime--2018年8月14日09点50分 Author:Marydon 1.情景展示 oracle存储过程如何返回结果集 2.解决方案 最简 ...