MYSQL系列(55):性能监控之PMM【待续】

简介

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",

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

运行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 =

在容器进入mysql客户端,创建数据库grafana,

 create database grafana;
$ sudo docker restart pmm-server

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   -- 查看帮助信息

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        -   

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)

4、 WEB访问页面并配制相关值

 http://127.0.0.1/graph
$ 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)                                               

3、删除

$ apt-get remove pmm-client

参考: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.

OPTIONS

以下选项可用于任何命令:

$ sudo pmm-admin --version  --PMM客户端的版本
1.17.1
$ sudo pmm-admin -v     --PMM客户端的版本
1.17.1
-C,--配置文件
指定PMM配置文件的位置(默认/usr/local/percona/pmm client/pmm.yml)。
-H,——帮助
打印任何命令的帮助并退出。
--verbose
打印详细输出。

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

以下选项可与pmm admin add命令一起使用:

--dev-enable
启用实验功能。
--disable-ssl
禁用(否则启用)PMM客户端和PMM服务器之间的连接的SSL。关闭从某些监视对象获取的数据的SSL加密可以减少与许多节点连接的PMM服务器的开销。
--service-port
指定服务端口。
$ sudo pmm-admin add --help

查看各种信息

$ sudo pmm-admin info
$ sudo pmm-admin list  --列出所有已启用的服务及其详细信息。
$ $ sudo pmm-admin check-network

是否能够连接pmm服务器

使用pmm admin ping命令验证与pmm服务器的连接。

$ sudo  pmm-admin ping [OPTIONS]
$ sudo  pmm-admin ping

获取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

删除监控服务

$sudo  pmm-admin rm [OPTIONS] [SERVICE]
$ sudo  pmm-admin rm --all

删除服务时,收集的数据将保留在PMM服务器上的度量监视器中。要删除收集的数据,请使用pmm admin purge命令。

删除孤立服务

$ sudo pmm-admin repair [OPTIONS]

清除度量数据

$ pmm-admin purge [SERVICE [NAME]] [OPTIONS]
$ sudo pmm-admin list

使用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

指定要停止的监控服务别名。要查看哪些服务可用,请运行:

$ sudo pmm-admin list

重启监控服务

$ pmm-admin restart [SERVICE [NAME]] [OPTIONS]

类似 《停止监控服务》

卸载前清理

$ pmm-admin uninstall [OPTIONS]
  • 监控服务别名

猜你喜欢

转载自blog.csdn.net/zhizhengguan/article/details/87916519
PMM