导航

MYSQL使用PMM进行性能监控

Posted on 2019-03-14 11:28  许爱琪  阅读(2533)  评论(0编辑  收藏  举报

简介
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
版权声明:本文为博主原创文章,转载请附上博文链接!