ColdFusion_2021_PerformanceMonitoringToolset_WWEJ_Win64.exe をダブルクリックしてインストーラーを起動します。続行するには、「次へ」をクリックします。
インストーラー画面とサイレントモードを使用して ColdFusion Performance Monitoring Toolset をインストールする手順は次のとおりです。
Performance Monitoring Toolset をインストールする前に、ColdFusion パッケージマネージャーを使用して pmtagent パッケージをインストールする必要があります。
デプロイ
様々な ColdFusion ノードに Performance Monitoring Toolset をデプロイするための詳細なガイドについては、デプロイガイドを参照してください。
Windows
-
-
使用許諾契約の画面で「次へ」をクリックして次に進みます。
-
インストールするコンポーネントを選択します。
既にデータストアを設定している場合は、「データストア」オプションを選択する必要はありません。その場合は、後の画面でリモート IP とポートを指定します。
-
Performance Monitoring Toolset をインストールするには、場所を選択します。続行するには、「次へ」をクリックします。
-
Performance Monitoring Toolset のデフォルトの HTTP ポートは 9101 です。ただし、別のポートを指定して、PMT を設定することもできます。
続行するために、「次へ」をクリックします。
-
管理者の資格情報を入力します。Performance Monitoring Toolset にログインするには、ユーザー名とパスワードを指定します。
-
データストアを設定します。データストアをインストールしていない場合は、ホストおよびポート番号を指定してインストールできます。
データストアがインストールされている場合は、リモートホスト名とポート番号、データストアが配置されているクラスターを入力します。
続行するには、「次へ」をクリックします。
-
プリインストールの要約を確認します。Performance Monitoring Toolset をインストールするには、「インストール」をクリックします。
インストールが正常に完了すると、Performance Monitoring Toolset ダッシュボードがデフォルトブラウザーに起動されます。
Linux
インストールの前に、以下を確認します。
- 開いているファイルの最大数が 65537 以上であること。コマンド ulimit -n 65536 を使用します。
- マップの最大数が 262145 以上であること。この下限を増やすには、コマンド sysctl -w vm.max_map_count=262144 を使用します。
- ルートユーザー以外のユーザーが存在すること。
-
インストーラーを起動するには、次のコマンドを入力します。/ColdFusion_2021_PerformanceMonitoringToolset_WWEJ_linux64.bin
-
インストール後、データストアプロセスと Performance Monitoring Toolset プロセスが起動されます。
-
データストアにアクセスするには、インストール後に http://<PMT-Host>:<port> という URL にアクセスします。
-
sudo <PMTLocation>/bin/init.sh install を実行することで、init スクリプトを設定できます。
Mac OS の場合も、手順は Windows の場合と同じです。
Performance Monitoring Toolset のサイレントインストール
プロパティファイルの作成
silent.properties ファイルは、インストールパラメーターを定義する ASCII テキストファイルです。ファイルで指定された詳細を指定します。インストールタイプに適用するもののみを選択します。
プロパティファイルの保存
別の名前を使用したり、別のディレクトリに保存したりできます。
複数のインストーラープロパティファイルが必要な場合、各ファイルにわかりやすい名前を付けます。
インストーラーの実行
次のいずれかの方法で、サイレントインストーラーを実行できます。
- コマンドラインを使用して。
- バッチファイルまたはスクリプトを使用して。
次の表に、様々なオペレーティングシステムでインストーラーを実行する場合のコマンドラインオプションを示します。
OS |
コマンド |
---|---|
UNIX |
./ColdFusion_2021_PerformanceMonitoringToolset_WWEJ_Linux64.bin [-f propertiesFilePath] |
Windows |
ColdFusion_2021_PerformanceMonitoringToolset_WWEJ_Win64.exe [-f propertiesFilePath]。例えば、Performance Monitoring Toolset をサイレントインストールする場合は、コマンド ColdFusion_2021_PerformanceMonitoringToolset_WWEJ_Win64.exe -f silent.properties を実行します。 |
サイレントインストーラーのプロパティ
# サイレントモードで起動するようにインストーラーに通知する。INSTALLER_UI=SILENT # インストーラーで Performance Monitoring Toolset コンポーネントをインストールする必要がある場合は、INSTALL_PMT を 1 にする。それ以外の場合は、INSTALL_PMT を 0 にする。# Performance Monitoring Toolset コンポーネントをインストールする場合、コンポーネントはローカル(INSTALL_DATASTORE=1)またはリモート(INSTALL_DATASTORE=0)にあるデータストアに接続する必要がある。 INSTALL_PMT=1 # INSTALL_PMT=1 の場合にのみ、以下の変数を設定する。 # PMT_HOSTNAME は 127.0.0.1、システムのホスト名、システムの IP アドレスのいずれかにする必要がある。ポートは空いている必要がある。# http://PMT_HOSTNAME:PMT_PORT という URL で管理者ダッシュボードにアクセスするには、Performance Monitoring Toolset サービスまたはプロセスが稼働している必要がある。 PMT_HOSTNAME=127.0.0.1 PMT_PORT=9101 # Performance Monitoring Toolset 管理者ダッシュボードのログイン資格情報。 USERNAME=admin PASSWORD=Test#1234 PASSWORD_CONFIRM=Test#1234 # インストーラーでデータストアをインストールする必要がある場合は、INSTALL_DATASTORE を 1 に設定する。それ以外の場合は、INSTALL_DATASTORE を 0 にする。INSTALL_DATASTORE=1 # INSTALL_DATASTORE=1 の場合、次の 2 つの変数はローカルインストールに使用される。それ以外の場合は、データストアを削除するための接続に使用される。 # 127.0.0.1 または 0.0.0.0 はホスト名として使用できない。ホスト名は、システムのホスト名または IP アドレスにする必要がある # デフォルトのポートは 9200。ポートは空いている必要がある。DATASTORE_HOSTNAME=HostNameorIPAddressoftheSystem DATASTORE_PORT=9200 DATASTORE_PORT_CLUSTER=9300 # オプションのプロパティ # Performance Monitoring Toolset をインストールする場所 # Windows でのデフォルトの場所 USER_INSTALL_DIR=C:\\ColdFusion2018PerformanceMonitoringToolset # Mac OS X でのデフォルトの場所 # USER_INSTALL_DIR=/Applications/ColdFusion2018PerformanceMonitoringToolset # Linux または Solaris でのデフォルトの場所 # USER_INSTALL_DIR=/opt/coldfusion2018performancemonitoringtoolset # Linux および Solaris プラットフォームの場合のみ。 # システムにランタイムユーザーが存在することを確認する。 # 「nobody」をデフォルトのユーザー名として設定する(これが Linux および Solaris プラットフォームでの最低特権アカウントなので)。 # RUNTIME_USER=nobody
インストール時の問題
Performance Monitoring Toolset のインストール後、ダッシュボードが表示されないことがあります。ログに次の例外が表示されます。
[ERROR] 2023-12-04 17:49:03.537 io.undertow.request - UT005023: Exception handling request to /dashboard jakarta.servlet.ServletException: org.glassfish.jersey.server.ContainerException: java.lang.NoClassDefFoundError: Could not initialize class org.xnio.conduits.Conduits at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:410) ~[jersey-container-servlet-core-3.0.9.jar:?] at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346) ~[jersey-container-servlet-core-3.0.9.jar:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:358) ~[jersey-container-servlet-core-3.0.9.jar:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:311) ~[jersey-container-servlet-core-3.0.9.jar:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205) ~[jersey-container-servlet-core-3.0.9.jar:?] at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) ~[undertow-servlet-jakarta-2.2.20.Final.jar:2.2.20.Final] at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) ~[undertow-servlet-jakarta-2.2.20.Final.jar:2.2.20.Final] at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) ~[undertow-servlet-jakarta-2.2.20.Final.jar:2.2.20.Final] at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) ~[undertow-servlet-jakarta-2.2.20.Final.jar:2.2.20.Final] at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) ~[undertow-servlet-jakarta-2.2.20.Final.jar:2.2.20.Final] at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117) ~[undertow-servlet-jakarta-2.2.20.Final.jar:2.2.20.Final] at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) ~[undertow-servlet-jakarta-2.2.20.Final.jar:2.2.20.Final] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.2.23.Final.jar:2.2.23.Final] at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) ~[undertow-core-2.2.23.Final.jar:2.2.23.Final] at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) ~[undertow-servlet-jakarta-2.2.20.Final.jar:2.2.20.Final] at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) ~[undertow-core-2.2.23.Final.jar:2.2.23.Final] at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77) ~[undertow-servlet-jakarta-2.2.20.Final.jar:2.2.20.Final] at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) ~[undertow-core-2.2.23.Final.jar:2.2.23.Final] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.2.23.Final.jar:2.2.23.Final] at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52) ~[undertow-servlet-jakarta-2.2.20.Final.jar:2.2.20.Final] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.2.23.Final.jar:2.2.23.Final] at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:275) ~[undertow-servlet-jakarta-2.2.20.Final.jar:2.2.20.Final] at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:79) ~[undertow-servlet-jakarta-2.2.20.Final.jar:2.2.20.Final] at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:134) ~[undertow-servlet-jakarta-2.2.20.Final.jar:2.2.20.Final] at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:131) ~[undertow-servlet-jakarta-2.2.20.Final.jar:2.2.20.Final] at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) ~[undertow-servlet-jakarta-2.2.20.Final.jar:2.2.20.Final] at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) ~[undertow-servlet-jakarta-2.2.20.Final.jar:2.2.20.Final] at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:255) ~[undertow-servlet-jakarta-2.2.20.Final.jar:2.2.20.Final] at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:79) ~[undertow-servlet-jakarta-2.2.20.Final.jar:2.2.20.Final] at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:100) ~[undertow-servlet-jakarta-2.2.20.Final.jar:2.2.20.Final] at io.undertow.server.Connectors.executeRootHandler(Connectors.java:393) ~[undertow-core-2.2.23.Final.jar:2.2.23.Final] at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:852) ~[undertow-core-2.2.23.Final.jar:2.2.23.Final] at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) ~[jboss-threads-3.1.0.Final.jar:3.1.0.Final] at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2019) ~[jboss-threads-3.1.0.Final.jar:3.1.0.Final] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1558) ~[jboss-threads-3.1.0.Final.jar:3.1.0.Final] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1449) ~[jboss-threads-3.1.0.Final.jar:3.1.0.Final] at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282) ~[xnio-api-3.8.7.Final.jar:3.8.7.Final] at java.lang.Thread.run(Thread.java:833) ~[?:?] Caused by: org.glassfish.jersey.server.ContainerException: java.lang.NoClassDefFoundError: Could not initialize class org.xnio.conduits.Conduits at org.glassfish.jersey.servlet.internal.ResponseWriter.rethrow(ResponseWriter.java:255) ~[jersey-container-servlet-core-3.0.9.jar:?] at org.glassfish.jersey.servlet.internal.ResponseWriter.failure(ResponseWriter.java:237) ~[jersey-container-servlet-core-3.0.9.jar:?] at org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:445) ~[jersey-server-3.0.9.jar:?] at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:264) ~[jersey-server-3.0.9.jar:?] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) ~[jersey-common-3.0.9.jar:?] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) ~[jersey-common-3.0.9.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:292) ~[jersey-common-3.0.9.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:274) ~[jersey-common-3.0.9.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:244) ~[jersey-common-3.0.9.jar:?] at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265) ~[jersey-common-3.0.9.jar:?] at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:235) ~[jersey-server-3.0.9.jar:?] at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:684) ~[jersey-server-3.0.9.jar:?] at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:394) ~[jersey-container-servlet-core-3.0.9.jar:?] ... 37 more
これは Windows 固有の問題です。Windows では、レジストリに NUL エントリがない場合、Undertow サーバーがリクエストに応答できません。つまり、
- データストアサービスが作成されず、Performance Monitoring Toolset が起動しません。
- Performance Monitoring Toolset ダッシュボードにアクセスできないので、CNF 例外が発生します。
回避策
NUL レジストリがない場合は、次の手順に従います。
- .reg ファイルを生成します。
- regedit を実行します。
- 上記の .reg ファイルを読み込みます。
- Windows を再起動します。