AlloyDB Omni モニタリング ツールを使用する

ドキュメントのバージョンを選択してください。

このページでは、AlloyDB Omni インスタンスのモニタリングに使用できるツールについて説明します。

モニタリング ツール

次の表は、AlloyDB Omni インスタンスをモニタリングするために選択、インストールできるツールをまとめたものです。

目的 使用 説明
パフォーマンスと可用性をモニタリングする Datadog AlloyDB Omni インスタンスのパフォーマンス、可用性、健全性をモニタリングします。
インスタンスからオブザーバビリティ データをエクスポートする Postgres Exporter オブザーバビリティ クエリの結果をエクスポートします。Postgres Exporter のインストール
読み取り可能な形式でオブザーバビリティ データを取得する Prometheus オブザーバビリティ データを読み取り可能な形式で返すモニタリング システム。Prometheus のインストール
ダッシュボードにデータを表示する Grafana 指標を表示するダッシュボードを作成します。Grafana のインストール
パフォーマンス データを取得して分析する Performance Snapshot Report パフォーマンス データを取得して、パフォーマンスの問題の原因を特定します。

Postgres Exporter をインストールする

Postgres Exporter は、モニタリング システムである Prometheus が読み取れる形式でオブザーバビリティ クエリをエクスポートするツールです。このエクスポータには多くの標準クエリが組み込まれており、ニーズに応じてクエリとルールを追加できます。SSL やユーザー認証などの追加のセキュリティ オプションも構成できます。この例では、基本的な構成オプションのみを使用します。

インストール

  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 Exporter を展開します。

    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. 1 つ以上のデータベースをモニタリングするには、データソースを /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

Postgres Exporter は、次の URL で利用できるようになります。

http://POSTGRES_EXPORTER_HOST_IP_ADDRESS:POSTGRES_EXPORTER_PORT/metrics

次の変数を置き換えます。

  • POSTGRES_EXPORTER_HOST_IP_ADDRESS: マシンの IP アドレス。
  • POSTGRES_EXPORTER_PORT: 手順 7 で使用したポート。

Prometheus

Prometheus は、Postgres Exporter にクエリを実行し、読み取り可能な形式でオブザーバビリティ データを返すことができるモニタリング システムです。

インストール

  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 Exporter には複数の標準ダッシュボードが用意されています。このオブザーバビリティの例では、利用可能なダッシュボードを利用しています。Grafana は通常の apt リポジトリと yum リポジトリで入手できます。このプロダクトのインストールには、これらのリポジトリを使用します。

インストール

  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 の [Install] セクションの URL アドレスを使用して、Grafana コンソールを開きます。デフォルトのユーザー名とパスワードは admin です。

    2. デフォルトのパスワードを変更します。

    3. Prometheus データソースが追加されていない場合は、[Home] > [Data sources] に移動します。

    4. [Add new data source] をクリックします。

    5. [Prometheus] を選択します。

    6. [Prometheus server URL] フィールドに、Prometheus の [Install] セクションの URL アドレスを入力します。

    7. 次の構成設定を変更します。

      • Prometheus type: [Prometheus] を選択します。
      • Prometheus version: [> 2.5.x] を選択します。
    8. [Save & test] をクリックします。

  2. 新しいダッシュボードを作成します。

    1. [Home] > [Dashboards] に移動します。

    2. [New] をクリックします。

    3. [New dashboard] を選択します。

    4. [Import dashboard] をクリックします。

    5. URL https://grafana.com/grafana/dashboards/13494-postgresql-statistics/ を入力します。

    6. [Load] をクリックします。

    7. ダッシュボードの名前PRODUCT_NAME PostgreSQL statistics に変更します。

      PRODUCT_NAME は、実際のプロジェクトの名前に置き換えます。

    8. [Prometheus] フィールドからデータソースを選択します。

    9. [Import] をクリックします。

Performance Snapshot Report

Performance Snapshot Report は、パフォーマンス データをキャプチャして分析し、パフォーマンスの問題の原因を特定しやすくする AlloyDB Omni の組み込みツールです。このツールは、インスタンスに関するリアルタイム指標を提供するシステム分析情報Query InsightsMetrics Explorer などの AlloyDB Omni オブザーバビリティ機能と連携します。

詳細については、パフォーマンス スナップショットを比較してデータベースのパフォーマンスを最適化するをご覧ください。