サーバーに関する一般情報

以下の MBean は、サーバーに関する一般情報を提供します。

VDBServerManagementInfo MBean

VDBServerManagementInfo MBean は、Virtual DataPort サーバーの状態に関する一般情報を提供します。 com.denodo.vdb.management.mbeans にあります。

VDBServerManagementInfo MBean の属性

VDBServerManagementInfo MBean には、以下の属性があります。

  • ActiveConnections: 現在接続しているクライアントの数。この数には、Administration Tool、JDBC クライアント、ODBC クライアント、公開されている Web サービスなど、あらゆるタイプのクライアントが含まれます。

  • ActiveRequests: 現在実行中のクエリの数。

  • ActiveTransactions: アクティブなトランザクションの数。

  • InstanceName: Master 属性が false である場合、この属性にインスタンスの名前が格納されます。

  • Master: サーバーがスタンドアロンで動作している場合、または同一インストール環境のインスタンスのグループにおけるマスターインスタンスである場合は true 。詳細については、「 同じインストール環境の複数の Virtual DataPort インスタンスの起動 」を参照してください。そうでない場合は false

  • ServerName: この Virtual DataPort サーバーの論理名 URI。

  • ServerUpdate: このサーバーにインストールされている更新プログラムの名前。「8.0」 (8.0 GA の場合)、「7.0 20190903」など。

  • SingleUserModeConnection: サーバーをシングルユーザーモードに切り替えたコネクションの ID。この切り替えは、クライアントアプリケーションが ENTER SINGLE USER MODE コマンドを発行したにもかかわらず EXIT SINGLE USER MODE を発行していない場合、またはクライアントアプリケーションが一時的にサーバーをシングルユーザーモードに切り替えるステートメントを実行している場合 (ユーザーの作成、データベースの作成など) に行われます。

    サーバー全体がブロックされる操作のリストについては、「 自動シングルユーザーモード 」を参照してください。

    サーバーがシングルユーザーモードではない場合、この属性は空です。

  • TotalConnectionFailures: 失敗したコネクションの数。たとえば、無効な資格情報を使用してサーバーに接続を試みたクライアントがカウントされます。

  • TotalConnections: サーバーの起動以降に、サーバーとの間で確立されたコネクションの数。

  • TotalTransactions: サーバーの起動以降に、開始されたトランザクションの数。

  • WaitingRequests: 実行を待機しているリクエストの数。これらのリクエストが待機中である理由は、サーバーが [Maximum concurrent requests] のしきい値を超過しているためです。

VDBServerManagementInfo MBean の操作

VDBServerManagementInfo MBean には、以下の操作があります。

  • cancelRequest( <request id:integer> ): 指定された「リクエスト ID」を持つリクエストをキャンセルします。

    キャンセルするリクエストの ID を取得するには、 getActiveRequestList 操作 (下記参照) を呼び出します。この操作が返す実行中のリクエストに関する情報に、ID が含まれています。

  • cancelCacheProcess( <cache process id:long> ): 指定された「キャッシュプロセス ID」を持つキャッシュプロセスをキャンセルします。

    キャッシュプロセスの ID を取得するには、キャッシュプロセスが動作しているデータベースの DatabaseCache MBean を開いて、 getActiveRefreshCacheProcesses 操作を呼び出します。この操作は、実行中のキャッシュプロセスに関する情報を返します。停止するプロセスの「Identifier」属性を見つけて、この操作のパラメーターとして使用します。 getActiveRefreshCacheProcesses 操作の詳細については、「 DatabaseCache MBean 」を参照してください。

    この操作を呼び出すと、キャッシュプロセスはキャンセルされますが、クエリは完了するまで続行します。

  • closeConnectionById( <connection id : long> ): 指定された「コネクション ID」を持つコネクションを閉じます。

    コネクションの ID を取得するには、後述する getSessions(...) を呼び出します。この操作は、開いているすべてのコネクションに関する情報を返します。その結果で「ConnectionId」属性を見つけます。

  • closeConnectionsByIP( <IP アドレス : String> ): IP アドレスから開かれたコネクションをすべて閉じます。この操作は、以下のフィールドを返します。

    • ClosedConnectionIds: 正常に閉じられたコネクションの ID。

    • FailedClosedConnectionIds: 閉じるのに失敗したコネクションの ID。

  • closeConnectionsByUser( <user name : String> ): ユーザーが開いたコネクションをすべて閉じます。この操作は、以下のフィールドを返します。

    • ClosedConnectionIds: 正常に閉じられたコネクションの ID。

    • FailedClosedConnectionIds: 閉じるのに失敗したコネクションの ID。

  • getActiveRequestList( <max requests:integer>, <database name:text): <database name> データベースに送信されたクエリのリストを返します。このリストには、以下の情報が含まれます。

    • 現在実行中のリクエスト。

    • キューに入っているリクエスト。[Maximum concurrent requests] の制限に達すると、リクエストはキューに入ります。この制限の詳細については、「 同時リクエスト数の制限 」を参照してください。

      キューに入っているリクエストをキャンセルしても、リクエストはすぐにはキャンセルされません。実行エンジンがリクエストを実行する準備ができて、キューに入っているクエリのリストからリクエストを取り出した時点でキャンセルされます。したがって、この操作は、すでにキャンセルされていても、キューに入っているすべてのリクエストを返します。

    クエリをキャンセルする場合、この操作を実行して、キャンセルするクエリの Identifier 属性の値を取得してから、 cancelRequest(...) 操作を呼び出してその値を渡します。

    入力パラメーター <database name> が空の場合、この操作は、すべてのデータベースに送信されたすべてのリクエストを返します。

    この操作は、クエリごとに Queued 属性を返します。クエリの最大同時実行数の制限に到達している場合、この属性は true です。

    この制限の詳細、および制限の値を増やす方法については、「 同時リクエスト数の制限 」を参照してください。

  • getRequestById ( <request id : number> ): 現在実行中または実行を待機している特定のリクエストに関する情報を返します。リクエストが完了済みの場合、エラーを返します。

  • getSessions( <database name : text> ): クライアントによって開かれた Virtual DataPort サーバーとのセッションに関する詳細情報を返します。

    データベース名を指定しない場合、すべてのセッションに関する情報を返します。指定した場合、そのデータベースに対して確立されたセッションに関する情報を返しますが、他のデータベースに対して確立されたセッションに関する情報は返しません。

    この操作は、JMX クライアントによって開かれたコネクションに関する情報は返しません。

    このプロシージャは、クエリを実行している間に JMS クライアントによって開かれたコネクションに関する情報のみを返します。

    この操作は、開かれているコネクションごとに以下の情報を返します。

    • AccessInterface: サーバーに接続しているクライアントのタイプ。表「 「access interface」属性の取り得る値 」に、この属性の想定される値のリストを示します。

    • AdminUser: ユーザーが管理者ユーザーの場合またはユーザーのロールが serveradmin の場合は true 、そうでない場合は false

    • ClientIP: クライアントの IP アドレス。Web サービスの場合、これは最終クライアント、つまり HTTP リクエストを送信したクライアントの IP アドレスです。

    • ConnectionId: コネクションの一意の ID。

    • ConnectionStartTime: コネクションが開かれた時刻。

    • DatabaseName: クライアントアプリケーションが接続しているデータベース。

    • JMSQueueName (JMS コネクションの場合のみ): クエリ送信元の JMS キューの名前。

    • IntermediateClientIP (SOAP、REST、およびグローバル RESTful のいずれかの Web サービスの場合のみ): サービスが動作している IP アドレス。

      Denodo に組み込まれている Web コンテナーにサービスがデプロイされている場合は、Virtual DataPort サーバーの IP と同じ IP になります。それ以外の場合は、サービスがデプロイされている JEE コンテナーの IP アドレスになります。

    • LastExecutedQuery: クライアントが最後に実行したクエリ。

    • LastExecutedQueryEndTime: 最後のクエリが終了した時刻。

    • Login: クライアントのユーザー名。

    • QueryRunning: クライアントが現在実行中で、まだ完了していないクエリ。アクティブなクエリが存在しない場合は空です。

    • QueryRunningId: クライアントが現在実行中のクエリの一意の ID。アクティブなクエリが存在しない場合は空です。

    • QueryRunningQueued: クライアントはクエリを実行したものの、サーバーが [Max concurrent requests] の制限に達しているのでクエリが待機中の場合、 true です。この制限の詳細、および制限の値を増やす方法については、「 同時リクエスト数の制限 」を参照してください。

    • SessionId: セッションの一意の ID。

    • SessionStartTime: セッションが開かれた時刻。

    • SessionStatus: セッションがアクティブの場合は true 、そうでない場合は false

    • SingleUserMode: このセッションで 1 つまたは複数のデータベースまたはサーバー全体をシングルユーザーモードに切り替えている場合は true

    • SingleUserModeDatabases: シングルユーザーモードに切り替えられているデータベースのリスト。空の場合、サーバー全体がシングルユーザーモードに切り替えられていることを意味します。

    • UserAgent: コネクションを開いているアプリケーションの名前。アプリケーションでユーザーエージェントを設定すると、各コネクションを開いたアプリケーションを把握するのに役立ちます。この設定方法については、「 アプリケーションのユーザーエージェントの設定 」を参照してください。

    • UserAuthenticationType: クライアントが使用した認証のタイプ。想定される値は LOCAL、LDAP、または KERBEROS です。

    • WebServiceName (Denodo によって公開された SOAP または REST Web サービスで開かれているコネクションの場合のみ): Web サービスの名前。他のタイプのクライアントの場合、空の文字列です。

VDBServerManagementInfo MBean の通知

VDBServerManagementInfo MBean は、以下の通知を提供します。

  • loginOk: クライアントが Virtual DataPort サーバーに正常にログインしたとき。

  • loginFailure: 入力したパスワードが正しくない、ユーザーがデータベースに接続する十分な権限を持っていないなどの理由で、クライアントが接続できなかったとき。

  • logout: クライアントがログアウトしたとき。

  • openSession: クライアントがセッションを開いたとき。

  • closeSession: クライアントがセッションを閉じたとき。

これらの通知はすべて、以下の情報を提供します。

  • AccessInterface: 表「 「access interface」属性の取り得る値 」に、この属性の想定される値のリストを示します。

  • ClientIP

  • IntermediateClientIP

  • ConnectionId

  • ConnectionStartTime

  • ConnectionEndTime

  • SessionId

  • SessionStartTime

  • SessionEndTime

  • Login

  • DatabaseName

  • JMSQueueName

  • WebServiceName

  • UserAgent

これらのフィールドの意味については、前のセクションを参照してください。

MemoryManagementInfo MBean

MemoryManagementInfo MBean は、Virtual DataPort サーバーが使用しているメモリに関する情報を提供します。この MBean は com.denodo.vdb.management.mbeans にあります。

MemoryManagementInfo MBean の属性

MemoryManagementInfo MBean には、以下の属性があります。

  • TotalMemory: サーバーによる合計メモリ使用量。

  • MaxMemory: サーバーによる最大メモリ使用量。

MemoryManagementInfo MBean の操作

MemoryManagementInfo MBean には、次の操作があります。

  • gc(): この操作は、Virtual DataPort サーバーを実行する Java 仮想マシン (JVM) に対し、JVM のガベージコレクターを実行するように要求します。このリクエストは、JVM によって無視される場合があります。

LogManagementInfo MBean

LogManagementInfo (com.denodo.mbeans フォルダーを展開) MBean は、 Virtual DataPort のログシステム を管理するための操作を提供します。

  • setLogLevel(<logger name>, <debug level>): ロガーのログレベルを設定します。 <debug level> には TRACEDEBUGINFOWARNERROR 、または FATAL のいずれかを指定できます。たとえば、 setLogLevel(com.denodo.vdp.requests, INFO) は、「リクエストログ」を有効にして、サーバーによって処理されたすべてのリクエストのログを <DENODO_HOME>/logs/vdp/vdp-requests.log に記録します。

    たとえば、 setLogLevel(com.denodo.vdp.requests, INFO) は、「リクエストログ」を有効にして、サーバーによって処理されたすべてのリクエストのログを <DENODO_HOME>/logs/vdp/vdp-requests.log に記録します。

  • getLogLevel(<logger name>): ロガーのログレベルを取得します。ロガーが定義されていない場合、エラーを返します。定義されている場合は、 TRACEDEBUGINFOWARNERROR 、または FATAL のいずれかを返します。