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(1024バイト) — これを増やします。互換性と前提条件を参照してください。 |
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が存在しません;デフォルトの(レガシー)リソースモデルでは、レシーバー単独でこれらを出力しません。 |