# アプリケーションサーバーの設定

> Java アプリケーションサーバーのエージェントパスの定義方法を学ぶ

---

Site [llms.txt](/ja/llms.txt)

---

Java エージェントを使用して Java アプリケーションサーバー上で動作するアプリを計装する場合、JVM 引数に `javaagent` パスを追加する必要があります。
追加方法はサーバーによって異なります。

## JBoss EAP / WildFly {#jboss-eap--wildfly}

スタンドアロン設定ファイルの末尾に `javaagent` 引数を追加できます。



  <ul class="nav nav-tabs" id="tabs-0" role="tablist">
  <li class="nav-item">
      <button class="nav-link active"
          id="tabs-00-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-00" role="tab"
          data-td-tp-persist="linux" aria-controls="tabs-00-00" aria-selected="true">
        Linux
      </button>
    </li><li class="nav-item">
      <button class="nav-link"
          id="tabs-00-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-01" role="tab"
          data-td-tp-persist="windows" aria-controls="tabs-00-01" aria-selected="false">
        Windows
      </button>
    </li>
</ul>

<div class="tab-content" id="tabs-0-content">
    <div class="tab-body tab-pane fade show active"
        id="tabs-00-00" role="tabpanel" aria-labelled-by="tabs-00-00-tab" tabindex="0">
        <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl"><span class="c1"># standalone.conf に追加</span>
</span></span><span class="line"><span class="cl"><span class="nv">JAVA_OPTS</span><span class="o">=</span><span class="s2">&#34;</span><span class="nv">$JAVA_OPTS</span><span class="s2"> -javaagent:/path/to/opentelemetry-javaagent.jar&#34;</span>
</span></span></code></pre></div>
    </div>
    <div class="tab-body tab-pane fade"
        id="tabs-00-01" role="tabpanel" aria-labelled-by="tabs-00-01-tab" tabindex="0">
        <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bat" data-lang="bat"><span class="line"><span class="cl"><span class="c1">rem standalone.conf.bat に追加</span>
</span></span><span class="line"><span class="cl"><span class="k">set</span> <span class="s2">&#34;JAVA_OPTS=</span><span class="nv">%JAVA_OPTS%</span><span class="s2"> -javaagent:&lt;Drive&gt;:\path\to\opentelemetry-javaagent.jar&#34;</span>
</span></span></code></pre></div>
    </div>
</div>


## Jetty {#jetty}

Java エージェントのパスを定義するには、`-javaagent` 引数を使用します。

```shell
java -javaagent:/path/to/opentelemetry-javaagent.jar -jar start.jar
```

`jetty.sh` ファイルを使って Jetty を起動する場合は、`\<jetty_home\>/bin/jetty.sh` ファイルに以下の行を追加します。

```shell
JAVA_OPTIONS="${JAVA_OPTIONS} -javaagent:/path/to/opentelemetry-javaagent.jar"
```

start.ini ファイルを使って JVM 引数を定義する場合は、`--exec` オプションの後に `javaagent` 引数を追加します。

```ini
#===========================================================
# Jetty start.ini ファイルのサンプル
#-----------------------------------------------------------
--exec
-javaagent:/path/to/opentelemetry-javaagent.jar
```

## Glassfish / Payara {#glassfish--payara}

`asadmin` ツールを使って Java エージェントのパスを追加します。

   <ul class="nav nav-tabs" id="tabs-1" role="tablist">
  <li class="nav-item">
      <button class="nav-link active"
          id="tabs-01-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-01-00" role="tab"
          data-td-tp-persist="linux" aria-controls="tabs-01-00" aria-selected="true">
        Linux
      </button>
    </li><li class="nav-item">
      <button class="nav-link"
          id="tabs-01-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-01-01" role="tab"
          data-td-tp-persist="windows" aria-controls="tabs-01-01" aria-selected="false">
        Windows
      </button>
    </li>
</ul>

<div class="tab-content" id="tabs-1-content">
    <div class="tab-body tab-pane fade show active"
        id="tabs-01-00" role="tabpanel" aria-labelled-by="tabs-01-00-tab" tabindex="1">
        <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">&lt;server_install_dir&gt;/bin/asadmin create-jvm-options <span class="s2">&#34;-javaagent\:/path/to/opentelemetry-javaagent.jar&#34;</span>
</span></span></code></pre></div>
    </div>
    <div class="tab-body tab-pane fade"
        id="tabs-01-01" role="tabpanel" aria-labelled-by="tabs-01-01-tab" tabindex="1">
        <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="p">&lt;</span><span class="n">server_install_dir</span><span class="p">&gt;\</span><span class="n">bin</span><span class="p">\</span><span class="n">asadmin</span><span class="p">.</span><span class="py">bat</span> <span class="nb">create-jvm</span><span class="n">-options</span> <span class="s1">&#39;-javaagent\:&lt;Drive&gt;\:\\path\\to\\opentelemetry-javaagent.jar&#39;</span>
</span></span></code></pre></div>
    </div>
</div>


管理コンソールから `-javaagent` 引数を追加することもできます。
たとえば、以下の手順で行います。

1.  <http://localhost:4848> で GlassFish 管理コンソールを開きます。
2.  **Configurations > server-config > JVM Settings** に移動します。
3.  **JVM Options > Add JVM Option** を選択します。
4.  エージェントのパスを入力します。
    `-javaagent:/path/to/opentelemetry-javaagent.jar`
5.  **Save** をクリックしてサーバーを再起動します。

ドメインディレクトリ内の domain.xml ファイルに、エージェントの `<jmv-options>` エントリーが含まれていることを確認してください。

## Tomcat / TomEE {#tomcat--tomee}

起動スクリプトに Java エージェントのパスを追加します。
設定方法はインストール方法によって異なります。

**パッケージマネージャーによるインストール**（apt-get/yum）の場合、`/etc/tomcat*/tomcat*.conf` に追加します。

```sh
JAVA_OPTS="$JAVA_OPTS -javaagent:/path/to/opentelemetry-javaagent.jar"
```

**ダウンロードによるインストール**の場合、`<tomcat>/bin/setenv.sh`（Linux）または `<tomcat>/bin/setenv.bat`（Windows）を作成または編集します。



  <ul class="nav nav-tabs" id="tabs-2" role="tablist">
  <li class="nav-item">
      <button class="nav-link active"
          id="tabs-02-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-02-00" role="tab"
          data-td-tp-persist="linux" aria-controls="tabs-02-00" aria-selected="true">
        Linux
      </button>
    </li><li class="nav-item">
      <button class="nav-link"
          id="tabs-02-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-02-01" role="tab"
          data-td-tp-persist="windows" aria-controls="tabs-02-01" aria-selected="false">
        Windows
      </button>
    </li>
</ul>

<div class="tab-content" id="tabs-2-content">
    <div class="tab-body tab-pane fade show active"
        id="tabs-02-00" role="tabpanel" aria-labelled-by="tabs-02-00-tab" tabindex="2">
        <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl"><span class="c1"># &lt;tomcat_home&gt;/bin/setenv.sh に追加</span>
</span></span><span class="line"><span class="cl"><span class="nv">CATALINA_OPTS</span><span class="o">=</span><span class="s2">&#34;</span><span class="nv">$CATALINA_OPTS</span><span class="s2"> -javaagent:/path/to/opentelemetry-javaagent.jar&#34;</span>
</span></span></code></pre></div>
    </div>
    <div class="tab-body tab-pane fade"
        id="tabs-02-01" role="tabpanel" aria-labelled-by="tabs-02-01-tab" tabindex="2">
        <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bat" data-lang="bat"><span class="line"><span class="cl"><span class="c1">rem &lt;tomcat_home&gt;\bin\setenv.bat に追加</span>
</span></span><span class="line"><span class="cl"><span class="k">set</span> <span class="nv">CATALINA_OPTS</span><span class="p">=</span><span class="nv">%CATALINA_OPTS%</span> -javaagent:<span class="s2">&#34;&lt;Drive&gt;:\path\to\opentelemetry-javaagent.jar&#34;</span>
</span></span></code></pre></div>
    </div>
</div>


**Windows サービスとしてインストールした場合**は、`<tomcat>/bin/tomcat*w.exe` を使用し、Java タブの Java Options に `-javaagent:<Drive>:\path\to\opentelemetry-javaagent.jar` を追加します。

## WebLogic {#weblogic}

ドメインの起動スクリプトに Java エージェントのパスを追加します。



  <ul class="nav nav-tabs" id="tabs-3" role="tablist">
  <li class="nav-item">
      <button class="nav-link active"
          id="tabs-03-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-03-00" role="tab"
          data-td-tp-persist="linux" aria-controls="tabs-03-00" aria-selected="true">
        Linux
      </button>
    </li><li class="nav-item">
      <button class="nav-link"
          id="tabs-03-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-03-01" role="tab"
          data-td-tp-persist="windows" aria-controls="tabs-03-01" aria-selected="false">
        Windows
      </button>
    </li>
</ul>

<div class="tab-content" id="tabs-3-content">
    <div class="tab-body tab-pane fade show active"
        id="tabs-03-00" role="tabpanel" aria-labelled-by="tabs-03-00-tab" tabindex="3">
        <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl"><span class="c1"># &lt;domain_home&gt;/bin/startWebLogic.sh に追加</span>
</span></span><span class="line"><span class="cl"><span class="nb">export</span> <span class="nv">JAVA_OPTIONS</span><span class="o">=</span><span class="s2">&#34;</span><span class="nv">$JAVA_OPTIONS</span><span class="s2"> -javaagent:/path/to/opentelemetry-javaagent.jar&#34;</span>
</span></span></code></pre></div>
    </div>
    <div class="tab-body tab-pane fade"
        id="tabs-03-01" role="tabpanel" aria-labelled-by="tabs-03-01-tab" tabindex="3">
        <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bat" data-lang="bat"><span class="line"><span class="cl"><span class="c1">rem &lt;domain_home&gt;\bin\startWebLogic.cmd に追加</span>
</span></span><span class="line"><span class="cl"><span class="k">set</span> <span class="nv">JAVA_OPTIONS</span><span class="p">=</span><span class="nv">%JAVA_OPTIONS%</span> -javaagent:<span class="s2">&#34;&lt;Drive&gt;:\path\to\opentelemetry-javaagent.jar&#34;</span>
</span></span></code></pre></div>
    </div>
</div>


マネージドサーバーインスタンスの場合は、管理コンソールから `-javaagent` 引数を追加します。

## WebSphere Liberty Profile {#websphere-liberty-profile}

`jvm.options` ファイルに Java エージェントのパスを追加します。
単一サーバーの場合は `${server.config.dir}/jvm.options` を、すべてのサーバーの場合は `${wlp.install.dir}/etc/jvm.options` を編集します。

```ini
-javaagent:/path/to/opentelemetry-javaagent.jar
```

ファイルを保存した後、サーバーを再起動します。

## WebSphere Traditional {#websphere-traditional}

WebSphere 管理コンソールを開き、以下の手順に従います。

<!-- markdownlint-disable blanks-around-fences -->

1.  **Servers > Server type > WebSphere application servers** に移動します。
2.  サーバーを選択します。
3.  **Java and Process Management > Process Definition** に移動します。
4.  **Java Virtual Machine** を選択します。
5.  **Generic JVM arguments** にエージェントのパスを入力します。
    `-javaagent:/path/to/opentelemetry-javaagent.jar`
6.  設定を保存してサーバーを再起動します。

## 事前定義済み JMX メトリクスの有効化 {#enable-predefined-jmx-metrics}

Java エージェントには、いくつかの一般的なアプリケーションサーバー向けに事前定義済みの JMX メトリクス設定が含まれていますが、デフォルトでは有効になっていません。
事前定義済みメトリクスの収集を有効にするには、`otel.jmx.target.system` システムプロパティの値にターゲットのリストを指定します。
たとえば、以下のように指定します。

```bash
$ java -javaagent:path/to/opentelemetry-javaagent.jar \
     -Dotel.jmx.target.system=jetty,tomcat \
     ... \
     -jar myapp.jar
```

`otel.jmx.target.system` に指定できるアプリケーションサーバーの値は以下のとおりです。

- [`jetty`](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/instrumentation/jmx-metrics/library/jetty.md)
- [`tomcat`](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/instrumentation/jmx-metrics/library/tomcat.md)
- [`wildfly`](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/instrumentation/jmx-metrics/library/wildfly.md)

> [!NOTE]
>
> このリストは網羅的ではなく、他の JMX ターゲットシステムもサポートされています。

各アプリケーションサーバーから抽出されるメトリクスのリストについては、上記のリンクを選択するか、[Additional details and customization capabilities](https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/jmx-metrics#predefined-metrics) を参照してください。
