이 페이지에는 AlloyDB Omni 인스턴스를 모니터링하는 데 사용할 수 있는 도구가 나와 있습니다.
모니터링 도구
다음 표에는 AlloyDB Omni 인스턴스를 모니터링하는 데 사용할 수 있는 도구가 나와 있습니다.
받는사람 | 사용 | 설명 |
---|---|---|
성능 및 가용성 모니터링 | Datadog | AlloyDB Omni 인스턴스의 성능, 가용성, 상태를 모니터링합니다. |
인스턴스에서 관측 가능성 데이터 내보내기 | Postgres 내보내기 도구 | 관측 가능성 쿼리의 결과를 내보냅니다. Postgres 내보내기 도구 설치하기 |
읽을 수 있는 형식의 관측 가능성 데이터 검색 | Prometheus | 관측 가능성 데이터를 읽을 수 있는 형식으로 반환하는 모니터링 시스템 Prometheus 설치하기 |
대시보드에 데이터 표시 | Grafana | 측정항목을 표시할 대시보드를 만듭니다. Grafana 설치하기 |
분석을 위한 실적 데이터 가져오기 | 실적 스냅샷 보고서 | 성능 데이터를 검색하여 성능 문제의 원인을 파악합니다. |
Postgres 내보내기 도구 설치
Postgres Exporter는 모니터링 시스템인 Prometheus가 읽을 수 있는 형식으로 관측 가능성 쿼리를 내보내는 도구입니다. 내보내기 도구에는 많은 표준 쿼리가 내장되어 있으며 필요에 따라 쿼리와 규칙을 추가할 수 있습니다. SSL 및 사용자 인증과 같은 추가 보안 옵션도 구성할 수 있습니다. 이 예에서는 기본 구성 옵션만 사용됩니다.
Postgres Exporter를 설치하려면 다음 단계를 따르세요.
Postgres Exporter의 디렉터리를 만듭니다.
sudo mkdir /opt/postgres_exporter
sudo chown USER_ACCOUNT:USER_ACCOUNT /opt/postgres_exporter
cd /opt/postgres_exporter
Postgres Exporter를 다운로드합니다.
wget https://github.com/prometheus-community/postgres_exporter/releases/download/v0.15.0/postgres_exporter-0.15.0.linux-amd64.tar.gz
Postgres 내보내기 도구를 추출합니다.
tar -xzvf postgres_exporter-0.15.0.linux-amd64.tar.gz
Postgres Exporter를 만든 디렉터리에 복사합니다.
cd postgres_exporter-0.15.0.linux-amd64
sudo cp postgres_exporter /usr/local/bin
Postgres Exporter에 적절한
.env
파일을 만듭니다.cd /opt/postgres_exporter
sudo vi postgres_exporter.env
/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
: 데이터베이스의 이름입니다.
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
포트를 사용하는 것이 좋습니다.
Postgres Exporter를 새로고침합니다.
sudo systemctl daemon-reload
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를 설치하려면 다음 단계를 따르세요.
prometheus
사용자를 만듭니다.sudo groupadd --system prometheus
sudo useradd -s /sbin/nologin --system -g prometheus prometheus
Prometheus의 디렉터리를 만듭니다.
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus
Prometheus를 다운로드합니다.
wget https://github.com/prometheus/prometheus/releases/download/v2.52.0/prometheus-2.52.0.linux-amd64.tar.gz
Prometheus를 추출합니다.
sudo tar xvf prometheus*.tar.gz
cd prometheus*/
sudo mv prometheus /usr/local/bin
sudo mv promtool /usr/local/bin
Prometheus의 소유권을
prometheus
사용자로 설정합니다.sudo chown prometheus:prometheus /usr/local/bin/prometheus
sudo chown prometheus:prometheus /usr/local/bin/promtool
구성 파일을 올바른 위치로 이동합니다.
sudo mv consoles /etc/prometheus
sudo mv console_libraries /etc/prometheus
sudo mv prometheus.yml /etc/prometheus
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
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']
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
Prometheus를 새로고침합니다.
sudo systemctl daemon-reload
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는 일반 apt
및 yum
저장소를 통해 제공되며 이를 사용하여 이 제품을 설치합니다.
Grafana를 설치하려면 다음 단계를 따르세요.
Grafana를 설치합니다.
Ubuntu 및 Debian 시스템의 경우 다음 명령어를 실행합니다.
sudo apt-get update
sudo apt-get install grafana
RHEL, CentOS 또는 Rocky Linux 시스템의 경우 다음 작업을 완료합니다.
GPG 키를 가져옵니다.
wget -q -O gpg.key https://rpm.grafana.com/gpg.key
sudo rpm --import gpg.key
다음 콘텐츠로
/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
Grafana를 설치합니다.
sudo dnf install grafana
Grafana를 새로고침합니다.
sudo systemctl daemon-reload
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 통계 대시보드를 사용하는 것이 좋습니다.
대시보드를 로드하려면 다음 단계를 따르세요.
Grafana를 설정합니다.
Grafana의 설치 섹션에 있는 URL 주소를 사용하여 Grafana 콘솔을 엽니다. 기본 사용자 이름과 비밀번호는
admin
입니다.기본 비밀번호를 변경합니다.
Prometheus 데이터 소스가 추가되지 않은 경우 홈 > 데이터 소스로 이동합니다.
새 데이터 소스 추가를 클릭합니다.
Prometheus를 선택합니다.
Prometheus 서버 URL 필드에 Prometheus의 설치 섹션에 있는 URL 주소를 입력합니다.
다음 구성 설정을 변경합니다.
- Prometheus 유형: Prometheus를 선택합니다.
- Prometheus 버전: 2.5.x 이상을 선택합니다.
저장 및 테스트를 클릭합니다.
새 대시보드를 만듭니다.
홈 > 대시보드로 이동합니다.
New(새로 만들기)를 클릭합니다.
새 대시보드를 선택합니다.
대시보드 가져오기를 클릭합니다.
다음 URL을 입력합니다.https://grafana.com/grafana/dashboards/13494-postgresql-statistics/
로드를 클릭합니다.
대시보드의 이름을
PRODUCT_NAME PostgreSQL statistics
로 변경합니다.PRODUCT_NAME
을 제품 이름으로 바꿉니다.Prometheus 필드에서 데이터 소스를 선택합니다.
가져오기를 클릭합니다.
실적 개요 보고서
성능 스냅샷 보고서는 성능 데이터를 캡처하고 분석하여 성능 문제의 원인을 파악하는 데 도움이 되는 내장된 AlloyDB Omni 도구입니다. 이 도구는 인스턴스에 관한 실시간 측정항목을 제공하는 시스템 통계, 쿼리 통계, 측정항목 탐색기와 같은 다른 AlloyDB Omni 관찰 가능성 기능을 보완합니다.
자세한 내용은 성능 스냅샷 비교를 통해 데이터베이스 성능 최적화를 참고하세요.