# Конфігурація сервера застосунків

> Дізнайтеся, як визначити шляхи агента для серверів застосунків Java

---

LLMS index: [llms.txt](/llms.txt)

---

При інструментуванні застосунку, який працює на сервері застосунків Java з Java агентом, необхідно додати шлях `javaagent` до аргументів JVM. Спосіб зробити це відрізняється від сервера до сервера.

## JBoss EAP / WildFly

Ви можете додати аргумент `javaagent` в кінці файлу конфігурації standalone:



  <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

Щоб визначити шлях до 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, додайте аргумент `javaagent` після опції `--exec`:

```ini
#===========================================================
# Приклад файлу Jetty start.ini
#-----------------------------------------------------------
--exec
-javaagent:/path/to/opentelemetry-javaagent.jar
```

## Glassfish / Payara

Додайте шлях до Java агента за допомогою інструменту `asadmin`:

   <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.  Відкрийте консоль адміністратора GlassFish за адресою <http://localhost:4848>.
2.  Перейдіть до **Конфігурації > server-config > Налаштування JVM**.
3.  Виберіть **Опції JVM > Додати опцію JVM**.
4.  Введіть шлях до агента: `-javaagent:/path/to/opentelemetry-javaagent.jar`
5.  **Збережіть** і перезапустіть сервер.

Переконайтеся, що файл domain.xml у вашій теці домену містить запис `<jmv-options>` для агента.

## 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`, щоб додати `-javaagent:<Drive>:\path\to\opentelemetry-javaagent.jar` до опцій Java на вкладці Java.

## 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

Додайте шлях до Java агента до файлу `jvm.options`. Для одного сервера редагуйте `${server.config.dir}/jvm.options`, а для всіх серверів редагуйте `${wlp.install.dir}/etc/jvm.options`:

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

Перезапустіть сервер після збереження файлу.

## WebSphere Traditional

Відкрийте консоль адміністратора WebSphere і виконайте наступні кроки:

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

1.  Перейдіть до **Сервери > Тип сервера > Сервери застосунків WebSphere**.
2.  Виберіть сервер.
3.  Перейдіть до **Управління Java та процесами > Визначення процесу**.
4.  Виберіть **Віртуальна машина Java**.
5.  У **Загальні аргументи JVM** введіть шлях до агента: `-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.

Для списку метрик, отриманих з кожного сервера застосунків, виберіть попередню назву або зверніться до [Додаткові деталі та можливості налаштування](https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/jmx-metrics#predefined-metrics).
