zoukankan      html  css  js  c++  java
  • Percona Monitoring and Management

    https://www.percona.com/doc/percona-monitoring-and-management/2.x/setting-up/server/docker.html

    Docker

    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.

    Before you start

    Run

    Summary

    • Pull the Docker image.
    • Copy it to create a persistent data container.
    • Run the image.
    • Open the PMM UI in a browser.

    1. Pull the image.

      docker pull percona/pmm-server:2
      
    2. 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
      
    3. Run the image.

      docker run --detach --restart always 
      --publish 443:443 
      --volumes-from pmm-data 
      --name pmm-server 
      percona/pmm-server:2
      
    4. In a web browser, visit https://localhost:443 (or http://localhost:80 if enabled) to see the PMM user interface. (If you are accessing the docker host remotely, replace localhost with the IP or server name of the host.)

    Backup

    Summary

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

    1. Stop the container.

      docker stop pmm-server
      
    2. Move the image.

      docker rename pmm-server pmm-server-backup
      
    3. Create a subdirectory (e.g., pmm-data-backup) and move to it.

      mkdir pmm-data-backup && cd pmm-data-backup
      
    4. Backup the data.

      docker cp pmm-data:/srv .
      

    Upgrade

    Summary

    • Stop the running container.
    • Backup (rename) the container and copy data.
    • Pull the latest Docker image.
    • Run it.

    Tip

    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.)

    1. Perform a backup.

    2. Pull the latest image.

      docker pull percona/pmm-server:2
      
    3. 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.

    Important

    You must have a backup to restore from.

    1. Stop the container.

      docker stop pmm-server
      
    2. Remove it.

      docker rm pmm-server
      
    3. Revert to the saved image.

      docker rename pmm-server-backup pmm-server
      
    4. Change directory to the backup directory (e.g. pmm-data-backup).

    5. Remove Victoria Metrics data folder.

      docker run --rm --volumes-from pmm-data -it percona/pmm-server:2 rm -r /srv/victoriametrics/data
      
    6. Copy the data.

      docker cp srv pmm-data:/
      
    7. 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
      
    8. Start the image.

      docker start pmm-server
      

    Remove

    Summary

    • Stop the container.
    • Remove (delete) both the server and data containers.
    • Remove (delete) both images.

    Caution

    These steps delete the PMM Server Docker image and any accumulated PMM metrics data.

    1. Stop pmm-server container.

      docker stop pmm-server
      
    2. Remove containers.

      docker rm pmm-server pmm-data
      
    3. Remove the image.

      docker rmi $(docker images | grep "percona/pmm-server" | awk {'print $3'})
      

    Docker compose

    Summary

    • Copy and paste the docker-compose.yml file.
    • Run docker-compose up.

    With this approach, data is stored in a volume, not in a pmm-data container.

    1. Copy and paste this text into a file called docker-compose.yml.

      version: '2'
      services:
        pmm-server:
          image: percona/pmm-server:2
          hostname: pmm-server
          container_name: pmm-server
          restart: always
          logging:
            driver: json-file
            options:
              max-size: "10m"
              max-file: "5"
          ports:
            - "443:443"
          volumes:
            - data:/srv
      volumes:
        data:
      
    2. Run:

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

    Environment variables

    Use the following Docker container environment variables (with -e var=value) to set PMM Server parameters.

    VariableDescription
    DISABLE_UPDATES Disable automatic updates.
    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 How many days to keep time-series data in ClickHouse.
    ENABLE_VM_CACHE Enable cache in VM.
    ENABLE_ALERTING Enable integrated alerting.
    ENABLE_AZUREDISCOVER Enable support for discovery of Azure databases.
    ENABLE_BACKUP_MANAGEMENT Enable integrated backup tools.
    PERCONA_TEST_SAAS_HOST SaaS server hostname.
    PERCONA_TEST_DBAAS Enable testing DBaaS features. (Will be deprecated in future versions.)
    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.

    Ignored variables

    These variables will be ignored by pmm-managed when starting the server. If any other variable is found, it will be considered invalid and the server won’t start.

    VariableDescription
    _HOMEHOSTNAMELANGPATHPWDSHLVLTERM Default environment variables.
    GF_* Grafana’s environment variables.
    SUPERVISOR_ supervisord environment variables.
    PERCONA_TEST_ Unknown variable but won’t prevent the server starting.
    PERCONA_TEST_DBAAS Deprecated. Use ENABLE_DBAAS.

    Tips

    • Disable manual updates via the Home Dashboard PMM Upgrade panel by adding -e DISABLE_UPDATES=true to the docker run command.

    • Eliminate browser certificate warnings by configuring a trusted certificate.

    • Optionally enable an (insecure) HTTP connection by adding --publish 80:80 to the docker run command. However note that PMM Client requires TLS to communicate with the server so will only work on the 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.

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

      wget https://downloads.percona.com/downloads/pmm2/2.20.0/docker/pmm-server-2.20.0.docker
      wget https://downloads.percona.com/downloads/pmm2/2.20.0/docker/pmm-server-2.20.0.sha256sum
      
    2. Copy both files to where you will run PMM Server.

    3. Open a terminal on the PMM Server host.

    4. (Optional) Check the Docker image file integrity.

      shasum -ca 256 pmm-server-2.20.0.sha256sum
      
    5. Load the image.

      docker load -i pmm-server-2.20.0.docker
      
    6. Create the pmm-data persistent data container.

      docker create --volume /srv 
      --name pmm-data percona/pmm-server:2.20.0 /bin/true
      
    7. Run the container.

      docker run 
      --detach 
      --restart always 
      --publish 443:443 
      --volumes-from pmm-data 
      --name pmm-server 
      percona/pmm-server:2.20.0
  • 相关阅读:
    什么是线程组,为什么在 Java 中不推荐使用?
    什么是 FutureTask?使用 ExecutorService 启动任务?
    Java 中用到的线程调度算法是什么?
    什么是阻塞队列?阻塞队列的实现原理是什么?如何使用 阻塞队列来实现生产者-消费者模型?
    说说对 SQL 语句优化有哪些方法?(选择几条)
    什么是 Executors 框架?
    Java Concurrency API 中的 Lock 接口(Lock interface) 是什么?对比同步它有什么优势?
    什么是原子操作?在 Java Concurrency API 中有哪些原 子类(atomic classes)?
    Java 中你怎样唤醒一个阻塞的线程?
    你将如何使用 thread dump?你将如何分析 Thread dump?
  • 原文地址:https://www.cnblogs.com/cheyunhua/p/15098713.html
Copyright © 2011-2022 走看看