對於資料庫來說 ,提供方便的監控,對於服務的掌握十分重要.
本文為作者工作上需求所安裝的工具,使用grafana
紀錄於此
首先選用PMM Server run on Docker的做法
1. 安裝Docker, 要求1.12.6以上的版本 Get Docker CE for CentOS, Install CS Docker Engine
安裝repository
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
檢查
sudo yum makecache fast
==> fingerprint 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
安裝
sudo yum install docker-ce -y
修改docker存放資料的路徑,方便硬碟空間管理
cd /etc/docker
vi daemon.json
{
"graph": "/home/docker",
"storage-driver": "overlay"
}
啟用
sudo systemctl start docker
sudo systemctl enable docker
2. 下載並執行pmm server
sudo docker create -v /opt/prometheus/data -v /opt/consul-data -v /home/lib/mysql_pmm -v /var/lib/grafana --name pmm-data percona/pmm-server:1.1.5 /bin/true
sudo docker create -v /opt/prometheus/data -v /opt/consul-data -v /var/lib/mysql -v /var/lib/grafana --name pmm-data percona/pmm-server:1.1.5 /bin/true
sudo docker run -d -p 80:80 --volumes-from pmm-data --name pmm-server --restart always percona/pmm-server:1.1.5
打開瀏覽器,輸入http://pmm-server-ip
3. 安裝pmm client (至各client端)
sudo yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
sudo yum install pmm-client
4. 配置pmm clinet的準備動作, What privileges are required to monitor a MySQL instance?
新增Mariadb 監控使用者
CREATE USER 'monitor'@'localhost' IDENTIFIED BY 'password';
GRANT SELECT, RELOAD, PROCESS, SUPER, REPLICATION CLIENT ON *.* TO 'monitor'@'localhost' WITH MAX_USER_CONNECTIONS 5;
GRANT UPDATE, DELETE, DROP ON performance_schema.* TO 'monitor'@'localhost';
FLUSH PRIVILEGES;
5. 新增MongoDB監控使用者, percona/mongodb_exporter
db.createUser(
{
user: "monitor",
pwd: "password",
roles: [ { role: "clusterMonitor", db: "admin" }, { role: "read", db: "local" } ]
}
)
6. 配置 Managing PMM Client
sudo pmm-admin config --server pmm-server-ip
sudo pmm-admin add mysql:metrics --user monitor --password password
(也可以讓pmm clinet自動新增使用者, --create-user)
sudo pmm-admin add mysql:queries --user monitor --password password
sudo pmm-admin add mongodb:metrics --uri mongodb://monitor:password@client-ip
sudo pmm-admin add linux:metrics
在瀏覽器上就能看到圖
7. Query Analytics
目前的pmm server query analytics對Mariadb 10.1.X 僅支援performance schema而沒有slow log,啟用方式等同8-a
8. 加減metrics的項目, Configuring MySQL for Percona Monitoring and Management
a. 一般耗能 - Configuring Performance Schema - toubleshooting使用
在my.cnf新增,重啟服務
innodb_monitor_enable=all
performance_schema=ON
檢查
SHOW VARIABLES LIKE 'performance_schema';
b. 低耗能 - MySQL InnoDB ALL Metrics - 可常駐
SET GLOBAL innodb_monitor_enable=all;
c. 高耗能 - MySQL User Statistics - toubleshooting使用
SET GLOBAL userstat=1;
d. 極耗能 - MySQL Query Response Time - toubleshooting使用
INSTALL PLUGIN QUERY_RESPONSE_TIME_AUDIT SONAME 'query_response_time.so';
INSTALL PLUGIN QUERY_RESPONSE_TIME SONAME 'query_response_time.so';
INSTALL PLUGIN QUERY_RESPONSE_TIME_READ SONAME 'query_response_time.so';
INSTALL PLUGIN QUERY_RESPONSE_TIME_WRITE SONAME 'query_response_time.so';
(最後兩項僅Percona Server 5.6/5.7支援)
SET GLOBAL query_response_time_stats=ON;
9. 設定Slack Alert
直接參考MySQL-MongoDB开源监控利器PMM增加slack报警功能
10. client未正常移除,但機器已刪除時,該監控node和service都還在pmm-server的監控內,移除方式如下(參考 PMM add/remove mysql instances)
參考
留言列表