NRDOT Collectorを使用してPostgreSQLを監視する際に発生する可能性のある一般的な問題をトラブルシューティングします。
接続をテストする
PostgreSQLへのネットワーク接続をテストします。
bash
$psql --host=<YOUR_DB_HOST> --port=<YOUR_DB_PORT> --username=<YOUR_DB_USERNAME> --dbname=<YOUR_DATABASE_NAME> --command 'SELECT 1;'接続に成功し、結果が得られれば、コレクター自体のトラブルシューティングを行う前に、監視ユーザー、ホスト、およびポートに到達可能であることを確認できます。
OTLPエンドポイントの接続テスト
NRDOT CollectorがNew Relic OTLPエンドポイントに到達できることを確認してください:
bash
$curl -v <YOUR_NEWRELIC_OTLP_ENDPOINT>よくある症状
| 症状 | 考えられる原因 |
|---|---|
db.server.query_sample/db.server.top_queryイベントはありません | レシーバーの設定でeventsブロックが有効になっていません(デフォルトでは両方ともオフです) |
db.server.top_query 完全に欠落しているイベント | pg_stat_statements そのデータベースに拡張機能が作成されていません |
db.server.query_sample ブロッキング・セッションの詳細の欠落 | 監視ユーザーに不足している pg_monitor |
長いクエリが切り捨てられる db.server.query_sample | デフォルト track_activity_query_size (1,024バイト);値を上げてください。互換性と前提条件を参照してください |
postgresql.function.calls 常に空、またはダッシュボードの"Function Calls/min"ウィジェットが空 | track_functions 内でplまたはallに設定されていない postgresql.conf |
| メトリクスが流れているにもかかわらず、いくつかのダッシュボードウィジェットが空です | これらのメトリクスはデフォルトで無効になっています;「メトリクスリファレンス」をご覧ください。 |
db.query.comment_tags.nr_service_guid 常に空 | allowed_comment_keys: [nr_service_guid] query_sample_collection/top_query_collectionには設定されていません;デフォルトでは空です |
| 一部のテーブルでテーブル/インデックス/関数のメトリクスが欠落している | 監視ユーザーには、それらのテーブル/スキーマに対するSELECTが不足しています;pg_monitorはオブジェクトレベルではなく、統計の可視性を付与します SELECT |
postgresql.wal.lag /.wal.ageが欠落している | 少なくとも1つの接続されたレプリカでWALが有効になっている必要があります;スタンドアロン/ソースのみのインスタンスではゼロにはならず、暗黙的に省略されます。 |
| PostgreSQLエンティティが表示されない、またはEntity Explorerでアプリ→PostgreSQLの関係が解決されません | server.addressリソースに/server.portが存在しません;デフォルトの(レガシー)リソースモデルでは、レシーバー単独でこれらを出力しません。 |
New Relicにデータが表示されない
レート制限に関連する問題を確認するには、次を実行します:
SELECT * FROM NrIntegrationErrorそれでもデータが流れない場合は、メトリクスおよびログイベントにドロップルールが設定されているかどうかを確認してください。ドロップフィルタールールによるログデータのドロップおよびPipelineコントロールをご覧ください。