1. docker pull percona/pmm-server:2

    创建数据容器

    1. docker create \
    2. -v /srv \
    3. --name pmm-data \
    4. percona/pmm-server:2 /bin/true

    该容器不会运行,只是存在以确保在升级到较新的PMM Server映像时保留所有PMM数据。除非您打算擦除所有PMM数据并重新开始,否则请勿删除或重新创建此容器。

    1. docker run -d \
    2. -p 8084:80 \
    3. -p 443:443 \
    4. --volumes-from pmm-data \
    5. --name pmm-server \
    6. -e DISABLE_UPDATES=true \
    7. --restart always \
    8. percona/pmm-server:2

    image.png
    image.png
    PMM Server in Docker - 图3

    PMM Server in Docker - 图4

    PMM客户端软件包包括以下内容:

    • pmm-admin是用于管理PMM客户端的命令行工具,例如,添加和删除要监视的数据库实例。有关更多信息,请参见pmm-admin。
    • pmm-agent是客户端组件,是最小的命令行界面,它是带来客户端功能的中央入口点:它进行客户端的身份验证,将客户端配置存储在PMM服务器上,管理导出器和其他代理商。
    • node_exporter是一个Prometheus导出器,用于收集常规系统指标。
    • mysqld_exporter是Prometheus导出器,用于收集MySQL服务器指标。
    • mongodb_exporter是Prometheus导出器,用于收集MongoDB服务器指标。
    • postgres_exporter是Prometheus导出器,用于收集PostgreSQL性能指标。
    • proxysql_exporter是Prometheus导出器,用于收集ProxySQL性能指标。

    为了确保从PMM客户端到PMM服务器的数据传输安全,所有导出器都可以使用SSL / TLS加密连接,并且它们与PMM服务器的通信受到HTTP基本身份验证的保护。

    1. sudo yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
    2. yum install pmm2-client
    1. pmm-admin config --server-insecure-tls --server-url=https://admin:admin@192.168.100.1:443

    mysql慢查询监控

    1. CREATE USER 'exporter'@'*' IDENTIFIED BY 'XXXXXXXX';
    2. GRANT PROCESS, REPLICATION CLIENT ON *.* TO 'exporter'@'%';
    3. GRANT SELECT ON performance_schema.* TO 'exporter'@'%';
    1. pmm-admin add mysql --username=pmm --password=pmm --query-source=slowlog 127.0.0.1:3306
    2. pmm-admin add mysql --username=pmm --password=pmm --query-source=perfschema 127.0.0.1:3306