天天看點

pmm系列~安裝

0 修改docker預設存儲路徑

   vim /etc/sysconfig/docker  在啟動項OPTIONS=添加  --graph = "datadir" 并重新開機服務

1 server端執行

   curl -sSL https://get.daocloud.io/docker | sh 

   docker pull percona/pmm-server

    建立資料卷容器

docker create -v /opt/prometheus/data(監控資料) -v /opt/consul-data(中繼資料) -v /var/lib/mysql (mysql資料) -v /var/lib/grafana(grafana)資料 --name pmm-onlinedata percona/pmm-server:latest /bin/true

    運作容器,使用資料卷容器 

    docker run -d -p 80:80 -p 9090:9090 --volumes-from pmm-data  -e METRICS_RETENTION=168h(設定保留時間) --name pmm-server --restart always percona/pmm-server:latest    

   2 頻率調整

   sed -i \'s/scrape_interval: 1s/scrape_interval: 1m/g\' prometheus.yml

2 client端執行

  1 建立使用者

    GRANT SELECT, RELOAD, PROCESS, SUPER, REPLICATION CLIENT ON *.* TO \'pmm\'@\'localhost\' IDENTIFIED BY \'PMM\';

    GRANT SELECT, UPDATE, DELETE, DROP ON `performance_schema`.* TO \'pmm\'@\'localhost\'; 

  2 執行指令

    yum install https://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-4.noarch.rpm && yum install pmm-client -y

    mysql -e \'set global innodb_monitor_enable=all;\'

    pmm-admin config --client-name hostaname --server pmm-server  配置通信

 3 通路連結

   http://pmm-server

4 web界面認證

   1 禁止匿名登入

     docker exec -it pmm-server bash

      vi /etc/grafana/grafana.ini 

     [auth.anonymous]

     # enable anonymous access

      #enabled = True

  2 更新管理者賬号

    sqlite3 /var/lib/grafana/grafana.db 

    update user set password=\'59acf18b94d7eb0694c61e60ce44c110c7a683ac6a8f09580d626f90f4a242000746579358d77dd9e570e83fa24faa88a8a6\', salt =\'F3FAxVm33R\' where login =\'admin\';//密碼為admin

  3 重新開機服務

   systemctl restart 容器ID 

4 mysql監控   

   方法1  pmm-admin add mysql --user  --password  --host  --port 3306 --query-source perfschema hostname --disable-queryexamples //開啟性能模式 會采用QAN-API 這裡禁掉

   方法2  pmm-admin add mysql:metrics  --user  --password  --host  --port 3306 開啟性能模式 不查詢PSF庫 

              pmm-admin add  mysql:queries   --user  --password  --host  --port 3306  --disable-queryexamples 查詢PFS庫 禁掉QAN-API

   注意 1 這裡的PMM-CLIENT代替了mysql_exporter作用,已經做了封裝

           2 采用--query-source後會采用QAN-API接口,然後分析pfs庫的慢日志和一些其他已經收集的名額 確定 statement_digest 已經開啟慢日志采樣

           3 說明 

                              1   mysql (Add complete monitoring for MySQL instance (linux and mysql metrics, queries).)

                              2   linux:metrics (Add this system to metrics monitoring)

                              3   mysql:metrics (Add MySQL instance to metrics monitoring).

                              4   mysql:queries (Add MySQL instance to Query Analytics.)

5 proxysql監控

    pmm-admin add proxysql --dsn "stats:stats@tcp(localhost:6032)/"

6 mongodb監控

    pmm-admin add mongodb --uri  mongodb://host:port/  shard1

    pmm-admin add mongodb --uri  mongodb://host:port/  cluster

7 redis監控

    redis服務機器:nohup ./redis_exporter -redis.addr host:port -web.listen-address 0.0.0.0:port1 -redis.alias hostname

    監控機器 :pmm-admin add external:metrics hostname host:port1 --interval 1s  --timeout 1s

   注意 因為PMM本身隻是為了監控mysql而生,是以需要手動執行redis_exporter

8 注意點

  1 不使用配置PMM的Query Analytics

  2 清理主模闆.防止grafana出現卡頓

  3 PMM-CLIENT分為本地監控+遠端監控兩種模式,一旦建立遠端監控模式,就隻能監控遠端資料庫而無法監控Linux本機,适合阿裡雲環境的本機監控,實體機建議還是采用本地監控方式

  4 如何修改PMM的監控資料保留時間

     1 進入容器修改 /etc/supervisord.d/pmm.ini 的--storage.local.retention

     2 重新開機整個容器

     3 觀察整個磁盤容量是否減少,到了過期時間是會自動清理的

  5 如果通過pmm-admin 更改source ip 有問題 可直接修改 /usr/local/percona/pmm-client/pmm.yml