アプリケーションデータを収集する
- 1 1. 事前確認
- 2 2.Agent導入
- 2.1 Java Agent
- 2.1.1 トランザクションデータとランタイム情報を取得する
- 2.1.2 ランタイム情報のみ取得する
- 2.2 .NET Agent
- 2.2.1 IIS情報を取得する
- 2.2.2 プロセス情報を取得する
- 2.1 Java Agent
- 3 3. JavaAgent JVM起動引数一覧
- 3.1 WebLogic
- 3.2 Websphere
- 3.3 Interstage
- 3.4 JBoss EAP
- 3.5 resin(Intramart)
- 3.6 Apache Tomcat
1. 事前確認
下記手順が完了している状態で開始します。
Shelty ManagerでHTTPアクセスログのデータ収集を行うホストでは、Java Agentおよび.Net Agentを利用したデータ収集を行わないようにしてください。データが多重計上されてしまい、出力結果として正しい値が表示されなくなります。
2.Agent導入
アプリケーションのトランザクションデータとランタイム情報を収集します(Java, .Net)。
Java Agent
トランザクションデータとランタイム情報を取得する
1.左メニュー「導入設定」画面へ遷移します。
2.「Agent導入」を選択します。
3.対象のシステムと論理サーバを選択します。
4.「+」をクリックし、「Java(AP+RT)」を選択し、「登録」をクリックします。
5.「保存」をクリックします。
高度な設定
「収集の詳細設定を表示する」にチェックを入れると、高度な収集設定のカスタマイズが行えます。パッケージの取得/除外設定、カスタムエントリポイントの追加、メソッドの絞り込み設定等が必要な場合にご利用ください。
6.「Agent種別」列に設定したインスタンスの行があることを確認し、保存ボタンをクリックします。
別のAgent種別を追加する場合は「+」をクリックし、対象のAgentを選択します。
7.JVM起動引数を追加し、再起動します。
NC 導入後にJVM 起動引数の設定を行い、APサーバの再起動を行うとAgent が起動しデータ収集が開始されます。対象環境に応じた設定をしてください。
アプリケーションデータを収集する | 3. JVM起動引数一覧
8.データが収集できているか確認します。
ランタイム情報のみ取得する
1.左メニュー「導入設定」画面へ遷移します。
2.「Agent導入」を選択します。
3.対象のシステムと論理サーバを選択します。
4.「+」をクリックし、「Java(RT)」を選択し、「登録」をクリックします。
5.「保存」をクリックします。
6.「Agent種別」列に設定したインスタンスの行があることを確認し、保存ボタンをクリックします。
別のAgent種別を追加する場合は「+」をクリックし、対象のAgentを選択します。
7.JVM起動引数を追加し、再起動します。
NC 導入後にJVM 起動引数の設定を行い、APサーバの再起動を行うとAgent が起動しデータ収集が開始されます。対象環境に応じた設定をしてください。
アプリケーションデータを収集する | 3. JVM起動引数一覧
8.データが収集できているか確認します。
.NET Agent
IIS情報を取得する
1.左メニュー「導入設定」画面へ遷移します。
2.「Agent導入」を選択します。
3.対象のシステムと論理サーバを選択します。
4.「+」をクリックし、「.NET(IIS)」を選択し、「登録」をクリックします。
5.「保存」をクリックします。
高度な設定
「収集の詳細設定を表示する」にチェックを入れると、高度な収集設定のカスタマイズが行えます。パッケージの取得/除外設定、メソッドの絞り込み設定等が必要な場合にご利用ください。
6.「Agent種別」列に設定したインスタンスの行があることを確認し、保存ボタンをクリックします。
別のAgent種別を追加する場合は「+」をクリックし、対象のAgentを選択します。
7.Windowsプロセスアクティブ化サービス(WAS)を再起動します。
.NET Agent(IIS)を適用するためには、Windowsプロセスアクティブ化サービス(WAS)を再起動してください。WASに関連付けられたサービスは環境によって異なります。再起動後にURLアクセスが発生するとAgentが開始されます。
(例)
net stop was /y
net start w3svc
net start NetMsmqActivator
net start NetPipeActivator
net start NetTcpActivator
適用手順はSheltyのAgent導入画面から確認することが可能です。
Agent導入画面で保存ボタンをクリックすると、.NETの行の備考に「適用手順を表示」のリンクが表示されます。「適用手順を表示」をクリックしてダウンロードされる手順書を参照してください。
8.データが収集できているか確認します。
プロセス情報を取得する
.NET Agentはデフォルトではw3wp.exeプロセスにのみ対応しています。
他のプロセス情報を取得する場合にはこちらの設定を行います
1.左メニュー「導入設定」画面へ遷移します。
2.「Agent導入」を選択します。
3.対象のシステムと論理サーバを選択します。
4.「+」をクリックし、「.NET(プロセス)」を選択し、「登録」をクリックします。
5.「インスタンス名」、「ユーザ名」、「対象とするプロセス名」、「マネージドローダをロードするメソッド」、「取得設定」を入力します。
インスタンス名:指定しない場合(デフォルト)は <PROCESS_NAME>_<OSUSER>
ユーザ名:対象プロセス上でパフォーマンス情報を取得するために、ここで指定したユーザ名は Performance Log Users グループに追加されます。
対象とするプロセス名:拡張子を含むプロセス名を設定します。 (例)UserProc.exe
マネージドローダをロードするメソッド:エージェントをロードするユーザメソッドを設定します。プログラムの初期化処理などの起動直後に1度だけ実行されるメソッドを指定します。「取得設定」で指定するメソッドよりも前に実行されるメソッドを指定します。
例えば、以下のコードでlogic.Method1()をトランザクションルートに設定する場合は、logic.Init()をマネージドローダをロードするメソッドとして設定します。
public class Logic
{
public void Init()
{
}
public void Method1()
{
}
...
class Program
{
static void Main(string[] args)
{
var logic = new Logic();
logic.Init();
logic.Method1();
...
アセンブリ名、タイプ名、メソッド名は完全一致で指定します。
取得設定:トレース対象をアセンブリ#タイプ#メソッド[#ROOT[#URL]] 形式で指定します。アセンブリ名は完全一致で指定してください。タイプ名、メソッド名は*による指定(全てのタイプ/メソッド)または前方一致での指定が可能です。
アセンブリ#タイプ#メソッド#ROOT の指定はトランザクションルートとして扱います。
アセンブリ#タイプ#メソッドの指定はトランザクションルートの子要素として扱います。
メソッドフックがROOTの場合はURLを設定することが可能です。URLでは入力補助として変数を利用可能です。
URL内で利用可能な変数
<host_name> :ホスト名
<instance_name> :インスタンス
<assembly_name> :アセンブリ名
<type_name> :タイプ名
<method_name> :メソッド名
入力がない場合は、
http://<host_name>/<instance_name>/<method_name>として扱います。
6.「保存」をクリックします。
7.起動バッチの編集、アプリケーションの開始
以下のようなバッチファイル経由でアプリケーションを起動してください。
(例)
call C:\iimShelty\module\shelty\dotnet\setcor.bat
UserProc.exe
※プロセス開始時にdotnet Agentでは、<PROCESS_NAME>_<OSUSER>
(例:UserProc_apuser)が登録済みのインスタンスにマッチするか検査します。
8.データが収集できているか確認します。
3. JavaAgent JVM起動引数一覧
NC 導入後にJVM 起動引数の設定を行い、APサーバの再起動を行うとAgent が起動しデータ収集が開始されます。対象環境に応じた設定をしてください。
引数
Instance キー未設定の場合
-javaagent:{JavaAgent のパス}/java/javaagent.jar=instance={Shelty でのInstance番号}
Instance キー設定済みの場合
-javaagent:{JavaAgent のパス}/java/javaagent.jar=instance_key={Agent 導入画面で指定したInstance キー}
※「Shelty でのInstance 番号」とは、Agent 導入画面のJava(AP+RT)の行の「Instance」欄に表示さ
れている数字です。
以下は各APサーバのJVM起動引数設定の例です。
WebLogic
Linuxの場合
-javaagent:/opt/iim/shelty/java/javaagent.jar=instance=1
Windowsの場合
-javaagent:E:\iimShelty\module\shelty\java\javaagent.jar=instance=1
Websphere
Linuxの場合
-javaagent:/opt/iim/shelty/java/javaagent.jar=instance=1
Windowsの場合
-javaagent:E:\iimShelty\module\shelty\java\javaagent.jar=instance=1
追加の設定
「WebSphere Liberty」を使用している場合、Shelty のJava Agent用の引数に加えて、追加の引数指定が必要です。
bootclass delegationの指定が必要となります。以下のパスにファイルが存在しない場合はファイルを作成し、下記の内容を追記してください。
対象ファイルパス
{WebSphere Liberty Profile インストールパス}/wlp/usr/servers/{server name}/bootstrap.properties
追記内容
org.osgi.framework.bootdelegation=jp.co.iim.collie.agent.core,jp.co.iim.collie.agent.instrument.hooks
Interstage
Linuxの場合
-javaagent:/opt/iim/shelty/java/javaagent.jar=instance=1
Windowsの場合
-javaagent:E:\iimShelty\module\shelty\java\javaagent.jar=instance=1
追加の設定
JavaEEを使用している場合、SheltyのJava Agent用の引数に追加で引数の指定が必要です。
【確認方法】
Agent導入サーバで、以下のコマンドを実行してください。
ps -ef | grep FJSVj2ee/var/deployment | grep -v grep
実行結果に何も出力されない場合、JavaEEを使用していると思われます。以降の手順が必要になります。
「V11」の場合
【追加する引数】
対象ファイル
/opt/FJSVisje6/glassfish/config/osgi.properties
追記箇所 パラメータを追記すると以下のようになります |
「V12」の場合
【追加する引数】
Shelty のJava Agent用の引数に以下を追加してください。UNIXメタ文字等の特殊文字については、環境に応じてエスケープが必要な場合があります。
-Dorg.osgi.framework.bootdelegation=${org.osgi.framework.bootdelegation}, jp.co.iim.collie.agent.core, jp.co.iim.collie.agent.instrument.hooks
JBoss EAP
Linuxの場合
-javaagent:/opt/iim/shelty/java/javaagent.jar=instance=1
Windowsの場合
-javaagent:E:\iimShelty\module\shelty\java\javaagent.jar=instance=1
追加の設定
SheltyのJava Agent用の引数に追加で引数の指定が必要です。
JDK8の場合
JVM起動引数にJBossモジュールシステムに対する設定を4つ追加します。
-Djboss.modules.system.pkgs="org.jboss.byteman,org.jboss.logmanager,jp.co.iim.collie.agent"
-Djava.util.logging.manager=org.jboss.logmanager.LogManager <*ここ以降に以下を半角スペースでつなげて追記します。>
追記するファイル名は使用しているJBossバージョンに合わせる必要があるため、ご利用の環境で、以下のファイル名とパスを確認して、上記*部分以降に2つのXbootclasspathを指定して下さい。
jboss-logmanager-<バージョン>.jar
wildfly-common-<バージョン>.jar
(例)
-Xbootclasspath/p:$JBOSS_HOME/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-<バージョン>.jar
-Xbootclasspath/p:$JBOSS_HOME/modules/system/layers/base/org/wildfly/common/main/wildfly-common-<バージョン>.jar
JDK11の場合
JVM起動引数にJBossモジュールシステムに対する設定を5つ追加します。
-Djboss.modules.system.pkgs="org.jboss.byteman,org.jboss.logmanager,jp.co.iim.collie.agent"
-Djava.util.logging.manager=org.jboss.logmanager.LogManager
-Dsun.util.logging.disableCallerCheck=true <*ここ以降に以下を半角スペースでつなげて追記します。>
残り2つについては、以下のファイル名とパスを確認して、Xbootclasspathに指定して下さい。
jboss-logmanager-<バージョン>.jar
wildfly-common-<バージョン>.jar
(例)
-Xbootclasspath/a:$JBOSS_HOME/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-<バージョン>.jar
-Xbootclasspath/a:$JBOSS_HOME/modules/system/layers/base/org/wildfly/common/main/wildfly-common-<バージョン>.jar
resin(Intramart)
Linuxの場合
-javaagent:/opt/iim/shelty/java/javaagent.jar=instance=1
Windowsの場合
-javaagent:E:\iimShelty\module\shelty\java\javaagent.jar=instance=1
Apache Tomcat
Linuxの場合
-javaagent:/opt/iim/shelty/java/javaagent.jar=instance=1
Windowsの場合
-javaagent:E:\iimShelty\module\shelty\java\javaagent.jar=instance=1
Related content
Copyright © IIM. All Rights Reserved.