Denodo Monitor の構成

Denodo Monitor を使い始めるには、以下の手順に従って実施してください。

  1. <DENODO_HOME>/tools/monitor ディレクトリに移動します。

  2. Windows では、 denodo-monitor.zip を解凍します。

    Linux では、 tar -xzf denodo-monitor.tar.gz を実行します。

  3. conf/ConfigurationParameters.properties ファイルを編集して構成します。

    Denodo Monitor は、通常はデフォルト構成で問題ありませんが、主なプロパティについて知りたい場合は、以下の手順の後の説明を参照してください。

  4. Denodo Monitor を起動するには、bin に移動して、Denodo Monitor のディレクトリで以下を実行します。

    • Linux では ./denodomonitor_startup.sh を実行します。

    • Windows では denodomonitor_startup.bat を実行します。

次に、 jmx.hostjmx.portjmx.user 、および jmx.password の各プロパティの値を変更します。各モニターは、これらのプロパティを読み取って、監視する必要があるサーバーの URI と資格情報を取得します。

この構成ファイルのほとんどすべてのプロパティは、説明がなくても容易に使用できるので、最も重要なプロパティについてのみ説明します。

  • jmx.user: 管理者または monitor_admin ロールを持つユーザーの名前。他のユーザーは、Virtual DataPort の JMX インターフェイスに接続できません。

  • monitors.local: ローカルのアクティブな「モニター」 (processessockets) のカンマ区切りリスト (「 ローカルモニター 」を参照)。

  • monitors.remote: 起動するモニター (vdpbrowserpoolmaintenancescheduler 、または schedulerindex) のカンマ区切りリスト。

  • { browserpool | maintenance | scheduler | schedulerindex | vdp }.monitors: 各サーバーのアクティブなリモート「モニター」を示すプロパティ。

    これらのプロパティで指定できる値は以下のとおりです。

    • threads

    • resources

    • vdpqueries (vdp の場合のみ): 「Virtual DataPort クエリモニター」を有効にします。

    • vdploadcacheprocesses (vdp の場合のみ): 「Virtual DataPort キャッシュモニター」を有効にします。

    • vdpconnections (vdp の場合のみ): 「Virtual DataPort コネクションモニター」を有効にします。

    • vdpdatasources (vdp の場合のみ): 「Virtual DataPort データソースモニター」を有効にします。

  • { processes | sockets | resources | threads }.interval: モニターによって発行される 2 つの JMX リクエスト間の秒数。

  • .jmx.password プロパティには、そのプロパティのサーバーに接続するためのパスワードが保存されます。これらのパスワードは、暗号化して保存できます。これを行うには、 .jmx.password の値を暗号化する場合は .jmx.password.encrypted プロパティの値を true に設定します。

    たとえば、デフォルトでは Virtual DataPort のパスワードは admin です。これを変更してこの構成ファイルに暗号化して保存する場合、以下の手順を実行します。

    • <DENODO_HOME>/tools/monitor/denodo-monitor/bin/encrypt_password <new password> スクリプトを実行します。

      このスクリプトの出力は暗号化されたパスワードなので、これを Denodo Monitor の構成ファイルに設定します。

      1. <DENODO_HOME>/tools/monitor/denodo-monitor/conf/ConfigurationParameters.properties ファイルを開きます。

      2. vdp.jmx.password プロパティの値を手順 1 で取得した暗号化されたパスワードに設定します。

      3. vdp.jmx.password.encrypted プロパティの値を true に設定します。

  • {vdpqueries | vdploadcacheprocesses}.snmptrapagent.enable: true の場合、モニターは SNMP トラップと、クエリモニターまたはキャッシュモニターが受信した情報を送信します。これを使用するには、 snmptrapagent の他のプロパティのコメント指定を解除して構成します。

  • vdp.datasources.ping: Denodo Monitor が ping 操作を実行するデータソースのカンマ区切りリスト。各データソースは、<database_name>.<data_source_type>.<data_source_name> のような参照で指定します。 data_source_type は、 jdbcodbcldapolapsapbwbapisaperp 、または salesforce のいずれかの値のみを取ることができます。

    例:

    customer360.jdbc.ds_jdbc_prod_oracle,customer360.salesforce_ds_sf_finance
    

    ping は定期的に呼び出されて、そのたびに Virtual DataPort データソースモニターによって情報がログに記録されます。この間隔はパラメータ vdp.datasources.interval によって制御されます。

JDBC ログの構成

クエリモニターやキャッシュモニターが生成した情報をデータベースに保存するように、Denodo Monitor を構成することも可能です。

この機能を有効化するには、構成ファイル <DENODO_HOME>/tools/monitor/denodo-monitor/conf/ConfigurationParameters.properties で次のプロパティを変更します。

  • vdpqueries.jdbcagent.enablevdploadcacheprocesses.jdbcagent.enable: true に設定すると、それぞれクエリモニターとキャッシュモニターによって生成された情報が外部データベースに保存されます。

他の jdbcagent プロパティをコメント解除して構成します。

このオプションを有効にして Denodo Monitor を起動する前に、以下の手順を実行する必要があります。

  1. データベース内に、キャッシュモニターとクエリモニターによって生成される情報を保存するテーブルを作成します。Denodo Monitor はデータをテーブルに挿入するだけで、テーブルの作成は行いません。

    <DENODO_HOME>/tools/monitor/denodo-monitor/sql/ ディレクトリに、さまざまなベンダー (MySQL、Oracle、SQL Server など) 向けのテーブルを作成するための SQL スクリプトがあります。使用するデータベース向けのスクリプトがない場合は、既存のスクリプトの 1 つをテンプレートとして使用できます。Denodo Monitor は単純な INSERT ステートメントを実行するだけなので、任意のデータベースを使用できます。

  2. データベースの JDBC ドライバー (jar ファイル) を <DENODO_MONITOR>/lib フォルダにコピーします。

Kerberos 構成

Denodo Monitor は Kerberos 認証を用いてデータベースに接続できます。その際、ユーザー名とパスワードによる Kerberos 認証か、キータブファイルによる Kerberos 認証を使用します。この機能を使用するには、以下のプロパティをコメント解除して値を指定してください。

  • [vdpqueries|vdploadcacheprocesses].jdbcagent.useKerberos: Kerberos 認証を使用するには true に設定します。

  • [vdpqueries|vdploadcacheprocesses].jdbcagent.krbUser: Kerberos ユーザー。

  • [vdpqueries|vdploadcacheprocesses].jdbcagent.krbPassword: Kerberos パスワード。 [vdpqueries|vdploadcacheprocesses].jdbcagent.krbPassword.encrypted: 上述の「encrypt_password」スクリプトを使用してパスワードを暗号化する場合は true に設定します。暗号化しない場合は false に設定します。

  • [vdpqueries|vdploadcacheprocesses].jdbcagent.krbKeyTab: Kerberos キータブのパス。

  • [vdpqueries|vdploadcacheprocesses].jdbcagent.krbConfigFile: デフォルトパスを使用しない場合の、krb5.ini ファイルへのパス。

  • [vdpqueries|vdploadcacheprocesses].jdbcagent.krbDriverOptions: ドライバーに渡されるカスタムプロパティ。値は次のフォーマットに従う必要があります。 property1=value1;property2=value2;

[vdpqueries|vdploadcacheprocesses]... について: このプロパティを vdpqueriesvdploadcacheprocesses に 1 つずつ追加する必要があることを意味します。たとえば、次のように追加してください。

vdpqueries.jdbcagent.useKerberos=true
vdploadcacheprocesses.jdbcagent.useKerberos=true

クラウド保存の構成

Denodo Monitor がローカルファイルシステムに生成したログは、クラウドにも保存できます。現時点で保存先として使用できるのは Amazon S3 クラウドストレージサービスのみです。Denodo Monitor が生成したログを S3 に保存するには、次のパラメータを構成します。

  • monitors.cloudStorage.provider: このパラメータはオプションであり、存在しない場合はローカルファイルシステムにログが生成されます。値が AWS_S3 の場合、次のパラメータで定義した S3 ストレージにもログを保存します。

  • monitors.cloudStorage.buffer.size: ログをクラウドストレージに送信する前に、一時保管するログの最大数を表します。

  • monitors.cloudStorage.buffer.age: ログをクラウドストレージに送信する前に、モニターがログイベントを保持する最大時間 (分単位) を表します。このパラメータはオプションです。

  • monitors.cloudStorage.compression.enabled: true に設定した場合、ログを圧縮してからクラウドストレージに保存します。このパラメータはオプションです。

以下のパラメータは S3 構成専用です。

  • S3 サービスへのアクセスに必要な資格情報: monitors.cloudStorage.s3.credentials.awsKeymonitors.cloudStorage.s3.credentials.awsSecret

  • ログの保存先は次のパラメータで定義します: monitors.cloudStorage.s3.destination.regionmonitors.cloudStorage.s3.destination.bucketmonitors.cloudStorage.s3.destination.path

機密情報の保護

機密データだと見なされるいくつかの種類の情報を読めなくして保護するように、Denodo Monitor を構成できます。

Denodo Monitor が実行可能な変換は以下のとおりです。

  • 文字リテラルとユーザー名を ************** で置き換えます。

  • 数値リテラルを 0 で、10 進数の値を 0.0 で置き換えます。

  • クライアントアプリケーションの IP アドレスを XXX.XXX.XX.XX で置き換えます。

  • ホスト名を ************** で置き換えます。

  • コネクションポートを -1 で置き換えます。

この保護機能を有効化する際は、次のパラメータを指定できます。

  • com.denodo.vdb.util.log.obfuscate: true に設定した場合、リテラル、IP アドレス、ユーザー名、ホスト名、ポートを置き換えます。デフォルト値は false です。

  • com.denodo.vdb.util.log.obfuscate.managedserver: true に設定すると、ホスト名とポートを置き換えます。

  • com.denodo.vdb.util.log.obfuscate.ip: true に設定すると、IP アドレスを置き換えます。

  • com.denodo.vdb.util.log.obfuscate.user: true に設定すると、ユーザー名を置き換えます。

  • com.denodo.vdb.util.log.obfuscate.literal: true に設定すると、リテラルを置き換えます。

デフォルト値を持つのは 1 つ目のプロパティのみです。その他のいずれかのプロパティが定義されている場合はこちらが優先され、1 つ目のプロパティの値は無効になります。