> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Java SDK для ClickStack — стека обсервабилити ClickHouse

# Java

ClickStack использует стандарт OpenTelemetry для сбора телеметрии (журналов и
трейсов). Трейсы генерируются автоматически с помощью автоматической
инструментации, поэтому ручная
инструментация не нужна, чтобы получить пользу от трассировки.

**В этом руководстве рассматриваются:**

<table>
  <tbody>
    <tr>
      <td className="pe-2">✅ Журналы</td>
      <td className="pe-2">✅ Метрики</td>
      <td className="pe-2">✅ Трейсы</td>
    </tr>
  </tbody>
</table>

<div id="getting-started">
  ## Начало работы
</div>

<Note>
  В настоящее время интеграция совместима только с **Java 8+**
</Note>

<div id="download-opentelemetry-java-agent">
  ### Скачайте Java-агент OpenTelemetry
</div>

Скачайте [`opentelemetry-javaagent.jar`](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar)
и поместите JAR-файл в удобный для вас каталог. JAR-файл содержит агент
и библиотеки инструментирования. Агент также можно скачать с помощью следующей команды:

```shell theme={null}
curl -L -O https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar
```

<div id="configure-environment-variables">
  ### Настройте переменные окружения
</div>

После этого вам нужно задать в оболочке следующие переменные окружения, чтобы передавать телеметрию в ClickStack через OpenTelemetry Collector:

<Tabs>
  <Tab title="Управляемый ClickStack">
    ```shell theme={null}
    export JAVA_TOOL_OPTIONS="-javaagent:PATH/TO/opentelemetry-javaagent.jar" \
    OTEL_EXPORTER_OTLP_ENDPOINT=https://your-otel-collector:4318 \
    OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf \
    OTEL_LOGS_EXPORTER=otlp \
    OTEL_SERVICE_NAME='<NAME_OF_YOUR_APP_OR_SERVICE>'
    ```
  </Tab>

  <Tab title="ClickStack с открытым исходным кодом">
    ```shell theme={null}
    export JAVA_TOOL_OPTIONS="-javaagent:PATH/TO/opentelemetry-javaagent.jar" \
    OTEL_EXPORTER_OTLP_ENDPOINT=https://your-otel-collector:4318 \
    OTEL_EXPORTER_OTLP_HEADERS='authorization=<YOUR_INGESTION_API_KEY>' \
    OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf \
    OTEL_LOGS_EXPORTER=otlp \
    OTEL_SERVICE_NAME='<NAME_OF_YOUR_APP_OR_SERVICE>'
    ```
  </Tab>
</Tabs>

*Переменная окружения `OTEL_SERVICE_NAME` используется для идентификации вашего сервиса в приложении HyperDX; вы можете указать для неё любое имя.*

Переменная окружения `OTEL_EXPORTER_OTLP_HEADERS` содержит ключ API, доступный в приложении HyperDX в разделе `Team Settings → API Keys`.

<div id="run-the-application-with-otel-java-agent">
  ### Запустите приложение с Java-агентом OpenTelemetry
</div>

```shell theme={null}
java -jar target/<APPLICATION_JAR_FILE>
```

<br />

Подробнее об инструментировании Java с помощью OpenTelemetry читайте здесь: [https://opentelemetry.io/docs/instrumentation/java/](https://opentelemetry.io/docs/instrumentation/java/)
