• /
  • EnglishEspañolFrançais日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

セルフホスト型PostgreSQL監視用のNRDOT Collectorのインストールと設定

プレビュー

この機能はまだ開発中ですが、ぜひお試しください。

この機能は現在、弊社のプレリリース ポリシーに従ってプレビューの一部として提供されています。

物理サーバー、仮想マシン、およびスタンドアロンのインストレーションを含むセルフホスト環境で、NRDOT Collectorを使用してPostgreSQLの監視を設定してください。

前提条件

インストールする前に、以下のものがあることを確認してください:

NRDOT Collectorのセットアップ

システムにNRDOT Collectorをインストールします:

データベースユーザーと権限を設定する

PostgreSQLインスタンスに必要な権限を持つ監視ユーザーを作成します。

監視ユーザーと権限を作成するには:

  1. スーパーユーザー、または必要な権限を持つ別のユーザーとしてPostgreSQLインスタンスに接続します:

    bash
    $
    sudo -u postgres psql --dbname=postgres --port=5432
  2. 監視ユーザーを作成する:

    CREATE USER <YOUR_DB_USERNAME> WITH LOGIN PASSWORD '<YOUR_DB_PASSWORD>';
  3. 必要に応じて、監視ユーザーロールのメンバーシップを付与する:

  • PostgreSQL 15以降を使用している場合は、権限を継承するようにロールを割り当てます:

    ALTER ROLE <YOUR_DB_USERNAME> INHERIT;

    ヒント

    PostgreSQL 14を使用している場合、監視ユーザーはデフォルトで権限を継承するため、この手順をスキップできます。

  • 監視するすべてのデータベースに次のスキーマと権限を作成します:

    CREATE SCHEMA IF NOT EXISTS otel;
    GRANT USAGE ON SCHEMA otel TO <YOUR_DB_USERNAME>;
    GRANT USAGE ON SCHEMA public TO <YOUR_DB_USERNAME>;
    GRANT SELECT ON ALL TABLES IN SCHEMA public TO <YOUR_DB_USERNAME>;
    GRANT pg_monitor TO <YOUR_DB_USERNAME>;
    CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
  • (オプション)ベクトルメトリクスを収集するには、各データベースでpgvector拡張機能を作成します:

    CREATE EXTENSION IF NOT EXISTS vector;

    l1hamming、およびjaccardの距離関数には、pgvectorバージョン0.7.0以降が必要です。

  • (オプション)接続と権限を確認するには、次を実行します:

    bash
    $
    psql --username=<YOUR_DB_USERNAME> --host=localhost --port=5432 --dbname=<YOUR_DATABASE_NAME> --command '\conninfo'
    $
    psql --username=<YOUR_DB_USERNAME> --host=localhost --port=5432 --dbname=<YOUR_DATABASE_NAME> \
    >
    -c "SELECT * FROM pg_stat_database LIMIT 1;" && echo "pg_stat_database OK"
    >
    psql --username=<YOUR_DB_USERNAME> --host=localhost --port=5432 --dbname=<YOUR_DATABASE_NAME> \
    >
    -c "SELECT * FROM pg_stat_activity LIMIT 1;" && echo "pg_stat_activity OK"
    >
    psql --username=<YOUR_DB_USERNAME> --host=localhost --port=5432 --dbname=<YOUR_DATABASE_NAME> \
    >
    -c "SELECT * FROM pg_stat_statements LIMIT 1;" && echo "pg_stat_statements OK"

    各コマンドがエラーなしで完了した場合、監視ユーザー、ホスト、およびポートはすべて正しいです。

NRDOT Collectorを構成する

PostgreSQL固有の設定を使用してNRDOT Collectorを設定します。監視ニーズに基づいて設定タイプを選択します:

設定パラメーター

次の表は、 nrpostgresql受信機のキー設定を説明しています。

パラメータ説明
<YOUR_DB_HOST>PostgreSQLデータベースのホスト名を入力してください。
<YOUR_DB_PORT>PostgreSQLデータベースのポートを入力します。
<YOUR_DB_USERNAME>データベースのユーザー名を入力してください。
<YOUR_DB_PASSWORD>データベースのパスワードを入力してください。
<YOUR_DATABASE_NAME>監視するデータベースの名前を入力します。
<YOUR_NEWRELIC_OTLP_ENDPOINT>New Relic OTLPエンドポイントを入力します。詳細については、New Relic OTLPエンドポイントを参照してください。
<YOUR_NEWRELIC_LICENSE_KEY>New Relicのライセンスキーを入力してください。
collection_intervalメトリクススクレイプの間隔を入力します。デフォルト:15s

ヒント

もできます。

  • 複数のレシーバーを設定する: 1つのコレクターから複数のPostgreSQLインスタンスをモニターする場合。
  • PostgreSQLデータベースをAPMとリンクする: アプリケーションパフォーマンスとデータベース操作を関連付けるため。これにより、どのアプリケーションが特定のデータベースワークロードを生成しているかを正確に確認できます。
  • EXPLAINプランの権限: 監視ユーザーに書き込みアクセス権を付与せずに、ロックまたは書き込みステートメントのクエリプランを収集するため。
  • SQLクエリレシーバーの設定: PostgreSQLデータベースからカスタムメトリックを収集するため。
  • シークレット管理の設定: データベースの認証情報などの機密情報を安全に管理するためです。これにより、設定ファイルに機密データをハードコーディングすることを回避し、監視設定のセキュリティを強化できます。

NRDOT Collectorの設定の検証

  1. 新しいpostgresql-config.yamlファイルを指すように設定パスを更新します:

    bash
    $
    OTELCOL_OPTIONS="/etc/nrdot-collector/postgresql-config.yaml"
  2. NRDOT Collectorの設定を検証して、正しくフォーマットされ、適切に機能することを確認します:

    bash
    $
    sudo /usr/bin/nrdot-collector validate --config=/etc/nrdot-collector/postgresql-config.yaml

NRDOT Collectorを再起動します

コレクターを設定した後、NRDOT Collectorサービスを再起動して変更を適用します:

bash
$
sudo systemctl restart nrdot-collector

コレクターが正常に実行されていることを確認するには、サービスステータスを確認します:

bash
$
sudo systemctl status nrdot-collector

ヒント

新しい設定を確実に適用するために、設定を変更した後は常にNRDOT Collectorを再起動してください。

データを探す、使う

クエリのサンプルと上位のクエリは、ログイベント(event.name = 'db.server.query_sample'/'db.server.top_query'db.system.name = 'postgresql')として到着します。メトリクスはpostgresql.*ネームスペースの下に到着します。

New RelicでPostgreSQLデータベースエンティティを見つけるには:

  1. https://one.newrelic.com > All Capabilities > Databasesに移動します。
  2. Entity typeドロップダウンからPostgreSQL instanceを選択し、Applyをクリックします。
  3. エンティティのリストからPostgreSQLデータベースを選択します。

PostgreSQLデータベースをAPMとリンクします。

アプリケーションパフォーマンスとデータベース操作を関連付ける方法を学習します。

トラブルシューティングガイド

PostgreSQL監視に関する一般的な問題のトラブルシューティング方法について説明します。

メトリクスリファレンス

NRDOT Collectorによって収集される利用可能なメトリクスについて説明します。

Copyright © 2026 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.