ES/1 Shelty Tips

#32 .NETの環境確認が簡単になりました

作成者: IIM 瀬成 (ES/1 Shelty担当)|Nov 21, 2024 7:44:22 AM

 

 

 

こんにちは、ES/1 Shelty担当の瀬成です。

今回は製品機能ではなくES/1 Sheltyを導入する際の、事前の環境確認を簡単にする便利なツールについてご紹介します。

 

ツールで.NETの環境確認ができるようになりました

APM製品を導入する場合、導入可否を判断するための事前の環境確認がかなり大変であることがあります。

 

これには計測を行うシステムへの理解が必要である、オンプレミス・クラウドなど複雑なインフラストラクチャーにシステムが構成されている、といった様々な要因があります。

ES/1 Sheltyにおいては、特に.NET環境で様々な情報を確認する必要がありました。

 

V2.8.0から.NET環境を対象として、このような事前の環境確認を自動化するツールの提供を開始しました。

ここからはそのツールの利用方法についてご説明します。

 

 

ツールの利用方法(IISの場合)

ここではIIS上で稼働しているアプリケーションを対象とした場合の、ツールの利用方法について解説します。

この手順ではIISの一部アプリケーションである「Windowsプロセスアクティブ化サービス」の再起動が発生します。

 

①ツール(profc.7z)をIIMから受領し、環境確認を行うサーバ上へ配置したあと、任意のフォルダで解凍します。
 ツールは以下の4つのファイルから構成されています。

    • ProcCheck.exe

    • profc.bat

    • profc.dll

    • readme.txt

 

 

②チェック対象とするアプリケーションプールを指定します。

 以下のコマンドを管理者権限で実行します。

  ProcCheck.exe -i <チェック対象とするアプリケーションプール名>


③「Windowsプロセスアクティブ化サービス」を再起動します。

 コマンドで再起動を行う場合は、以下のコマンドを実行します。

  net stop was /y
  net start w3svc

 

④アプリケーションにアクセスを行い、httpリクエストを発生させます。

 このタイミングでツールが環境確認を行い、ログを出力します。

 

⑤最後に以下の2つのコマンドを実行したあとに、「Windowsプロセスアクティブ化サービス」を再起動します。

  ProcCheck.exe -u
  ProcCheck.exe

 再起動は③と同じ手順で実施します。
 ※この手順は、この後で .NET Agentを導入するために本ツールをアンインストールするものです。

 

⑥ツールと同じフォルダに確認結果をまとめた「profc_out」フォルダが出力されるので、フォルダごとIIMへ送付します。

 「profc_out」フォルダには以下のような内容が含まれています。

    • イベントログ

    • ツールの確認結果(アプリケーションドメイン・アセンブリ・クラス・メソッド情報など)

 

 

複数のアプリケーションプールを確認したい場合には、⑥の手順までを実施した後、①の手順から実行することで過去の設定や出力物が新しいものへ上書きされます。

そのため、実行するごとに出力物を別のフォルダに移していただき、まとめてIIMへ送付してください。

 

出力物はIIM側で内容を確認し、ES/1 Sheltyでデータ収集が可能な環境か、また設定するために必要な情報を取得することができます。

 

 

ツールの利用方法(プロセスの場合)

ここではバッチプロセスのような、プロセスで稼働しているアプリケーションを対象とした場合の、ツールの利用方法について解説します。

 

①ツール(profc.7z)をIIMから受領し、環境確認を行うサーバ上へ配置したあと、任意のフォルダで解凍します。
 ツールは以下の4つのファイルから構成されています(IISと同様です)。

    • ProcCheck.exe

    • profc.bat

    • profc.dll

    • readme.txt

 

②環境変数「PROFC_APP」にチェック対象とするアプリケーションのフルパスを指定します。

 以下のコマンドを実行します。

  set PROFC_APP=C:\tool\testapp\SampleApp.exe ★チェック対象とするアプリケーションパス

 

③ツールを実行します。

 以下のコマンドで実行します。
 指定するフルパスは環境に合わせて変更します。

  call C:\dotnet_test\profc\profc.bat ★ツール呼び出すバッチファイル

 

④③を実行後、チェック対象のアプリケーションが実行されるため、アプリケーションを終了します。

 

⑤ツールと同じフォルダに確認結果をまとめた「profc_out」フォルダが出力されるので、フォルダごとIIMへ送付します。

 「profc_out」フォルダには以下のような内容が含まれています。

    • イベントログ

    • ツールの確認結果(アプリケーションドメイン・アセンブリ・クラス・メソッド情報など)

 

IISと同様に複数のプロセスを確認したい場合には、⑤の手順までを実施した後、①の手順から実行することで過去の設定や出力物が新しいものへ上書きされます。

そのため、実行するごとに出力物を別のフォルダに移していただき、まとめてIIMへ送付してください。

 

 

注意点

本ツールを利用する際は以下の点にご注意ください。

  • ツールを配置するフォルダ名・パスは英数字のみ対応しています。

    • 日本語や特殊な文字などがパスに含まれている場合には、実行時にエラーします。

 

本ツールは、ES/1 Sheltyの.NETを取得するAgent(.NET Agent)との同居が不可となります。

  •  .NET Agent導入後の環境で本ツールを使用する場合には、事前に以下の手順でNC(Node Controller) を含むES/1 SheltyのAgent全体をアンインストールする必要があります。
    <手順>
     1..NET Agentのアンインストール

      導入設定→Agent導入→導入Agent設定 のところから、Agent種別「.NET(IIS)」をゴミ箱マーク押下で削除
      その際に表示される削除手順に沿って、Agent導入サーバ側で以下コマンドでのアンインスールおよびWASサービスの再起動
      C:\iimShelty\module\shelty\dotnet\installer\DotnetAgentInstaller.exe -o uninstall
    2.NC(Node Controller)のアンインストール
      Agent導入サーバ側でコマンドプロンプトを管理者として起動し、{導入先フォルダ}\module\shelty\に移動してください。
       例:cd C:\iimShelty\module\shelty
      以下のコマンドを実行し、Agentサービスを削除します。
       execnodectl.exe remove
     導入先フォルダ(デフォルト:C:\iimShelty\)配下のフォルダを削除してください。
     ※ 再度、NCや.NET Agentを導入するためにiimSheltyフォルダは削除しないことをお勧めします。

     

 

 

最後に

ES/1 Sheltyでは今後も便利に利用いただけるような機能強化を続けていく予定です。

ぜひご利用いただければ幸いです。