AlloyDB Omni 모니터링 도구 선택 및 설치

이 페이지에는 AlloyDB Omni 인스턴스를 모니터링하는 데 사용할 수 있는 도구가 나와 있습니다.

모니터링 도구

다음 표에는 AlloyDB Omni 인스턴스를 모니터링하는 데 사용할 수 있는 도구가 나와 있습니다.

받는사람 사용 설명
성능 및 가용성 모니터링 Datadog AlloyDB Omni 인스턴스의 성능, 가용성, 상태를 모니터링합니다.
인스턴스에서 관측 가능성 데이터 내보내기 Postgres 내보내기 도구 관측 가능성 쿼리의 결과를 내보냅니다. Postgres 내보내기 도구 설치하기
읽을 수 있는 형식의 관측 가능성 데이터 검색 Prometheus 관측 가능성 데이터를 읽을 수 있는 형식으로 반환하는 모니터링 시스템 Prometheus 설치하기
대시보드에 데이터 표시 Grafana 측정항목을 표시할 대시보드를 만듭니다. Grafana 설치하기
분석을 위한 실적 데이터 가져오기 실적 스냅샷 보고서 성능 데이터를 검색하여 성능 문제의 원인을 파악합니다.

Postgres 내보내기 도구 설치

Postgres Exporter는 모니터링 시스템인 Prometheus가 읽을 수 있는 형식으로 관측 가능성 쿼리를 내보내는 도구입니다. 내보내기 도구에는 많은 표준 쿼리가 내장되어 있으며 필요에 따라 쿼리와 규칙을 추가할 수 있습니다. SSL 및 사용자 인증과 같은 추가 보안 옵션도 구성할 수 있습니다. 이 예에서는 기본 구성 옵션만 사용됩니다.

Postgres Exporter를 설치하려면 다음 단계를 따르세요.

  1. Postgres Exporter의 디렉터리를 만듭니다.

    sudo mkdir /opt/postgres_exporter
    sudo chown USER_ACCOUNT:USER_ACCOUNT /opt/postgres_exporter
    cd /opt/postgres_exporter
  2. Postgres Exporter를 다운로드합니다.

    wget https://github.com/prometheus-community/postgres_exporter/releases/download/v0.15.0/postgres_exporter-0.15.0.linux-amd64.tar.gz
    
  3. Postgres 내보내기 도구를 추출합니다.

    tar -xzvf postgres_exporter-0.15.0.linux-amd64.tar.gz
    
  4. Postgres Exporter를 만든 디렉터리에 복사합니다.

    cd postgres_exporter-0.15.0.linux-amd64
    sudo cp postgres_exporter /usr/local/bin
  5. Postgres Exporter에 적절한 .env 파일을 만듭니다.

    cd /opt/postgres_exporter
    sudo vi postgres_exporter.env
  6. /opt/postgres_exporter/postgres_exporter.env에 데이터 소스를 추가하여 하나 이상의 데이터베이스를 모니터링합니다.

    단일 데이터베이스를 모니터링하려면 다음 줄을 추가합니다.

    DATA_SOURCE_NAME="postgresql://USERNAME:PASSWORD@POSTGRES_IP_ADDRESS:PORT/DATABASE_NAME?sslmode=disable"
    

    모든 데이터베이스를 모니터링하려면 다음 줄을 추가합니다.

    DATA_SOURCE_NAME="postgresql://USERNAME:PASSWORD@POSTGRES_IP_ADDRESS:PORT/?sslmode=disable"
    

    다음 변수를 바꿉니다.

    • USERNAME: 데이터베이스에 로그인할 사용자 이름입니다.
    • PASSWORD: 사용자 계정의 비밀번호입니다.
    • POSTGRES_IP_ADDRESS: AlloyDB Omni 인스턴스의 IP 주소입니다.
    • PORT: 데이터베이스가 호스팅되는 포트입니다.
    • DATABASE_NAME: 데이터베이스의 이름입니다.
  7. Postgres Exporter가 재부팅 후에도 유지되도록 /etc/systemd/system/postgres_exporter.service에 다음 정보를 추가합니다.

    [Unit]
    Description=Prometheus exporter for Postgresql
    Wants=network-online.target
    After=network-online.target
    [Service]
    User=postgres
    Group=postgres
    WorkingDirectory=/opt/postgres_exporter
    EnvironmentFile=/opt/postgres_exporter/postgres_exporter.env
    ExecStart=/usr/local/bin/postgres_exporter --web.listen-address=:POSTGRES_EXPORTER_PORT --web.telemetry-path=/metrics
    Restart=always
    [Install]
    WantedBy=multi-user.target
    

    다음 변수를 바꿉니다.

    • POSTGRES_EXPORTER_PORT: Postgres Exporter가 호스팅되는 포트입니다. 9187 포트를 사용하는 것이 좋습니다.
  8. Postgres Exporter를 새로고침합니다.

    sudo systemctl daemon-reload
    
  9. Postgres Exporter를 시작합니다.

    sudo systemctl start postgres_exporter
    sudo systemctl enable postgres_exporter
    sudo systemctl status postgres_exporter

이제 다음 URL에서 Postgres Exporter를 사용할 수 있습니다.

http://POSTGRES_EXPORTER_HOST_IP_ADDRESS:POSTGRES_EXPORTER_PORT/metrics

다음 변수를 바꿉니다.

  • POSTGRES_EXPORTER_HOST_IP_ADDRESS: 머신의 IP 주소입니다.
  • POSTGRES_EXPORTER_PORT: 7단계에서 사용한 포트입니다.

Prometheus 설치

Prometheus는 Postgres Exporter를 쿼리하고 가독성 있는 형식으로 관측 가능성 데이터를 반환하는 데 사용할 수 있는 모니터링 시스템입니다.

Prometheus를 설치하려면 다음 단계를 따르세요.

  1. prometheus 사용자를 만듭니다.

    sudo groupadd --system prometheus
    sudo useradd -s /sbin/nologin --system -g prometheus prometheus
  2. Prometheus의 디렉터리를 만듭니다.

    sudo mkdir /etc/prometheus
    sudo mkdir /var/lib/prometheus
  3. Prometheus를 다운로드합니다.

    wget https://github.com/prometheus/prometheus/releases/download/v2.52.0/prometheus-2.52.0.linux-amd64.tar.gz
    
  4. Prometheus를 추출합니다.

    sudo tar xvf prometheus*.tar.gz
    cd prometheus*/
    sudo mv prometheus /usr/local/bin
    sudo mv promtool /usr/local/bin
  5. Prometheus의 소유권을 prometheus 사용자로 설정합니다.

    sudo chown prometheus:prometheus /usr/local/bin/prometheus
    sudo chown prometheus:prometheus /usr/local/bin/promtool
  6. 구성 파일을 올바른 위치로 이동합니다.

    sudo mv consoles /etc/prometheus
    sudo mv console_libraries /etc/prometheus
    sudo mv prometheus.yml /etc/prometheus
  7. Prometheus 디렉터리의 소유권을 prometheus 사용자로 설정합니다.

    sudo chown prometheus:prometheus /etc/prometheus
    sudo chown prometheus:prometheus /etc/prometheus/*
    sudo chown -R prometheus:prometheus /etc/prometheus/consoles
    sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries
    sudo chown -R prometheus:prometheus /var/lib/prometheus
  8. Prometheus가 Postgres Exporter를 쿼리할 수 있도록 /etc/prometheus/prometheus.yml에 다음 정보를 추가합니다.

    global:
      scrape_interval: 15s
    
    scrape_configs:
    - job_name: postgres
      static_configs:
      - targets: ['POSTGRES_EXPORTER_MACHINE_IP_ADDRESS:9187']
    
  9. Prometheus가 재부팅 후에도 유지되도록 /etc/systemd/system/prometheus.service에 다음 정보를 추가합니다.

    [Unit]
    Description=Prometheus
    Wants=network-online.target
    After=network-online.target
    
    [Service]
    User=prometheus
    Group=prometheus
    Type=simple
    ExecStart=/usr/local/bin/prometheus \
        --config.file /etc/prometheus/prometheus.yml \
        --storage.tsdb.path /var/lib/prometheus/ \
        --web.console.templates=/etc/prometheus/consoles \
        --web.console.libraries=/etc/prometheus/console_libraries
    
    [Install]
    WantedBy=multi-user.target
    
  10. Prometheus를 새로고침합니다.

    sudo systemctl daemon-reload
    
  11. Prometheus를 시작합니다.

    sudo systemctl start prometheus
    sudo systemctl enable prometheus
    sudo systemctl status prometheus

이제 다음 URL에서 Prometheus를 사용할 수 있습니다.

http://PROMETHEUS_HOST_IP_ADDRESS:9090

다음 변수를 바꿉니다.

  • PROMETHEUS_HOST_IP_ADDRESS: 머신의 IP 주소입니다.

Grafana 설치

Grafana는 대시보드를 통해 Prometheus 측정항목을 최종 사용자에게 노출하는 대시보드 도구입니다. Postgres 내보내기 도구에는 여러 표준 대시보드가 제공되며 이 관측 가능성 예에서는 이러한 대시보드를 활용합니다. Grafana는 일반 aptyum 저장소를 통해 제공되며 이를 사용하여 이 제품을 설치합니다.

Grafana를 설치하려면 다음 단계를 따르세요.

  1. Grafana를 설치합니다.

    Ubuntu 및 Debian 시스템의 경우 다음 명령어를 실행합니다.

    sudo apt-get update
    sudo apt-get install grafana

    RHEL, CentOS 또는 Rocky Linux 시스템의 경우 다음 작업을 완료합니다.

    1. GPG 키를 가져옵니다.

      wget -q -O gpg.key https://rpm.grafana.com/gpg.key
      sudo rpm --import gpg.key
    2. 다음 콘텐츠로 /etc/yum.repos.d/grafana.repo 파일을 만듭니다.

      [grafana]
      name=grafana
      baseurl=https://rpm.grafana.com
      repo_gpgcheck=1
      enabled=1
      gpgcheck=1
      gpgkey=https://rpm.grafana.com/gpg.key
      sslverify=1
      sslcacert=/etc/pki/tls/certs/ca-bundle.crt
      
    3. Grafana를 설치합니다.

      sudo dnf install grafana
      
  2. Grafana를 새로고침합니다.

    sudo systemctl daemon-reload
    
  3. Grafana를 시작합니다.

    sudo systemctl start grafana-server
    sudo systemctl enable grafana-server
    sudo systemctl status grafana-server

이제 다음 URL에서 Grafana를 사용할 수 있습니다.

http://GRAFANA_HOST_IP_ADDRESS:9090

다음 변수를 바꿉니다.

  • GRAFANA_HOST_IP_ADDRESS: 머신의 IP 주소입니다.

대시보드 로드

Grafana를 구성하고 운영하는 방법에 관한 일반적인 안내는 Grafana 설정을 참고하세요. 사용 가능한 공개 대시보드가 많지만 다음 PostgreSQL 통계 대시보드를 사용하는 것이 좋습니다.

대시보드를 로드하려면 다음 단계를 따르세요.

  1. Grafana를 설정합니다.

    1. Grafana의 설치 섹션에 있는 URL 주소를 사용하여 Grafana 콘솔을 엽니다. 기본 사용자 이름과 비밀번호는 admin입니다.

    2. 기본 비밀번호를 변경합니다.

    3. Prometheus 데이터 소스가 추가되지 않은 경우 > 데이터 소스로 이동합니다.

    4. 새 데이터 소스 추가를 클릭합니다.

    5. Prometheus를 선택합니다.

    6. Prometheus 서버 URL 필드에 Prometheus의 설치 섹션에 있는 URL 주소를 입력합니다.

    7. 다음 구성 설정을 변경합니다.

      • Prometheus 유형: Prometheus를 선택합니다.
      • Prometheus 버전: 2.5.x 이상을 선택합니다.
    8. 저장 및 테스트를 클릭합니다.

  2. 새 대시보드를 만듭니다.

    1. > 대시보드로 이동합니다.

    2. New(새로 만들기)를 클릭합니다.

    3. 새 대시보드를 선택합니다.

    4. 대시보드 가져오기를 클릭합니다.

    5. 다음 URL을 입력합니다.https://grafana.com/grafana/dashboards/13494-postgresql-statistics/

    6. 로드를 클릭합니다.

    7. 대시보드의 이름PRODUCT_NAME PostgreSQL statistics로 변경합니다.

      PRODUCT_NAME을 제품 이름으로 바꿉니다.

    8. Prometheus 필드에서 데이터 소스를 선택합니다.

    9. 가져오기를 클릭합니다.

실적 개요 보고서

성능 스냅샷 보고서는 성능 데이터를 캡처하고 분석하여 성능 문제의 원인을 파악하는 데 도움이 되는 내장된 AlloyDB Omni 도구입니다. 이 도구는 인스턴스에 관한 실시간 측정항목을 제공하는 시스템 통계, 쿼리 통계, 측정항목 탐색기와 같은 다른 AlloyDB Omni 관찰 가능성 기능을 보완합니다.

자세한 내용은 성능 스냅샷 비교를 통해 데이터베이스 성능 최적화를 참고하세요.