相关文章推荐

How to run PMM Server with Docker based on our Docker image .

The tags used here are for the current release. Other tags are available.

See also

Easy-install script

Before you start

  • Install Docker 1.12.6 or higher.
  • For PMM 2.38.0 or greater, ensure your CPU (and any virtualization layer you may be using) supports x86-64-v2
  • Run

    Summary

  • Pull the Docker image.
  • Copy it to create a persistent data container.
  • Run the image.
  • Open the PMM UI in a browser.
  • You can store data from your PMM in:

  • Docker volume (Preffered method)
  • Data container
  • Host directory
  • Run Docker with volume

    Pull the image.

    docker pull percona/pmm-server:2
    

    Create a volume:

    docker volume create pmm-data
    

    Run the image:

    docker run --detach --restart always \
    --publish 443:443 \
    -v pmm-data:/srv \
    --name pmm-server \
    percona/pmm-server:2
    

    Change the password for the default admin user.

  • For PMM versions 2.27.0 and later:
  • docker exec -t pmm-server change-admin-password <new_password>
    

    For PMM versions prior to 2.27.0:

    docker exec -t pmm-server bash -c 'grafana-cli --homepath /usr/share/grafana --configOverrides cfg:default.paths.data=/srv/grafana admin reset-admin-password newpass'
    

    Visit https://localhost:443 to see the PMM user interface in a web browser. (If you are accessing the docker host remotely, replace localhost with the IP or server name of the host.)

    Run Docker with data container

    Create a persistent data container.

    docker create --volume /srv \
    --name pmm-data \
    percona/pmm-server:2 /bin/true
    

    Important

    PMM Server expects the data volume to be /srv. Using any other value will result in data loss when upgrading.

    To check server and data container mount points:

    docker inspect pmm-data | grep Destination && \
    docker inspect pmm-server | grep Destination
    
    docker run --detach --restart always \
    --publish 443:443 \
    --volumes-from pmm-data \
    --name pmm-server \
    percona/pmm-server:2
    

    Change the password for the default admin user.

  • For PMM versions 2.27.0 and later:
  • docker exec -t pmm-server change-admin-password <new_password>
    

    For PMM versions prior to 2.27.0:

    docker exec -t pmm-server bash -c 'grafana-cli --homepath /usr/share/grafana --configOverrides cfg:default.paths.data=/srv/grafana admin reset-admin-password newpass'
    

    Visit https://localhost:443 to see the PMM user interface in a web browser. (If you are accessing the docker host remotely, replace localhost with the IP or server name of the host.)

    Run Docker with the host directory

    Availability

    This feature is available starting with PMM 2.29.0.

    Pull the image.

    docker pull percona/pmm-server:2
    

    Run the image.

    export DATA_DIR=$HOME/srv
    docker run -v $DATA_DIR/srv:/srv -d --restart always --publish 80:80 --publish 443:443 --name pmm-server percona/pmm-server:2
    DATA_DIR is a directory where you want to store the state for PMM.
    

    Visit https://localhost:443 to see the PMM user interface in a web browser. (If you are accessing the docker host remotely, replace localhost with the IP or server name of the host.)

    Migrate from data container to host directory/volume

    To migrate your PMM from data container to host directory or volume run the following command:

    docker cp <containerId>:/srv /target/host/directory
    

    Backup

    Summary

  • Stop and rename the pmm-server container.
  • Take a local copy of the pmm-data container’s /srv directory.
  • Important

    Grafana plugins have been moved to the data volume /srv since the 2.23.0 version. So if you are upgrading PMM from any version before 2.23.0 and have installed additional plugins then plugins should be installed again after the upgrade.

    To check used grafana plugins:

    docker exec -it pmm-server ls /var/lib/grafana/plugins
    
  • Stop the running container.
  • Backup (rename) the container and copy data.
  • Pull the latest Docker image.
  • Run it.
  • Important

    Downgrades are not possible. To go back to using a previous version you must have created a backup of it before upgrading.

    To see what release you are running, use the PMM Upgrade panel on the Home Dashboard, or run:

    docker exec -it pmm-server \
    curl -ku admin:admin https://localhost/v1/version
    

    (If you are accessing the docker host remotely, replace localhost with the IP or server name of the host.)

    Stop the container.

    docker stop pmm-server
    

    Perform a backup.

    Pull the latest image.

    docker pull percona/pmm-server:2
    

    Rename the original container

    docker rename pmm-server pmm-server-old
    

    Run it.

    docker run \
    --detach \
    --restart always \
    --publish 443:443 \
    --volumes-from pmm-data \
    --name pmm-server \
    percona/pmm-server:2
    

    Restore

    Summary

  • Stop and remove the container.
  • Restore (rename) the backup container.
  • Restore saved data to the data container.
  • Restore permissions to the data.
  • Restore permissions.

    docker run --rm --volumes-from pmm-data -it percona/pmm-server:2 chown -R root:root /srv && \
    docker run --rm --volumes-from pmm-data -it percona/pmm-server:2 chown -R pmm:pmm /srv/alertmanager && \
    docker run --rm --volumes-from pmm-data -it percona/pmm-server:2 chown -R root:pmm /srv/clickhouse && \
    docker run --rm --volumes-from pmm-data -it percona/pmm-server:2 chown -R grafana:grafana /srv/grafana && \
    docker run --rm --volumes-from pmm-data -it percona/pmm-server:2 chown -R pmm:pmm /srv/logs && \
    docker run --rm --volumes-from pmm-data -it percona/pmm-server:2 chown -R postgres:postgres /srv/postgres && \
    docker run --rm --volumes-from pmm-data -it percona/pmm-server:2 chown -R pmm:pmm /srv/prometheus && \
    docker run --rm --volumes-from pmm-data -it percona/pmm-server:2 chown -R pmm:pmm /srv/victoriametrics && \
    docker run --rm --volumes-from pmm-data -it percona/pmm-server:2 chown -R postgres:postgres /srv/logs/postgresql.log
    

    Start the image.

    docker start pmm-server
    

    Remove

    Summary

  • Stop the container.
  • Remove (delete) both the server and data containers.
  • Remove (delete) both images.
  • DISABLE_UPDATES Disables a periodic check for new PMM versions as well as ability to apply upgrades using the UI DISABLE_TELEMETRY Disable built-in telemetry and disable STT if telemetry is disabled. METRICS_RESOLUTION High metrics resolution in seconds. METRICS_RESOLUTION_HR High metrics resolution (same as above). METRICS_RESOLUTION_MR Medium metrics resolution in seconds. METRICS_RESOLUTION_LR Low metrics resolution in seconds. DATA_RETENTION The number of days to keep time-series data.
    N.B. This must be set in a format supported by time.ParseDuration
    and represent the complete number of days.
    The supported units are ns, us (or µs), ms, s, m, and h.
    The value must be a multiple of 24, e.g., for 90 days 2160h (90 * 24). ENABLE_VM_CACHE Enable cache in VM. DISABLE_ALERTING Disables built-in Percona Alerting, which is enabled by default. ENABLE_AZUREDISCOVER Enable support for discovery of Azure databases. DISABLE_BACKUP_MANAGEMENT Disables Backup Management, which is enabled by default. ENABLE_DBAAS Enable DBaaS features. PMM_DEBUG Enables a more verbose log level. PMM_TRACE Enables a more verbose log level including trace-back information. PMM_PUBLIC_ADDRESS External IP address or the DNS name on which PMM server is running.

    The following variables are also supported but values passed are not verified by PMM. If any other variable is found, it will be considered invalid and the server won’t start.

    Variable Description PERCONA_TEST_PMM_CLICKHOUSE_ADDR Name of the host and port of the external ClickHouse database instance. PERCONA_TEST_PMM_CLICKHOUSE_DATABASE Database name of the external ClickHouse database instance. ​​PERCONA_TEST_PMM_CLICKHOUSE_POOL_SIZE The maximum number of threads in the current connection thread pool. This value cannot be bigger than max_thread_pool_size. PERCONA_TEST_PMM_CLICKHOUSE_BLOCK_SIZE The number of rows to load from tables in one block for this connection.

    Tips

    To Disable the Home Dashboard PMM Upgrade panel you can either add -e DISABLE_UPDATES=true to the docker run command (for the life of the container) or navigate to PMM → PMM Settings → Advanced Settings and disable “Check for Updates” (can be turned back on by any admin in the UI).

    Eliminate browser certificate warnings by configuring a trusted certificate.

    You can optionally enable an (insecure) HTTP connection by adding --publish 80:80 to the docker run command. However, running PMM insecure is not recommended. You should also note that PMM Client requires TLS to communicate with the server, only working on a secure port.

    Isolated hosts

    If the host where you will run PMM Server has no internet connection, you can download the Docker image on a separate (internet-connected) host and securely copy it.

    On an internet-connected host, download the Docker image and its checksum file.

    wget https://downloads.percona.com/downloads/pmm2/2.38.1/docker/pmm-server-2.38.1.docker
    wget https://downloads.percona.com/downloads/pmm2/2.38.1/docker/pmm-server-2.38.1.sha256sum
    

    Copy both files to where you will run PMM Server.

    Open a terminal on the PMM Server host.

    (Optional) Check the Docker image file integrity.

    shasum -ca 256 pmm-server-2.38.1.sha256sum
    

    Load the image.

    docker load -i pmm-server-2.38.1.docker
    

    Run the container as if your image is already pulled using your desired method for a storage volume (you can step over any docker pull commands as the image has been pre-staged).

    Contact us

    For free technical help, visit the Percona Community Forum.

    To report bugs or submit feature requests, open a JIRA ticket.

    For paid support and managed or consulting services , contact Percona Sales.

     
    推荐文章