Denodo Monitor の構成¶
Denodo Monitor を使い始めるには、以下の手順に従って実施してください。
<DENODO_HOME>/tools/monitorディレクトリに移動します。Windows では、
denodo-monitor.zipを解凍します。Linux では、
tar -xzf denodo-monitor.tar.gzを実行します。conf/ConfigurationParameters.propertiesファイルを編集して構成します。Denodo Monitor は、通常はデフォルト構成で問題ありませんが、主なプロパティについて知りたい場合は、以下の手順の後の説明を参照してください。
Denodo Monitor を起動するには、bin に移動して、Denodo Monitor のディレクトリで以下を実行します。
Linux では
./denodomonitor_startup.shを実行します。Windows では
denodomonitor_startup.batを実行します。
次に、 jmx.host 、 jmx.port 、 jmx.user 、および jmx.password の各プロパティの値を変更します。各モニターは、これらのプロパティを読み取って、監視する必要があるサーバーの URI と資格情報を取得します。
この構成ファイルのほとんどすべてのプロパティは、説明がなくても容易に使用できるので、最も重要なプロパティについてのみ説明します。
jmx.user: 管理者またはmonitor_adminロールを持つユーザーの名前。他のユーザーは、Virtual DataPort の JMX インターフェイスに接続できません。monitors.local: ローカルのアクティブな「モニター」 (processesとsockets) のカンマ区切りリスト (「 ローカルモニター 」を参照)。monitors.remote: 起動するモニター (vdp、browserpool、maintenance、scheduler、またはschedulerindex) のカンマ区切りリスト。{ browserpool | maintenance | scheduler | schedulerindex | vdp }.monitors: 各サーバーのアクティブなリモート「モニター」を示すプロパティ。これらのプロパティで指定できる値は以下のとおりです。
threadsresourcesvdpqueries(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 の構成ファイルに設定します。
<DENODO_HOME>/tools/monitor/denodo-monitor/conf/ConfigurationParameters.propertiesファイルを開きます。vdp.jmx.passwordプロパティの値を手順 1 で取得した暗号化されたパスワードに設定します。vdp.jmx.password.encryptedプロパティの値をtrueに設定します。
{vdpqueries | vdploadcacheprocesses}.snmptrapagent.enable:trueの場合、モニターは SNMP トラップと、クエリモニターまたはキャッシュモニターが受信した情報を送信します。これを使用するには、snmptrapagentの他のプロパティのコメント指定を解除して構成します。注釈
8.0u20220815 では、Denodo Monitor の SNMP サポートがなくなりました。
vdp.datasources.ping: Denodo Monitor が ping 操作を実行するデータソースのカンマ区切りリスト。各データソースは、<database_name>.<data_source_type>.<data_source_name> のような参照で指定します。 data_source_type は、jdbc、odbc、ldap、olap、sapbwbapi、saperp、または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.enable、vdploadcacheprocesses.jdbcagent.enable、vdpconnections.jdbcagent.enable、vdpdatasources.jdbcagent.enable、resources.jdbcagent.enable、threads.jdbcagent.enable: クエリモニター、キャッシュモニター、コネクションモニター、データソースモニター、リソースモニター、スレッドモニターがそれぞれ生成した情報を外部データベースに保存するにはtrueに設定します。
他の jdbcagent プロパティをコメント解除して構成します。
このオプションを有効にして Denodo Monitor を起動する前に、以下の手順を実行する必要があります。
目的のモニターによって生成される情報を保存するテーブルをデータベース内に作成します。Denodo Monitor はデータをテーブルに挿入するだけで、テーブルを作成することはありません。
<DENODO_HOME>/tools/monitor/denodo-monitor/sql/ディレクトリに、さまざまなベンダー (MySQL、Oracle、SQL Server など) 向けのテーブルを作成するための SQL スクリプトがあります。使用するデータベース向けのスクリプトがない場合は、既存のスクリプトの 1 つをテンプレートとして使用できます。Denodo Monitor は単純な INSERT ステートメントを実行するだけなので、任意のデータベースを使用できます。データベースの JDBC ドライバー (jar ファイル) を
<DENODO_MONITOR>/libフォルダにコピーします。
Kerberos 構成¶
Denodo Monitor は Kerberos 認証を用いてデータベースに接続できます。その際、ユーザー名とパスワードによる Kerberos 認証か、キータブファイルによる Kerberos 認証を使用します。この機能を使用するには、以下のプロパティをコメント解除して値を指定してください。
[vdpqueries|vdploadcacheprocesses|vdpconnections|vdpdatasources|resources|threads].jdbcagent.useKerberos: Kerberos 認証を使用するにはtrueに設定します。[vdpqueries|vdploadcacheprocesses|vdpconnections|vdpdatasources|resources|threads].jdbcagent.krbUser: Kerberos ユーザー。[vdpqueries|vdploadcacheprocesses|vdpconnections|vdpdatasources|resources|threads].jdbcagent.krbPassword`: Kerberos パスワード。
[vdpqueries|vdploadcacheprocesses|vdpconnections|vdpdatasources|resources|threads].jdbcagent.krbPassword.encrypted: 上述の「encrypt_password」スクリプトを使用してパスワードを暗号化した場合はtrueに設定します。そうでない場合はfalseに設定します。[vdpqueries|vdploadcacheprocesses|vdpconnections|vdpdatasources|resources|threads].jdbcagent.krbKeyTab: Kerberos キータブのパス。[vdpqueries|vdploadcacheprocesses|vdpconnections|vdpdatasources|resources|threads].jdbcagent.krbConfigFile: デフォルトパスに存在しない場合の、krb5.ini ファイルへのパス。[vdpqueries|vdploadcacheprocesses|vdpconnections|vdpdatasources|resources|threads].jdbcagent.krbDriverOptions: ドライバーに渡されるカスタムプロパティ。値は次のフォーマットに従う必要があります:property1=value1;property2=value2;。
[vdpqueries|vdploadcacheprocesses|vdpconnections|vdpdatasources|resources|threads]... について: これは、構成したいモニターごとに、必要な回数だけこのプロパティを追加しなければならないことを意味します。たとえば、以下を追加する必要があります。
vdpqueries.jdbcagent.useKerberos=true
vdploadcacheprocesses.jdbcagent.useKerberos=true
vdpconnections.jdbcagent.useKerberos=true
vdpdatasources.jdbcagent.useKerberos=true
resources.jdbcagent.useKerberos=true
threads.jdbcagent.useKerberos=true
クラウド保存の構成¶
Denodo Monitor がローカルファイルシステムに生成したログは、クラウドにも保存できます。これは、Amazon S3 クラウドストレージサービスと Azure Blob Storage でも可能です。Denodo Monitor が生成したログを S3 ストレージに保存するには、次のパラメータを構成します。
monitors.cloudStorage.provider: このパラメータはオプションであり、指定されていない場合はローカルファイルシステムにログが生成されます。値AWS_S3が含まれる場合、ログは S3 ストレージサービスにも保存されます。値AZ_BLOBが含まれる場合、ログは Azure Blob Storage サービスにも保存されます。値はカンマで区切る必要があります。monitors.cloudStorage.buffer.size: クラウドストレージに送信されるまでのログイベントの最大数を表します。以下のパラメータに値がない場合、このパラメータは必須です。monitors.cloudStorage.buffer.age: クラウドストレージに送信されるまでにモニターがログイベントを保持する最大時間 (分単位) を表します。前のパラメータに値がない場合、このパラメータは必須です。monitors.cloudStorage.compression.enabled:trueに設定した場合、ログを圧縮してからクラウドストレージに保存します。このパラメータはオプションです。
以下のパラメータは S3 構成専用です。
S3 サービスへのアクセスに必要な資格情報:
monitors.cloudStorage.s3.credentials.awsKey、monitors.cloudStorage.s3.credentials.awsSecretログの保存先は次のパラメータで定義します:
monitors.cloudStorage.s3.destination.region、monitors.cloudStorage.s3.destination.bucket、monitors.cloudStorage.s3.destination.path
以下のパラメータは Azure Blob Storage 構成専用です。
ストレージアカウントのコネクション文字列は
monitors.cloudStorage.azure.storage.connectionStringで指定する必要があります。ログファイルを保存するコンテナーとプレフィックスは、
monitors.cloudStorage.azure.blob.containerパラメータとmonitors.cloudStorage.azure.blob.prefixパラメータで定義されます。
機密情報の保護¶
機密データだと見なされるいくつかの種類の情報を読めなくして保護するように、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 つ目のプロパティの値は無効になります。
