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 执行命令
    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

原文地址:https://www.cnblogs.com/danhuangpai/p/13753327.html