# Отправка логов разработчикам

{% hint style="info" %}
&#x20;**Анализ логов:** Если вы обнаружили ошибку в софте просьба сообщить о ней в течении **48 часов** для того чтоб мы могли просмотреть логи и определить причину.
{% endhint %}

Для сбора логов мы используем софт **ElasticSearch + LogStash** а также **Grafana + vmagent** для сбора аналитики по работе сервера\
Данные логи не содержат приватных ключей или паролей ваших клиентов или админов и сбор ведется исключительно в целях обнаружения ошибок. \
**Логи хранятся на нашем сервере от 14 дней до 10 месяцев в зависимости от типа логов и доступных ресурсов BoxExchanger для хранения логов.**

## Отключение отправки логов и метрик:

Если вы хотите отключить отправку логов работы вашего сервера на наш сервер вам необходимо выполнить несколько команд на вашем сервере на котором у вас расположен API сервис.&#x20;

{% hint style="info" %}
При отключении логов наша команда не сможет анализировать работу вашего сервера и обнаруживать ошибки без доступа к вашему серверу.
{% endhint %}

{% tabs %}
{% tab title="Docker" %}

1. Войти в папку: `/home/runner/api_server/`
2. Добавить в файл `.env` строки:

   <pre class="language-bash" data-title="# .env"><code class="lang-bash">SEND_LOGS=false
   SEND_METRICS=false
   </code></pre>
3. Отредактировать файл `docker-compose.yml`
4. Удалить сервисы `fluent-bit` , `vmagent`  и `cadvisor`
5. Обновить процессы

   ```bash
   docker compose up -d --remove-orphans
   ```

{% endtab %}

{% tab title="Sources" %}

1. Перейдите в деректорию с исходким кодом `exchanger-api`
2. Отройте файл `.env`&#x20;
3. Добавьте в конце файла строку:

   <pre class="language-bash" data-title="# .env"><code class="lang-bash">SEND_LOGS=false
   SEND_METRICS=false
   </code></pre>
4. Перезапустите сервис `$projectName-logstash` или все сервисы:

   ```bash
   pm2 restart all 
   ```

{% hint style="warning" %}
Сервис который отвечает за отправку логов называется : *$projectName***-logstash**&#x20;

`pm2 status`
{% endhint %}
{% endtab %}
{% endtabs %}

## Использование Self hosted ELK:

{% hint style="warning" %}
**Внимание:** Для использование своих серверов у вас должен быть установлен и сконфигурирован ELK, **обратите особое внимание на безопасность установки вашего окружения ELK.**
{% endhint %}

{% hint style="info" %}
При использовании собственных серверов ELK наша команда не сможет анализировать работу вашего сервера и обнаруживать ошибки без доступа к вашему серверу или ELK.
{% endhint %}

{% tabs %}
{% tab title="Configuration" %}

1. Внесите изменения в файл `/home/runner/api_server/.env` :

   <pre class="language-bash" data-title="# .env"><code class="lang-bash">LOGSTASH_URL="https://logstash.hostname"
   </code></pre>

   Данные параметры должны быть установлены в соотвествии с вашим окружением.&#x20;
2. Перезапустить сервис сбора логов:

   ```bash
   docker restart fluent-bit
   ```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://manual.boxexchanger.net/dlya-razrabotchikov/otpravka-logov-razrabotchikam.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
