潜力的监控mysql_Grafana 数据库监控平台
Grafana 數(shù)據(jù)庫(kù)監(jiān)控平臺(tái)
簡(jiǎn)介
Grafana
demo 地址:官方demo
文檔可以下載pdf離線閱讀
Percona監(jiān)控和管理(PMM)是一個(gè)用于管理和監(jiān)控MySQL和MongoDB性能的開源平臺(tái)。它由Percona與托管數(shù)據(jù)庫(kù)服務(wù),支持和咨詢領(lǐng)域的專家合作開發(fā)。
PMM是一種免費(fèi)的開源解決方案,您可以在自己的環(huán)境中運(yùn)行,以獲得最大的安全性和可靠性。它為MySQL和MongoDB服務(wù)器提供全面的基于時(shí)間的分析,以確保您的數(shù)據(jù)盡可能高效地工作。
系統(tǒng)架構(gòu)
PMM平臺(tái)基于客戶端 - 服務(wù)器模型,實(shí)現(xiàn)可伸縮性。它包括以下模塊:
PMM客戶端安裝在要監(jiān)視的每個(gè)數(shù)據(jù)庫(kù)主機(jī)上。它收集服務(wù)器指標(biāo),常規(guī)系統(tǒng)指標(biāo)和查詢分析數(shù)據(jù),以獲得完整的性能概述。
PMM Server是PMM的核心部分,它聚合收集的數(shù)據(jù)并以Web界面中的表格,儀表板和圖形的形式呈現(xiàn)。
這些模塊的封裝便于安裝和使用。假設(shè)用戶不需要了解構(gòu)成每個(gè)模塊的確切工具以及它們?nèi)绾谓换ァ5?#xff0c;如果您想充分發(fā)揮PMM的潛力,內(nèi)部結(jié)構(gòu)非常重要。
PMM是一系列旨在無縫協(xié)同工作的工具。有些是由Percona開發(fā)的,有些是第三方開源工具。
注意
整體客戶端 - 服務(wù)器模型不太可能改變,但組成每個(gè)組件的工具集可能隨產(chǎn)品而變化。
下圖說明了PMM當(dāng)前的結(jié)構(gòu):
image
PMM服務(wù)端安裝
pmm服務(wù)器安裝有多種方式。官方安裝介紹
本文主要介紹docker的安裝方式
docker 鏡像下載
$ docker pull percona/pmm-server:latest
創(chuàng)建pmm-data 容器
創(chuàng)建一個(gè)持久化的 pmm 數(shù)據(jù)容器
docker create \
-v /opt/prometheus/data \
-v /opt/consul-data \
-v /var/lib/mysql \
-v /var/lib/grafana \
--name pmm-data \
percona/pmm-server:latest /bin/true
docker create 參數(shù)說明:
The docker create command instructs the Docker daemon to create a container from an image.
The -v options initialize data volumes for the container.
The --name option assigns a custom name for the container that you can use to reference the container within a Docker network. In this case: pmm-data.
percona/pmm-server:latest is the name and version tag of the image to derive the container from.
/bin/true is the command that the container runs.
Note
這個(gè)容器不會(huì)運(yùn)行,他的存在僅僅是保留PMM的數(shù)據(jù),當(dāng)你升級(jí)到一個(gè)新的PMM版本的時(shí)候。不要?jiǎng)h除、重新創(chuàng)建這個(gè)容器,除非你想要?jiǎng)h除所有的PMM數(shù)據(jù)。
創(chuàng)建PMM服務(wù)容器并啟動(dòng)
官網(wǎng)提供的創(chuàng)建方式
$ docker run -d \
-p 80:80 \
--volumes-from pmm-data \
--name pmm-server \
--restart always \
percona/pmm-server:latest
docker run參數(shù)說明:
The -d option starts the container in the background (detached mode).
The -p option maps the port for accessing the PMM Server web UI. For example, if port 80 is not available, you can map the landing page to port 8080 using -p 8080:80.
The -v option mounts volumes from the pmm-data container (see Creating the pmm-data Container).
The --name option assigns a custom name to the container that you can use to reference the container within the Docker network. In this case: pmm-server.
The --restart option defines the container’s restart policy. Setting it to always ensures that the Docker daemon will start the container on startup and restart it if the container exits.
percona/pmm-server:latest is the name and version tag of the image to derive the container from.
我們?cè)诨A(chǔ)配置上,添加用戶名密碼的配置信息:
$ docker run -d \
-p 80:80 \
--volumes-from pmm-data \
--name pmm-server \
--restart always \
-e SERVER_USER=test \
-e SERVER_PASSWORD=test \
-e ORCHESTRATOR_ENABLED=true \
percona/pmm-server:latest
新建PMM的客戶端
安裝Percona的軟件倉(cāng)庫(kù)
sudo yum install http://www.percona.com/downloads/percona-release/redhat/0.1-6/percona-release-0.1-6.noarch.rpm
驗(yàn)證安裝結(jié)果
sudo yum list | grep percona
結(jié)果如下:
percona-release.noarch 0.1-6 @/percona-release-0.1-6.noarch
Percona-Server-55-debuginfo.x86_64 5.5.54-rel38.7.el7 percona-release-x86_64
Percona-Server-56-debuginfo.x86_64 5.6.35-rel81.0.el7 percona-release-x86_64
Percona-Server-57-debuginfo.x86_64 5.7.17-13.1.el7 percona-release-x86_64
...
安裝客戶端
sudo yum install pmm-client
PMM的客戶端配置
pmm客戶端的 配置命令是pmm-admin
一般步驟為
配置客戶端到服務(wù)器的連接信息
將需要監(jiān)控的內(nèi)容加入到監(jiān)控列表
客戶端與服務(wù)端連接配置
pmm-admin config --server 192.168.0.157:80 --server-user test --server-password test
配置服務(wù)端的網(wǎng)絡(luò)信息,用戶名,密碼。
Note
執(zhí)行后會(huì)生成配置文件,配置文件的默認(rèn)路徑為 /usr/local/percona/pmm-client/pmm.yml
配置好后可以使用以下命令查看連接信息
配置信息
# pmm-admin info
pmm-admin 1.13.0
PMM Server | 192.168.0.157:80 (password-protected)
Client Name | 192.168.0.156
Client Address | 192.168.0.156
Service Manager | linux-systemd
Go Version | 1.10.1
Runtime Info | linux/amd64
2.網(wǎng)絡(luò)連接信息
# pmm-admin check-network
PMM Network Status
Server Address | 192.168.0.157:80
Client Address | 192.168.0.156
* System Time
NTP Server (0.pool.ntp.org) | 2018-08-16 09:17:22 +0000 UTC
PMM Server | 2018-08-16 09:17:20 +0000 GMT
PMM Client | 2018-08-16 17:17:22 +0800 CST
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 | 617.745μs
Request duration | -207.451μs
Full round trip | 410.294μs
* Connection: Client
-------------- -------------- -------------------- ------- ---------- ---------
SERVICE TYPE NAME REMOTE ENDPOINT STATUS HTTPS/TLS PASSWORD
-------------- -------------- -------------------- ------- ---------- ---------
linux:metrics 192.168.0.156 192.168.0.156:42000 OK YES YES
mysql:metrics 192.168.0.156 192.168.0.156:42002 OK YES YES
mysql數(shù)據(jù)配置
grafana收集mysql的信息方式的配置需要針對(duì)mysql的版本
mysql5.5 之后增加 performance_schema。mysql開啟performance_schema后grafana可以直接獲取信息。MySQL 5.6.9之后的版本默認(rèn)開啟,之前的版本需要手動(dòng)開啟。
mysql5.5之前的mysql版本可以通過slow-log獲取慢查詢的信息。
Note
本節(jié)主要介紹使用performance_schema的方式,即 mysql5.5之后版本的數(shù)據(jù)庫(kù)監(jiān)控。
mysql5.5之前版本的數(shù)據(jù)庫(kù)監(jiān)控,見下一節(jié)。
創(chuàng)建pmm數(shù)據(jù)庫(kù)賬號(hào)
GRANT SELECT, PROCESS, SUPER, REPLICATION CLIENT, RELOAD ON *.* TO pmm@'%' IDENTIFIED BY 'pmm' WITH MAX_USER_CONNECTIONS 10;
GRANT SELECT, UPDATE, DELETE, DROP ON performance_schema.* TO 'pmm'@'%';
flush privileges;
查看數(shù)據(jù)的關(guān)鍵參數(shù)
mysql> SHOW VARIABLES LIKE 'performance_schema';
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| performance_schema | ON |
+--------------------+-------+
mysql> select * from setup_consumers;
+----------------------------------+---------+
| NAME | ENABLED |
+----------------------------------+---------+
| events_stages_current | NO |
| events_stages_history | NO |
| events_stages_history_long | NO |
| events_statements_current | YES |
| events_statements_history | YES |
| events_statements_history_long | NO |
| events_transactions_current | NO |
| events_transactions_history | NO |
| events_transactions_history_long | NO |
| events_waits_current | NO |
| events_waits_history | NO |
| events_waits_history_long | NO |
| global_instrumentation | YES |
| thread_instrumentation | YES |
| statements_digest | YES |
+----------------------------------+---------+
15 rows in set (0.00 sec)
確保 statements_digest是 開啟的
如果以上關(guān)鍵參數(shù)沒有開啟就需要修改配置文件
mysql配置文件修改
Percona Server(or XtraDB Cluster)
log_output=file
slow_query_log=ON
long_query_time=0
log_slow_rate_limit=100
log_slow_rate_type=query
log_slow_verbosity=full
log_slow_admin_statements=ON
log_slow_slave_statements=ON
slow_query_log_always_write_time=1
slow_query_log_use_global_control=all
innodb_monitor_enable=all
userstat=1
MySQL 5.6+ or MariaDB 10.0+
innodb_monitor_enable=all
performance_schema=ON
MySQL 5.5 or MariaDB 5.5
log_output=file
slow_query_log=ON
long_query_time=0
log_slow_admin_statements=ON
log_slow_slave_statements=ON
mysql5.5之前版本的配置
mysql 5.5之前的版本是通過慢查詢文件進(jìn)行查詢語句的查看,所以需要配置慢查詢
slow_query_log
long_query_time = 3
PMM客戶端添加數(shù)據(jù)庫(kù)
performance_schema方式
pmm-admin add mysql --user pmm --password pmm --socket /application/mysql3307/logs/mysql.sock --query-source perfschema
慢查詢的方式
pmm-admin add mysql --user pmm --password pmm --socket /application/mysql3307/logs/mysql.sock
參考文檔
總結(jié)
以上是生活随笔為你收集整理的潜力的监控mysql_Grafana 数据库监控平台的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 000-Opencv各版本汇总下载
- 下一篇: java学习(12):i++和++i的区