データベースモニタリングを設定すると、Agent は対応するインテグレーションのドキュメントで説明されたすべてのメトリクスを収集します。これには、データベースの状態、イベント、フェイルオーバー、接続、バッファプール、に関するメトリクスの他、データベースモニタリングが使用するクエリパフォーマンスのメトリクスが含まれます。
これは、ダッシュボード、モニター、ノートブックをはじめ、メトリクスを使用するあらゆる場所で使用される、Datadog の標準的なメトリクスです。
収集されたメトリクスの完全なリストを表示するには、データベース製品のインテグレーションデータ収集ドキュメントセクションを参照してください。
データベースモニタリングビューに使用されるメトリクスは、主に次のとおりです。
- MySQL:
mysql.queries.*
- Postgres:
postgresql.queries.*
- SQL Server:
sqlserver.queries.*
- Oracle:
oracle.queries.*
正規化クエリ
データベースモニタリングでは、冗長な情報を排除し、パフォーマンスの傾向を把握するために、パラメーターが異なる同一のクエリを難読化し、グループ化しています。これらのクエリグループは、正規化クエリと呼ばれ、クエリダイジェストと呼ばれることもあります。Datadog は、クエリ量に厳しい制限を設けるのではなく、データベースホストごとに 200 の正規化クエリをサポートしています。また、このプロセスにより、機密データが観測可能性ツールに漏れることがないようにします。
例えば、同じテーブルから id でデータを取得するクエリを多く見かけることがあります。
SELECT * FROM customers WHERE id = 13345;
SELECT * FROM customers WHERE id = 24435;
SELECT * FROM customers WHERE id = 34322;
これらは、パラメーターを ?
に置き換えた正規化クエリとして一緒に表示されます。
SELECT * FROM customers WHERE id = ?
複数のパラメーターを持つクエリも同じパターンになります。
SELECT * FROM timeperiods WHERE start >= '2022-01-01' AND end <= '2022-12-31' AND num = 5
上記のクエリに特定のパラメーターを指定すると、以下のように難読化されたバージョンになります。
SELECT * FROM timeperiods WHERE start >= ? AND end <= ? AND num = ?
機密情報
データベースモニタリング Agent はクエリを正規化するため、Datadog インテークに送信されたすべてのクエリのバインドパラメータを難読化します。このため、データベースに保存されているパスワード、PII (個人を特定できる情報) などの機密情報は、クエリのメトリクス、クエリサンプル、または説明プランで表示不可能になります。
ただし、一般にデータリスクの共通ソースもあります。
データベーススキーマ
テーブル名、列名、インデックス名、データベース名などのスキーマに機密情報が含まれる場合、このデータは難読化されません。データベーススキーマが機密とされる場合は稀ですが、このようなデータタイプに難読化は適用されないことにご留意ください。
データベースログ
データベースから Datadog にログを送信する際は、一部のログにはクエリのバインドパラメーターを含む完全な SQL クエリ文字列が含まれることにご留意ください。組織の要件に合ったログのセキュリティルールを確認し適用してください。
クエリコメント
SQL クエリコメントが Agent により収集され、難読化をパススルーせずに Datadog へ送信される場合があります。通常、SQL クエリコメントは機密情報を含みませんが、クエリ SQL から抽出されたコメントは難読化をパススルーしません。
追跡されるクエリ
Datadog データベースモニタリングでは、ホストでの実行にかかった合計時間により計測された正規化されたクエリの上位 200 件のクエリ当たりのメトリクスを収集します。この上限は、各コレクションのインターバル (デフォルトで 10 秒) にのみ適用されるため、追跡されるクエリの合計数は、長時間に構成された上限を上回ります。
クエリサンプルには、追跡される一意の正規化されたクエリ数の上限はありませんが、サンプリングには遅いまた頻度の高いクエリに対して偏りがあります。選択されたクエリサンプルに、関連するクエリメトリクスがない場合もあります。これは、短期間にクエリが遅かった、または頻度が高かったものの、トップクエリになるほど保持されなかった場合に見られます。
その他のクエリ
その他のクエリ とは、上位 200 件に表れなかったすべてのクエリのメトリクスのことです。クエリは、ある時間枠にトップクエリでも他ではトップクエリでないため、特定のクエリのメトリクスは別の正規化されたクエリとして追跡され、他の時間はその他のクエリとしてカウントされます。