Solution Manager の監視の構成ファイル¶
Solution Manager に含まれる Denodo Monitor を起動して、1 つの Virtual DataPort サーバーから、あるいはクラスタまたは環境内のすべてのサーバーから実行ログを収集できます。
この付録では、これを手動で構成する方法について説明します。ただし、手動構成はエラーを起こしやすいため、お勧めしません。Solution Manager を使用して GUI で グローバル監視の構成 ([Configuration] > [Monitoring configuration]) または 環境ごとの監視の構成 (環境を開いて [Monitoring] セクションに移動) を作成します。
Solution Manager には、その Denodo Monitor を手動で構成するために使用できる構成テンプレートファイルが 2 つあります。これらのファイルは、フォルダ <SOLUTION_MANAGER_HOME>/conf/solution-manager/denodo-monitor
にあります。
ConfigurationParametersGeneral.template
: 全般的な構成テンプレートファイルConfigurationParametersServer.template
: 特定のサーバープロパティ (ping のタイムアウト、モニター、ping を実行するデータソースのリストなど) が含まれる構成テンプレートファイル
Solution Manager は、これらのテンプレートファイルに基づいて、監視を実行するたびに構成ファイルを生成します。生成されたファイルは ConfigurationParameters.properties
という名前が付けられ、監視対象エレメントの作業フォルダ内にある conf
フォルダに保存されます。
JDBC ログの構成¶
以下のモニターにより生成された情報をデータベースに保存するよう Denodo Monitor を構成することもできます。
クエリモニター
キャッシュモニター
コネクションモニター
データソースモニター
リソースモニター
スレッドモニター
この機能を有効にすると、Denodo Monitor によりこの情報が常にログファイルに保存されるようになります。
この機能を有効にするには、以下の手順に従って実施してください。
データベースの JDBC ドライバー (つまり、データベースの 1 つ以上の jar ファイル) を
<SOLUTION_MANAGER_HOME>/resources/solution-manager-monitor/denodo-monitor/lib
フォルダと<SOLUTION_MANAGER_HOME>/lib/solution-manager-extensions
フォルダにコピーします (詳細については、「 Monitor のテーブルの自動作成 」を参照)。<SOLUTION_MANAGER_HOME>/resources/solution-manager-monitor/denodo-monitor/sql
フォルダに移動し、ログを保存するデータベースのスクリプトを選択します。データベースでこの SQL スクリプトを実行します。このスクリプトによって、テーブル REQUEST_NOTIFICATION、CACHE_NOTIFICATION、CONNECTION_NOTIFICATION、DATASOURCE_POLLING、RESOURCE_POLLING、および THREAD_POLLING が作成されます。
<SOLUTION_MANAGER_HOME>/conf/solution-manager/denodo-monitor/ConfigurationParametersGeneral.template
ファイルを編集します。「Queries Monitor」の情報をデータベースに保存するには、以下の操作を行います。
vdpqueries.jdbcagent.enable
プロパティをtrue
に設定します。使用するデータベースのプロパティグループを見つけて、それらのプロパティのコメントを解除します。たとえば、MySQL を使用する場合、「JDBC Agent Parameters: MySQL」を探し、その下にある 9 つのプロパティのコメントを解除します。次のプロパティを変更します (その他のプロパティは変更しないでください)。
vdpqueries.jdbcagent.url
: このデータベースの URL に設定します。vdpqueries.jdbcagent.user
: このデータベースに接続するユーザー名に設定します。vdpqueries.jdbcagent.password
: このデータベースに接続するユーザー名のパスワードに設定します。暗号化されたパスワードを入力するには、コマンドラインを開き、以下を実行します。
Windows の場合:
cd <SOLUTION_MANAGER_HOME>\resources\solution-manager-monitor\denodo-monitor\bin encrypt_password "<password of the database>"
Linux の場合:
cd <SOLUTION_MANAGER_HOME>/resources/solution-manager-monitor/denodo-monitor/bin ./encrypt_password.sh "<password of the database>"
このプログラムの結果を
vdpqueries.jdbcagent.password
プロパティにコピーして、vdpqueries.jdbcagent.password.encrypted
をtrue
に設定します。
「キャッシュモニター」、「コネクションモニター」、「データソースモニター」、「リソースモニター」、「スレッドモニター」のいずれか、またはすべての情報をデータベースに保存するには、以下の操作を行います。
[vdploadcacheprocesses|vdpconnections|vdpdatasources|resources|threads].jdbcagent.enable
プロパティをtrue
に設定します。前述の手順を繰り返しますが、名前の先頭が
[vdploadcacheprocesses|vdpconnections|vdpdatasources|resources|threads]
となっているプロパティに対して実行します。
Kerberos 構成¶
Kerberos 資格情報を使用するように、JDBC コネクションを構成できます。サポートするオプションは、ユーザーとパスワード、またはユーザーとキータブです。Kerberos による JDBC コネクションを使用するには、次のプロパティを確立してください。
[vdpqueries|vdploadcacheprocesses|vdpconnections|vdpdatasources|resources|threads].jdbcagent.useKerberos
:true
の場合、クエリモニター、キャッシュモニター、コネクションモニター、データソースモニター、リソースモニター、スレッドモニターのいずれか、またはすべてで作成された情報で、Kerberos による JDBC コネクションの作成が試みられます。[vdpqueries|vdploadcacheprocesses|vdpconnections|vdpdatasources|resources|threads].jdbcagent.krbUser
:Kerberos ユーザー[vdpqueries|vdploadcacheprocesses|vdpconnections|vdpdatasources|resources|threads].jdbcagent.krbPassword
および[vdpqueries|vdploadcacheprocesses|vdpconnections|vdpdatasources|resources|threads].jdbcagent.krbPassword.encrypted
:Kerberos パスワード[vdpqueries|vdploadcacheprocesses|vdpconnections|vdpdatasources|resources|threads].jdbcagent.krbKeyTab
:Kerberos keytab のパス[vdpqueries|vdploadcacheprocesses|vdpconnections|vdpdatasources|resources|threads].jdbcagent.krbConfigFile
: デフォルトパスに存在しない場合の、krb5.ini ファイルへのパス[vdpqueries|vdploadcacheprocesses|vdpconnections|vdpdatasources|resources|threads].jdbcagent.krbDriverOptions
: Kerberos による JDBC コネクションの確立時に、ドライバーが使用するカスタムプロパティ。設定されている場合、ネイティブにサポートされた接続プロパティが無効になります。prop1=value1;prop2=value2;... というフォーマットを使用する必要があります。
前のセクションで説明した encrypt_password スクリプトを使用して、krbPassword プロパティ値を暗号化できます。
クラウド保存の構成¶
デフォルトでは、Denodo Monitor はログファイルをローカルファイルシステムに保存しますが、クラウド (AWS S3 および Azure Blob ストレージ) にログファイルを保存するように構成することも可能です。
AWS¶
前提条件として、S3 バケットを作成して、そのバケットの AWS リージョン、バケット名、バケット内のログファイル保存先へのパスを取得する必要があります。
この機能を有効化するには、 <SOLUTION_MANAGER_HOME>/conf/solution-manager/denodo-monitor/ConfigurationParametersGeneral.template
ファイルを編集し、以下の変更を加えます。
プロパティ
monitors.cloudStorage.provider
をコメント解除して、値をAWS_S3
に変更します。以下のプロパティをコメント解除して、S3 アカウントのキーとシークレットをそれぞれの値に設定します。awsSecret プロパティ値が Denodo Monitor の encrypt_password スクリプトを使用して暗号化されている場合、暗号化された値を true に設定します。
monitors.cloudStorage.s3.credentials.awsKey monitors.cloudStorage.s3.credentials.awsSecret monitors.cloudStorage.s3.credentials.awsSecret.encrypted
以下のプロパティをコメント解除して、値を設定します。
monitors.cloudStorage.s3.destination.region monitors.cloudStorage.s3.destination.bucket monitors.cloudStorage.s3.destination.path
これらのプロパティはそれぞれ、AWS バケットのリージョン、バケット名、バケット内のログファイル保存先へのパスを表します。
Azure¶
前提条件として、ストレージアカウントを作成し、そのコネクション文字列を取得する必要があります。ログファイルを保存するコンテナーを任意で作成することができます。
この機能を有効化するには、 <SOLUTION_MANAGER_HOME>/conf/solution-manager/denodo-monitor/ConfigurationParametersGeneral.template
ファイルを編集し、以下の変更を加えます。
プロパティ
monitors.cloudStorage.provider
をコメント解除して、値をAZ_BLOB
に変更します。以下のプロパティをコメント解除して、値を設定します。connectionString プロパティ値が Denodo Monitor の encrypt_password スクリプトを使用して暗号化されている場合、暗号化された値を true に設定します。
monitors.cloudStorage.azure.storage.connectionString monitors.cloudStorage.azure.storage.connectionString.encrypted monitors.cloudStorage.azure.blob.container monitors.cloudStorage.azure.blob.prefix
これらのプロパティはそれぞれ、ストレージアカウントのコネクション文字列、コネクション文字列が Denodo Monitor の encrypt_password スクリプトで暗号化されたかどうかを表すブール値、ログファイルを保存するコンテナーの名前、および Blob に割り当てるプレフィックスを表します。プレフィックスはコンテナー内のパスのように解釈することができます。
共通¶
次の構成プロパティは、AWS と Azure の両方で使用されます。
ログを圧縮してから保存するには、プロパティ
monitors.cloudStorage.compression.enabled
をコメント解除し、値をtrue
に変更します。プロパティ
monitors.cloudStorage.buffer.size
は Denodo Monitor で保存前にメモリ上に保持されるログイベントの最大数を制御します。ほとんどの場合はデフォルト値を使用できますが、変更するにはプロパティをコメント解除してください。プロパティ
monitors.cloudStorage.buffer.age
は Denodo Monitor でログイベントが保存前にメモリ上に保持される最大時間 (分単位) を制御します。ほとんどの場合はデフォルト値を使用できますが、変更するにはプロパティをコメント解除してください。
注釈
AWS S3 と Azure Blob ストレージの両方を構成するには、プロパティ monitors.cloudStorage.provider
に両方の値をコンマで区切って(AWS_S3,AZ_BLOB
) 設定する必要があります。
「プロパティをコメント解除」するには、行の先頭の記号 #
を削除してください。
ここで説明したプロパティは、ほとんどの場合デフォルト値を使用できます。