MYSQL使用PMM進行性能監控

簡介
Percona監視和管理(PMM)是一個用於管理和監視MySQL和MongoDB性能的開源平臺。它是由Percona與託管數據庫服務、支持和諮詢領域的專家合做開發的。html

PMM是一個免費的開源解決方案,您能夠在本身的環境中運行,以得到最大的安全性和可靠性。它爲MySQL和MongoDB服務器提供了完全的基於時間的分析,以確保您的數據儘量高效地工做。node

PMM是CS價格,由兩部分組成PMM Client和PMM Servermysql

PMM客戶機安裝在要監視的每一個數據庫主機上。它收集服務器指標、通常系統指標和查詢分析數據,以得到完整的性能概述。linux

PMM服務器是PMM的核心部分,它聚合收集到的數據,並在Web界面中以表格、儀表盤和圖形的形式顯示這些數據。web

 

官網sql

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

安裝PMMServer
PMM Server是PMM的核心部分,它聚合收集的數據,並以Web界面的表格,儀表板和圖形的形式呈現,包括如下組件docker

Query Analytics(QAN):按時間週期查詢MySQL性能,同客戶端的qan agent通信包括兩個組件 。qan api 和qan web app
Metrics Monitor(MM):提供MySQL和mongo的性能歷史視圖
一、安裝docker環境數據庫

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

二、下載鏡像容器

$ sudo docker pull percona/pmm-server:latest

三、創建數據卷容器

$ 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
四、運行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
五、更改面板數據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主機可訪問。
一、下載地址: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
二、將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
三、 開始監控:

$ 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
四、 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
三、刪除

$ 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 list1重啓監控服務$ pmm-admin restart [SERVICE [NAME]] [OPTIONS]1相似 《中止監控服務》

相關文章
相關標籤/搜索