この付録は、CAMMで使用できるファイルとディレクトリのリストおよび定義です。内容は次のとおりです。
CAMMのインストール後、アプリケーション・パッケージのすべてのコンポーネントは、$CAMM_HOMEディレクトリに配置されます。
次に、CAMMをインストールした後の$CAMM_HOMEディレクトリの構造を示します。
表A-1 $CAMM_HOMEディレクトリ内のディレクトリ
ディレクトリ | 説明 |
---|---|
apache-tomcat-5.5.20 |
CAMM Webアプリケーション(GUI)が存在するTomcatサーバーです。 |
bin |
CAMMの起動と停止、エージェントとCAMM EJBのデプロイヤの実行、およびエクスポート・ユーティリティの実行に使用されるすべての実行可能ファイルを格納します。 |
config |
実行ロジック、CAMMスキーマ有効化、CAMM GUI機能、サービス・レベル目標値定義、エクスポート・ロジックなどを制御するすべてのCAMMランタイム構成パラメータを格納します。 |
darchive |
監視が必要なJ2EEアプリケーションの一時イメージと、J2EEアプリケーションの分析およびモデリングの結果を格納します。このディレクトリは、CAMMが起動して実行された後に作成されます。 |
deploy |
エージェント・ライブラリおよび構成ファイルに加え、CAMM EJBおよびCAMM Admin Webアプリケーションを格納します。これらのコンポーネントは、CAMMパッケージのbinディレクトリにあるdeployerユーティリティを使用してリモート・ホスト(Webまたはアプリケーション・サーバー)にデプロイされます。 |
j2sdk |
CAMMサーバーを実行するために最低限必要なJava SDKを格納します。 |
lib |
CAMMの適切な動作に必要なすべてのライブラリを格納します。 |
log |
CAMMのパフォーマンス・メトリック収集アクティビティのすべての診断レコードを格納します。また、CAMMエージェントの正常なデプロイメントを記録したログもここに含まれます。このディレクトリは、CAMMが起動して実行された後に作成されます。 |
mcconfig |
内部ベース・インスツルメンテーション構成を格納します。これらのファイルは変更しないでください。 |
tmp |
CAMMの必要に応じて使用されるすべてのメタデータ定義を格納します。 |
Uninstall CAMM |
CAMMのアンインストールに使用されるユーティリティを格納します。 |
userdata |
ユーザーごとに保存されるカスタム・ビューを格納します。 |
configディレクトリには、基本的に構成可能で、CAMMを特定の方法で実行するための多くのファイルが含まれます。このディレクトリのファイルを変更した場合、CAMMサーバーの再起動が必要です。
ほとんどのファイルは、ユーザーが直接操作することはありません。次に、目的の効果を得るために手動で構成できる主要な5つのファイルを示します。
ファイル | 説明 |
---|---|
Acsera.properties | このファイルは、カスタマイズすることでCAMMのチューニングに役立つ主要なCAMM構成ファイルです。 |
configuration.xml | このファイルで、管理サーバーとそれにアクセスするための資格証明の場所を定義します。通常、このファイルを操作することはありません。CAMM GUIを通じて全体的な構成を行います。 |
dbconfig.xml | このファイルには、CAMMメトリック・リポジトリのデータベース構成情報が含まれます。 |
export.xml | このファイルには、適切なデータ・エクスポート・ロジックを制御する情報が含まれます。このファイルは、CAMMデータ・リポジトリからパフォーマンス・メトリックおよびイベント・データを手動または自動でエクスポートする場合に使用します。 |
UrlMap.properties | このファイルは、ロード・バランサのアドレスにサーバーのアドレスをマップする場合に使用します。 |
サービス・レベル目標値定義とそれに関連するアクションは、それぞれslo.xmlおよびevent.xmlに記述されています。これらのファイルの内容は、CAMM GUI(「構成」タブ)で適用される定義により完全に制御されます。
/binディレクトリには、CAMMの起動と停止、エージェントとCAMM EJBのデプロイヤの実行、およびエクスポート・ユーティリティの実行に使用されるすべての実行可能ファイルが含まれます。
主に次の2つの理由から、このディレクトリのファイルの内容をカスタマイズします。
Java Runtime EnvironmentおよびCAMMのインストール・ディレクトリ(ACSERA_HOME)の場所に対するポインタを変更するため。
CAMMサーバーのJVMパラメータを構成するため(メモリーなど)。
この章では、カスタマイズする頻度の高いファイルのみを説明します。
このディレクトリのすべてのファイルには、CAMMインストールの場所を示す次の行が含まれます。
UNIXの場合: ACSERA_HOME=/home/CAMM; export ACSERA_HOME
Windowsの場合: set ACSERA_HOME=C:\oracle\em10g\
また、acseraenv.sh(.bat)には、CAMMで使用されるJDKに対する次のポインタが含まれます。
UNIXの場合: JAVA_HOME=/home/oracle/em10g/j2sdk;export JAVA_HOME
Windowsの場合: set JAVA_HOME=C:\oracle\em10g\j2sdk
CAMMは、Javaアプリケーションであり、独自のJVMで稼働します。JVMメモリーのデフォルト・サイズは、600MBです。この値を変更する場合は、acsera.sh(.bat)ファイルの-Xmsおよび-Xmxパラメータを変更します。
CAMMをWindowsサービスとしてインストールしている状態でJVMメモリー・サイズを変更する場合、そのサイズを変更するには、新しいJVMパラメータでWindowsレジストリを更新するか、createmanagerservice.batユーティリティを再実行する必要があります。
acsera.propertiesファイルには、CAMMマネージャの動作を定義するグローバル構成パラメータが含まれます。
Acsera.propertiesファイルのこのセクションでは、ログ・ローテーション・ポリシーを定義します。Log.MaxFilesは、任意の時点で使用可能なログ・ファイルの最大数を示し、Log.MaxFileSizeMBは、ログ・ファイルの最大サイズを示します。
例A-1 ログ・ファイル管理セクション
Log.CopyOut = false Log.MaxFiles = 10 Log.MaxFileSizeMB = 30 Log.MergeLogs = true Debug.CopyOut = false Debug.LogLevel = all Debug.MaxFiles = 10 Debug.MaxFileSizeMB = 30
ログ・ファイルは、logディレクトリに格納されます。
このセクションでは、パスワード・ポリシーとCAMMユーザー・セッション・タイムアウトを適用します。
パスワード・ポリシーを適用するためのパラメータは、次のとおりです。
長さ
有効期限
複雑度
許容される特殊文字
例A-2 ユーザー・パスワード管理
ConfigurationManager.PasswordMinLength=0 ConfigurationManager.PasswordMaxLength=0 ConfigurationManager.PasswordExpDays= ConfigurationManager.PasswordMinLetters=0 ConfigurationManager.PasswordMinDigits=0 ConfigurationManager.PasswordMinSecialChars=0 ConfigurationManager.PasswordSecialCharSet=!@#$%^&*()_+[]
デフォルトでは、長さ、複雑度または有効期限に制限はありません。
パスワードの長さの制御を0(ゼロ)にすると、制限がなくなります。任意の値を指定すると、最小または最大(あるいはその両方)の長さがチェックされます。
パスワードの有効期限に任意の値を指定すると、その日数の経過後にパスワードの期限が切れます。
パスワードの複雑度では、文字、数字および特殊文字のチェックが強制されます。デフォルトでは、複雑度のチェックは行われません。これらのプロパティのいずれかに任意の値を設定すると、CAMMにより複雑度がチェックされます。たとえば、PasswordMinLetters=2という設定では、パスワードに2つ以上の文字を含める必要があります。
特殊文字のチェックでは、デフォルトの特殊文字のリストが存在します。このリストは、構成可能です。
リソース制限パラメータをConfigurationManager.ResourceLimit=2のように設定し、監視するドメインの数を制限できます。
デフォルトは2です。つまり、CAMMは、デフォルトで2以下のアプリケーション・サーバー・ドメインを監視するように設定されます。
CAMMでは、エージェントとの通信にRMIポートを使用し、特定のRMIポートから着信パフォーマンス・メトリックを収集します。デフォルトでは、RMIポートは、CAMMをホストするマシンと同じマシンに設定されます。ホストがマルチホームで構成されており(多くのネットワーク・インタフェースがある場合や、IPv6アドレスを使用している場合など)、CAMMで特定のインタフェースの着信トラフィックを確実にリスニングする必要がある場合、RMI.Registry.Hostのコメントを解除し、localhost以外の値を指定する必要があります。
デフォルトのポート番号である51099が他のアプリケーションに割り当てられている場合、必要に応じてRMI.Registry.Portの値を変更します。また、CAMMが複数インスタンス・モードで稼働している場合、ポート番号はインスタンスごとに異なります。
CAMMには、パフォーマンス・データ集計(または圧縮)用の優れた複数層ロジックがあります。この機能により、プレゼンテーションのデータを問い合せる場合や、新規パフォーマンス・メトリックを挿入する場合に、内部データ・リポジトリとの相互通信のパフォーマンスを最適化できます。
長期的なデータの格納を希望するユーザーは、Acsera.propertiesの次のセクションを確認する必要があります。
######################### # Production setting # NOTE: use Model.GlobalSamplingRateSecs to configure Metric.Grain.0 ######################### Metric.Grain.0 0s Metric.TableInterval.0 = 4h Metric.DataLife.0 = 8d Metric.Grain.1 = 3m Metric.TableInterval.1 =1d Metric.DataLife.1 = 8d #Metric.Grain.2 = 30m #Metric.TableInterval.2 = 7d #Metric.DataLife.2 = 420d
Metric.*.2プロパティでは、最後の3行のコメントを解除します。
CAMMでは、デフォルトで複数のクラスタ・メンバーから着信するデータがアプリケーションごとに集計されるため、データ・リポジトリへの挿入操作の割合が最小化されます。これにより、負荷の高い環境におけるCAMMのパフォーマンスが大幅に向上します。
ただし、この方式の別の側面として、ユーザーはサーバー・レベルでインスツルメンテーション(プロセスおよびポータル)のメトリックを参照できません。この機能を有効化するには、JavaMIP.AggregateInsertsをfalseに設定します。
特定のアプリケーションの不要な監視によるオーバーヘッドを避けるため、どのアプリケーションを監視し、どのアプリケーションを監視から除外するかを明示的に指定できます。
除外するアプリケーションの名前は、ComponentProvider.Application.Excludeプロパティに追加してください。
CAMMマネージャと監視対象のアプリケーション・サーバー間にファイアウォールがある場合、両者間のポートを開放する必要があります。アプリケーション・サーバーのJMXアクセス・ポート以外では、Acsera.propertiesの次の2つのプロパティが特にCAMMで使用されるポートを示しています。
RMI.Registry.Port(デフォルトは51099)
RMI.JavaProvider.ServerPort(デフォルトは55003)
SLO違反が一定の期間続く場合、反復通知の数を意図的に減らすことができます。短期間に発生する同じ違反の通知を抑止するため、CAMMにはSLO抑制機能が用意されています。この機能を有効化すると、SLO違反の発生が短期間に何度か繰り返されても、CAMMはSLO.RearmDelayに定義された期間はSLO違反通知を発行しません。この機能を無効化するには、このパラメータの値を0(ゼロ)に設定します。
SLO.SuppressDelayedAssertsは、期間満了時に違反がまだ続いている場合に、CAMMでSLO通知を発行するかどうかを示します。デフォルトでは、この値はfalseであり、通知が発行されます。
UrlMap.propertiesファイルは、CAMMマネージャのconfigディレクトリに作成され、ロード・バランサとアプリケーション・サーバー間のアドレス・マッピングに使用されます。このファイルの書式は次のとおりです。
# Format: # $app_server_ip = $load_balancer_id # E.g: # http\://localhost\:7001 = http\://localhost\:7005 # # Note: ":" character need to be escaped with "\" # http\://192.168.128.53\:7002 = http\://192.168.3.187\:80 http\://192.168.128.53\:7003 = http\://192.168.3.187\:80 http\://192.168.128.54\:7005 = http\://192.168.128.54\:7011 http\://192.168.128.54\:7006 = http\://192.168.128.54\:7011