AlloyDB Omni モニタリング ツールを選択してインストールする

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

モニタリング ツール

次の表に、AlloyDB Omni インスタンスのモニタリングに使用できるツールを示します。

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

Postgres エクスポータをインストールする

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

Postgres Exporter をインストールする手順は次のとおりです。

  1. Postgres エクスポータのディレクトリを作成します。

    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 エクスポータを作成したディレクトリにコピーします。

    cd postgres_exporter-0.15.0.linux-amd64
    sudo cp postgres_exporter /usr/local/bin
  5. Postgres エクスポータに適した .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 エクスポータを再読み込みします。

    sudo systemctl daemon-reload
    
  9. Postgres エクスポータを起動します。

    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 にクエリを実行し、読み取り可能な形式でオブザーバビリティ データを返すことができるモニタリング システムです。

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 は通常の apt リポジトリと yum リポジトリで入手できます。このプロダクトのインストールには、これらのリポジトリを使用します。

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 type: [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 の他のオブザーバビリティ機能と連携します。

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