Virtual DataPort モニター¶
Virtual DataPort サーバーに固有の複数のモニターがあります (Denodo Platform の他のモジュールにはありません)。
これらのモニターが提供する情報は、以下を対象としています。
エキスパート管理者とパワーユーザー
Diagnostic & Monitoring Tool や、 サマリの自動推奨 などの Denodo ツール。
Virtual DataPort クエリモニター および Virtual DataPort クエリデータソースモニター で生成されるデータは、特に FinOps 監視に便利であり、 Denodo ダッシュボード を使用してカスタムレポートを作成する場合に使用できます。
以下のセクションでは、これらのモニターが保存する情報について説明します。
Virtual DataPort クエリモニター¶
クエリだけではなく、Virtual DataPort によって処理されたすべてのステートメントのログを記録します。Virtual DataPort に固有のモニターで、他の Denodo サーバーの監視には使用できません。
出力は denodo-monitor/logs/vdp-queries.log
に記録され、JDBC データベースが構成されている場合は request_notification
テーブルに記録されます。
以下の表は、このモニターが生成する情報について説明しています。
列名 |
説明 |
---|---|
ServerName |
ログが記録されるサーバーの論理名。デフォルト値は vdp です。 |
Host |
監視対象の Virtual DataPort サーバーのホスト名または IP アドレス。 |
Port |
監視対象の Virtual DataPort サーバーの JMX ポート番号。 |
Id |
クライアントが Virtual DataPort サーバーで実行するクエリの識別子。この識別子は SessionId ごとに一意です。 |
Database |
クエリが実行された Virtual DataPort データベースの名前。 |
UserName |
クエリを実行した Virtual DataPort ユーザーの名前。 |
NotificationType |
クエリ実行をトリガーした通知のタイプ。値は startRequest または endRequest のいずれかになります。 |
SessionId |
クエリが実行されたセッションの識別子。この識別子は ServerName ごとに一意です。 |
StartTime |
クエリが実行を開始した日時。 |
EndTime |
クエリが実行を終了した日時。 |
Duration |
クエリの実行時間 (ミリ秒)。 |
WaitingTime |
クエリが実行を待機した時間 (ミリ秒)。 |
NumRows |
クエリによって返される行の数。 |
State 1 |
クエリの実行のステータス。 |
Completed |
クエリの実行が終了したかどうかを示します。値は true または false のいずれかになります。 |
Cache |
キャッシュを使用してクエリが実行されたかどうかを示します。値は true または false のいずれかになります。 |
Query |
Virtual DataPort サーバーで実行された VQL クエリ。 |
RequestType 2 |
Virtual DataPort サーバーで実行されたリクエストのタイプ。 |
Elements |
クエリで使用されるエレメント: ビュー| 基本ビュー| ストアドプロシージャ| など。 |
UserAgent |
クエリを実行したクライアントのユーザーエージェント 。 |
AccessInterface |
クライアントがクエリを実行する際に使用するアクセスインターフェイスの名前。 |
ClientIP |
クエリを実行したクライアントの IP アドレス。 |
TransactionId |
クエリが実行されたトランザクションの一意の識別子。 |
WebServiceName |
クエリを実行した Web サービスの名前。 |
EstimatedQueryCost |
コストオプティマイザーが有効で、ビューの統計が利用可能な場合、この値は、オプティマイザーによって計算されたクエリ実行全体の推定コストです。 |
GlobalSecurityPoliciesApplied |
(Denodo 9): クエリに適用されるグローバルセキュリティポリシー。 |
Virtual DataPort クエリデータソースモニター¶
Virtual DataPort クエリモニター がクエリに関する情報全般を収集するのに対し、 クエリデータソースモニター は、データソースから読み取られた行数、応答時間、データソースが置かれているクラウドプロバイダー (ある場合) など、さまざまなデータソースへのアクセスに関する詳細を提供します。この情報は、以下の 2 つの状況で利用できます。
パフォーマンスの監視: どのデータソースに時間が長くかかっているかを確認し、特にデータソースにプッシュされなかった操作を特定するなど、ボトルネックを特定します。
FinOps の監視: データソース (JDBC、カスタム、JSON、XML、区切りファイルに対応) をホストするクラウドプロバイダーとリージョン、Denodo サーバー、Denodo にアクセスするクライアントを指定することができます。この情報は、クラウドの使用状況のコスト見積もりに関連する他のデータとともに、このモニターに含まれています。たとえば、データソースで読み込まれた推定バイト数や、転送された行数、各行の推定サイズなどです。これにより、特定のクラウドプロバイダーから転送される推定データ量や、特定のクラウドプロバイダーとリージョンから多くのデータトラフィックを引き起こしているのはどのチームかといったクエリに答えることができます。
出力は denodo-monitor/logs/vdp-querydatasources.log
に記録され、JDBC データベースが構成されている場合は query_datasources_notification
テーブルに記録されます。

このログには、クエリに関係する 3 つのアクターに関する情報が含まれます。
クエリを送信する データコンシューマー 。ClientIP、ClientProvider、UserAgent などのクライアントを識別するプロパティがあります。
Virtual DataPort サーバー。ServerName、Host、VDPProvider などのプロパティがあります。
Virtual DataPort がデータの収集時や挿入時にアクセスする必要がある データソース 。DataSourceName、DataSourceProvider など。
さらに、このログに含まれる情報を以下のように分類できます。
Northbound: クライアントと Denodo の接続に関するプロパティ。QueryId、QueryStartTime、QueryResultRows など。
Southbound: Denodo とデータソースの接続に関するプロパティ。StartTime、Query、NumRowsToVDP など。
以下の表では、ログに含まれるすべてのプロパティについて詳しく説明しています。
列名 |
説明 |
---|---|
ServerName |
ログが記録されるサーバーの論理名。デフォルト値は vdp です。 |
Host |
監視対象の Virtual DataPort サーバーのホスト名または IP アドレス。 |
Port |
監視対象の Virtual DataPort サーバーの JMX ポート番号。 |
VDPProvider |
Virtual DataPort サーバーが動作しているインフラストラクチャプロバイダーの名前 (オンプレミス、AWS、Azure、Google Cloud、Alibaba など)。 |
VDPRegion |
Virtual DataPort サーバーが動作しているインフラストラクチャプロバイダーのリージョン名。 |
SessionId |
クエリが実行されたセッションの識別子。この識別子は ServerName ごとに一意です。 |
QueryId |
クライアントが Virtual DataPort サーバーで実行するクエリの識別子。この識別子は SessionId ごとに一意です。 |
QueryState 1 |
Virtual DataPort サーバーで実行されたリクエストのステータス。 |
RequestType 2 |
Virtual DataPort サーバーで実行されたリクエストのタイプ。 |
QueryStartTime |
VQL クエリが Virtual DataPort サーバーで実行を開始した日時。 |
QueryEndTime |
VQL クエリが Virtual DataPort サーバーで実行を終了した日時。 |
DatabaseName |
クエリが実行された Virtual DataPort データベースの名前。 |
UserName |
クエリを実行した Virtual DataPort ユーザーの名前。 |
AccessInterface |
クライアントが Virtual DataPort サーバーでクエリを実行する際に使用するアクセスインターフェイスの名前。 |
UserAgent |
クエリを実行したクライアントのユーザーエージェント 。 |
ClientIP |
クエリを実行したクライアントの IP アドレス。 |
ClientProvider |
クライアントが動作しているインフラストラクチャプロバイダーの名前 (オンプレミス、AWS、Azure、Google Cloud、Alibaba など)。 |
ClientRegion |
クライアントが動作しているインフラストラクチャプロバイダーのリージョン名。 |
QueryResultRows |
クエリによって返される行の数。 |
EstimatedQueryResultRowSize |
クエリによって返される行の推定サイズ (バイト単位)。10 行のサンプルに基づく平均行サイズが含まれます。 |
DataSourceDatabaseName |
Virtual DataPort サーバーが VQL クエリを実行する際にアクセスしたデータソースのデータベース名。 |
DataSourceName |
Virtual DataPort サーバーが VQL クエリを実行する際にアクセスしたデータソース名。 |
DataSourceType 3 |
Virtual DataPort サーバーが VQL クエリを実行する際にアクセスしたデータソースのタイプ。 |
DataSourceAdapter |
Virtual DataPort サーバーが VQL クエリを実行する際に使用したデータソースのコネクター。Oracle、DB2、Snowflake、Databricks などがあります。 |
StartTime |
クエリがデータソースで実行を開始した日時。 |
EndTime |
クエリがデータソースで実行を終了した日時。 |
ResponseTime |
Virtual DataPort サーバーがデータソースに委任したクエリの結果の最初の行を受信するのにかかった時間。 |
Query |
データソースで実行されたクエリ。 |
State |
データソースで実行されたクエリのステータス。 |
Exception |
クエリ実行時にデータソースによってスローされた例外。 |
DataSourceProvider |
データソースが動作しているインフラストラクチャプロバイダーの名前 (オンプレミス、AWS、Azure、Google Cloud、Alibaba など)。 |
DataSourceRegion |
データソースが動作しているインフラストラクチャプロバイダーのリージョン名。 |
NumRowsToVDP |
データソースから Virtual DataPort サーバーに返された行数。 |
EstimateRowSizeToVDP |
データソースから Virtual DataPort サーバーに返される行の推定サイズ (バイト単位)。10 行のサンプルに基づく平均行サイズが含まれます。 |
NumRowsFromVDP |
Virtual DataPort サーバーがデータソースに挿入した行数。 |
EstimateRowSizeFromVDP |
Virtual DataPort サーバーがデータソースに挿入した行の推定サイズ (バイト単位)。 |
NoDelegationCauses |
Virtual DataPort サーバーがクエリをデータソースに委任しなかった原因。 |
MemoryLimitReached |
データソースでのクエリの実行時に、Virtual DataPort サーバーがメモリ制限に達したかどうかを示します。指定できる値は true または false です。 |
NestedJoinRightAccess |
Virtual DataPort サーバーがネスト結合を実行したかどうかを示します。指定できる値は true または false です。 |
NestedTotalRightAccesses |
Virtual DataPort サーバーがネスト結合を実行した回数。 |
EstimatedNumRowsReadInSource |
データソースで読み込まれた推定行数。 |
EstimatedNumBytesReadInSource |
データソースで読み込まれた推定バイト数。 |
EstimatedSourceCost |
コストオプティマイザーが有効で、ビューの統計が利用可能な場合、この値は、該当のデータソースに委任されるクエリのフラグメントに対してオプティマイザーが計算した推定コストを表します。 |
- 1(1,2)
指定できる値は以下のとおりです。OK、STOPPED、ERROR、PROCESSING、ROW_LIMIT_REACHED、CONNECTION_ERROR、THREAD_TIMEOUT、QUERY_TIMEOUT、LICENSE_QUERY_TIMEOUT、INIT、WITHOUT_RESULT、NO_CREATED_ACCESS、TOO_MANY_WORKS_TIMEOUT、PARSE_ERROR、INVALID_ROUTE、INTERRUPTED_CONNECTION、INTERFACE_NOT_IMPLEMENTED、ENOUGH_ROWS_RETRIEVED、INCOMPATIBLE_QUERY_VIEW、CACHE_LOAD_ERROR、UNKNOWN
- 2(1,2)
指定できる値は以下のとおりです。SELECT VIEW、SELECT BASE VIEW、CALL PROCEDURE、SELECT SUMMARY VIEW、INSERT、INSERT INTO、UPDATE、DELETE、CREATE REMOTE TABLE、CREATE SUMMARY RECOMMENDATIONS、SELECT INTO、QUERY WRAPPER、UNKNOWN
- 3
指定できる値は以下のとおりです。JDBC、ODBC、VDB、WS、XML、DF、CUSTOM、LDAP、JSON、SAPERP、SAPBW、SAPBWBAPI、OLAP、ESSBASE、SALESFORCE
Virtual DataPort キャッシュモニター¶
Virtual DataPort のキャッシュロードプロセスのアクティビティをログに記録します。
出力は denodo-monitor/logs/vdp-loadcacheprocesses.log
に記録されます。
Virtual DataPort コネクションモニター¶
開かれたコネクションと閉じられたコネクション、コネクションを開いた/閉じたユーザーアカウント、使用したインターフェイス (JDBC、ODBC、Web サービスなど)、接続元 IP などに関する情報をログに記録します。
出力は denodo-monitor/logs/vdp-connections.log
に記録されます。
Virtual DataPort データソースモニター¶
定期的に (interval
プロパティで指定した間隔で)、Virtual DataPort サーバーのすべてのデータソースに関する情報をログに記録します。さらに、一部のデータソースに対して定期的に ping を実行して、結果を記録します。
出力は denodo-monitor/logs/vdp-datasources.log
に記録されます。
Virtual DataPort クエリブロックモニター¶
このモニターを有効にする場合は、「クエリモニター」も有効にします。このモニターは、Virtual DataPort によって処理されたステートメントの詳細をログに記録します。 サマリ推奨ツール は、この情報と Virtual DataPort クエリモニターの情報を組み合わせて使用します。
出力は denodo-monitor/logs/vdp-queryblocks.log
に記録されます。
ログヘッダー
Denodo Monitor が監視を開始した場合や、サーバーとの新しいコネクションを取得する必要がある場合、そのたびに、サーバーおよび Virtual DataPort モニターによって生成されるログに次のヘッダーが追加されます。
Logging started at: 2020-02-03T15:29:17.411. Denodo Monitor 7.0 started at: 2020-02-03T15:29:16.925. VDP Server 7.0 update 20190903 started at: 2020-02-03T14:36:24.260
このヘッダーには、以下に関するタイムスタンプ情報が含まれます。
ログ: モニターがログを開始した日時。モニターによってポーリング間隔が異なるため、この日時はモニターごとに異なります。
Denodo Monitor: Denodo Monitor が監視を開始した日時。すべてのモニターで同じ値になります。
Virtual DataPort サーバー: Virtual DataPort サーバーが起動された日時。
ログに複数のログヘッダーが含まれる場合、以下のようにイベントの値を比較することによって重要なイベントを検出できます。
Virtual DataPort サーバーの開始日時が変化している場合、Virtual DataPort が再起動されています。
Denodo Monitor の開始日時が変化している場合、Denodo Monitor が再起動されています。
両方の日時が同じ場合、サーバーとのコネクションが失われています。