---
title: 'Логи облачного балансировщика нагрузки'
sidebar_label: 'Логи балансировщика нагрузки'
description: 'Как включить логирование для балансировщика, какая информация содержится в логах и как получить логи'
sidebar_position: 7
---

import Formbricks from '@theme/MDXComponents/Formbricks';
import { CustomTable } from '@selectel/docux/components';
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import { TabItemLabel } from '@selectel/docux/components';
import MoreVerticalIcon from '@selectel/docux/icons/more-vertical';
import EditIcon from '@selectel/docux/icons/edit';
import CopyIcon from '@selectel/docux/icons/copy';

# Логи облачного балансировщика нагрузки

Для логирования балансировщика нагрузки используется сервис [Логи](/logs/).
Подробнее о принципе работы и стоимости сервиса в инструкции [Общая информация о сервисе Логи](/logs/about-logs.mdx).
Посмотреть доступность сервиса Логи для балансировщиков нагрузки в локациях можно в подразделе [Логи](/infrastructure/product-availability-by-location.mdx#logs) инструкции [Доступность продуктов в локациях](/infrastructure/product-availability-by-location.mdx).

Для балансировщика нагрузки логируются следующие типы событий:

* HTTP-запрос;
* TCP-соединение;
* административное событие — изменение [статуса сервера](/cloud-servers/load-balancers/target-groups/target-group-statuses.mdx#server-statuses) в [целевой группе](/cloud-servers/load-balancers/about-load-balancers.mdx#target-groups).

В зависимости от типа события для него записывается разный набор [полей](#fields).

Чтобы собирать логи балансировщика нагрузки, нужно [включить логирование для балансировщика](#enable-logs-for-load-balancer).
[Получить логи](#get-logs) можно только через API.
Если вам больше не нужно собирать логи, вы можете [выключить логирование](#disable-logs-for-load-balancer).

## Включить логирование для балансировщика нагрузки \{#enable-logs-for-load-balancer}

Вы можете включить логирование через API или в панели управления — при [создании балансировщика нагрузки](/cloud-servers/load-balancers/create-load-balancer.mdx) или [для существующего балансировщика](#enable-logs-for-existing-load-balancer).

### Включить логирование для существующего балансировщика нагрузки \{#enable-logs-for-existing-load-balancer}

Логирование использует часть вычислительных ресурсов балансировщика.

<Tabs queryString="enable-logs-for-existing-load-balancer">
  <TabItem value="panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/vpc/default/lbaas/load-balancers/) в верхнем меню нажмите **Продукты** и выберите **Облачные серверы**.
    2. Перейдите в раздел **Балансировщики** → вкладка **Балансировщики**.
    3. Откройте страницу балансировщика.
    4. В блоке **Настройки** в поле **Логирование** нажмите <EditIcon />.
    5. Отметьте чекбокс **Собирать технические логи балансировщика**.
    6. Выберите группу логов или создайте новую группу. В одну группу можно записывать логи одного или нескольких балансировщиков.
    7. Если вы выбрали новую группу, введите ее имя.
    8. Нажмите **Сохранить**.
  </TabItem>

  <TabItem value="openstack">
    <TabItemLabel>
      OpenStack API
    </TabItemLabel>

    1. [Получите IAM-токен для проекта](/api/authorization/#iam-token-project-scoped), в котором создан балансировщик.

    2. В выводе запроса скопируйте значение `X-Subject-Token`.

    3. Откройте CLI.

    4. Включите логирование для балансировщика:

       ```bash
       curl --location --request PUT 'https://<pool>.cloud.api.selcloud.ru/load-balancer/v2/lbaas/loadbalancers/<loadbalancer_uuid>/log_offloading' \
         --header 'X-Auth-Token: <x_auth_token>' \
         --header 'Content-Type: application/json;charset=utf-8' \
         --data '{
             "log_group": "<log_group_name>"
         }
       ```

       Укажите:

       * `<pool>` — [пул](/infrastructure/locations.mdx#pool), в котором создан балансировщик, например `ru-8`. Адрес (URL) зависит от региона и пула, можно посмотреть в [списке URL](/api/urls/);
       * `<loadbalancer_uuid>` — ID балансировщика. Посмотреть ID можно в [панели управления](https://my.selectel.ru/vpc/default/lbaas/load-balancers/): в верхнем меню нажмите **Продукты** → **Облачные серверы** → **Балансировщики** → страница балансировщика → под именем балансировщика нажмите <CopyIcon />;
       * `<x_auth_token>` — IAM-токен для проекта, который вы скопировали на шаге 2;
       * `<log_group_name>` — имя группы логов, куда будут записываться логи балансировщика. Подробнее о группах логов в подразделе [Принцип работы](/logs/about-logs.mdx#principle-of-operation) инструкции Общая информация о сервисе Логи.
  </TabItem>
</Tabs>

## Выключить логирование для балансировщика нагрузки \{#disable-logs-for-load-balancer}

<Tabs queryString="disable-logs-for-load-balancer">
  <TabItem value="panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/vpc/default/lbaas/load-balancers/) в верхнем меню нажмите **Продукты** и выберите **Облачные серверы**.
    2. Перейдите в раздел **Балансировщики** → вкладка **Балансировщики**.
    3. Откройте страницу балансировщика.
    4. В блоке **Настройки** в поле **Логирование** нажмите <EditIcon />.
    5. Снимите чекбокс **Собирать технические логи балансировщика**.
    6. Нажмите **Сохранить**.
  </TabItem>

  <TabItem value="openstack">
    <TabItemLabel>
      OpenStack API
    </TabItemLabel>

    1. [Получите IAM-токен для проекта (X-Auth-Token)](/api/authorization/#iam-token-project-scoped).

    2. В выводе запроса скопируйте значение `X-Subject-Token`.

    3. Откройте CLI.

    4. Выключите логирование для балансировщика:

       ```bash
       curl --location --request DELETE 'https://<pool>.cloud.api.selcloud.ru/load-balancer/v2/lbaas/loadbalancers/<loadbalancer_uuid>/log_offloading' \
         --header 'X-Auth-Token: <x_auth_token>' \
         --header 'Content-Type: application/json;charset=utf-8'
       ```

       Укажите:

       * `<pool>` — [пул](/infrastructure/locations.mdx#pool), в котором находится балансировщик, например `ru-8`. Адрес (URL) зависит от региона и пула, можно посмотреть в [списке URL](/api/urls/);
       * `<loadbalancer_uuid>` — ID балансировщика. Посмотреть ID можно в [панели управления](https://my.selectel.ru/vpc/default/lbaas/load-balancers/): в верхнем меню нажмите **Продукты** → **Облачные серверы** → **Балансировщики** → страница балансировщика → под именем балансировщика нажмите <CopyIcon />;
       * `<x_auth_token>` — IAM-токен для проекта, который вы скопировали на шаге 2.
  </TabItem>
</Tabs>

## Получить логи \{#get-logs}

Используйте инструкцию [Получить логи](/logs/manage/get-logs.mdx) в разделе Логи.

Посмотрите описание [полей логов](#fields) для балансировщика нагрузки.

## Поля логов \{#fields}

В зависимости от типа события в логе отображается разный набор полей.

<Tabs queryString="fields">
  <TabItem value="http-logs" default>
    <TabItemLabel>
      HTTP-запрос
    </TabItemLabel>

    <CustomTable>
      <table data-sticky>
        <tbody>
          <tr>
            <th>loadbalancer\_id</th>
            <td>ID балансировщика</td>
          </tr>

          <tr>
            <th>elapsed</th>
            <td>Продолжительность обработки запроса</td>
          </tr>

          <tr>
            <th>url</th>
            <td>URL запроса</td>
          </tr>

          <tr>
            <th>version</th>
            <td>Версия HTTP-протокола</td>
          </tr>

          <tr>
            <th>method</th>
            <td>HTTP-метод запроса к балансировщику</td>
          </tr>

          <tr>
            <th>status</th>
            <td>Статус ответа на HTTP-запрос</td>
          </tr>

          <tr>
            <th>bytest\_in</th>
            <td>Количество байт, переданных при запросе</td>
          </tr>

          <tr>
            <th>bytes\_out</th>
            <td>Количество байт, переданных в ответе на запрос</td>
          </tr>

          <tr>
            <th>backend</th>
            <td>ID целевой группы балансировщика</td>
          </tr>

          <tr>
            <th>client</th>
            <td>IP-адрес и порт, с которого пришел запрос</td>
          </tr>

          <tr>
            <th>frontend</th>
            <td>ID правила балансировщика</td>
          </tr>

          <tr>
            <th>server</th>
            <td>ID сервера в целевой группе балансировщика</td>
          </tr>

          <tr>
            <th>termination\_state</th>
            <td>Cостояние сессии при завершении, подробнее в разделе [Session state at disconnection](https://docs.haproxy.org/2.4/configuration.html#8.5) документации HAProxy</td>
          </tr>

          <tr>
            <th>frontend\_connections</th>
            <td>Количество открытых соединений на правиле балансировщика</td>
          </tr>

          <tr>
            <th>backend\_connections</th>
            <td>Количество открытых соединений на целевой группе балансировщика</td>
          </tr>

          <tr>
            <th>server\_connections</th>
            <td>Количество открытых соединений на сервере, куда поступил запрос</td>
          </tr>

          <tr>
            <th>retries</th>
            <td>Количество повторных отправок запроса на сервер</td>
          </tr>

          <tr>
            <th>destination</th>
            <td>IP-адрес сервера, куда поступил запрос</td>
          </tr>

          <tr>
            <th>backend\_queue</th>
            <td>Количество запросов на целевой группе балансировщика, ожидающих выполнения</td>
          </tr>

          <tr>
            <th>server\_queue</th>
            <td>Количество запросов на сервере, ожидающих выполнения</td>
          </tr>
        </tbody>
      </table>
    </CustomTable>
  </TabItem>

  <TabItem value="tcp-logs" default>
    <TabItemLabel>
      TCP-соединение
    </TabItemLabel>

    <CustomTable>
      <table data-sticky>
        <tbody>
          <tr>
            <th>loadbalancer\_id</th>
            <td>ID балансировщика</td>
          </tr>

          <tr>
            <th>elapsed</th>
            <td>Продолжительность обработки запроса</td>
          </tr>

          <tr>
            <th>bytest\_in</th>
            <td>Количество байт, переданных при запросе</td>
          </tr>

          <tr>
            <th>bytes\_out</th>
            <td>Количество байт, переданных в ответе на запрос</td>
          </tr>

          <tr>
            <th>backend</th>
            <td>ID целевой группы балансировщика</td>
          </tr>

          <tr>
            <th>client</th>
            <td>IP-адрес и порт клиента</td>
          </tr>

          <tr>
            <th>frontend</th>
            <td>ID правила балансировщика</td>
          </tr>

          <tr>
            <th>server</th>
            <td>ID сервера в целевой группе балансировщика</td>
          </tr>

          <tr>
            <th>termination\_state</th>
            <td>Cостояние сессии при завершении, подробнее в разделе [Session state at disconnection](https://docs.haproxy.org/2.4/configuration.html#8.5) документации HAProxy</td>
          </tr>

          <tr>
            <th>frontend\_connections</th>
            <td>Количество открытых соединений на правиле балансировщика</td>
          </tr>

          <tr>
            <th>backend\_connections</th>
            <td>Количество открытых соединений на целевой группе балансировщика</td>
          </tr>

          <tr>
            <th>server\_connections</th>
            <td>Количество открытых соединений на сервере, куда поступил запрос</td>
          </tr>

          <tr>
            <th>destination</th>
            <td>IP-адрес сервера, куда поступил запрос</td>
          </tr>

          <tr>
            <th>backend\_queue</th>
            <td>Количество запросов на целевой группе, ожидающих выполнения</td>
          </tr>

          <tr>
            <th>server\_queue</th>
            <td>Количество запросов на сервере, ожидающих выполнения</td>
          </tr>
        </tbody>
      </table>
    </CustomTable>
  </TabItem>

  <TabItem value="administrative-logs" default>
    <TabItemLabel>
      Административное событие
    </TabItemLabel>

    Административное событие — изменение [статуса сервера](/cloud-servers/load-balancers/target-groups/target-group-statuses.mdx#server-statuses) в [целевой группе](/cloud-servers/load-balancers/about-load-balancers.mdx#target-groups).

    <CustomTable>
      <table data-sticky>
        <tbody>
          <tr>
            <th>listener\_id</th>
            <td>ID правила балансировщика</td>
          </tr>

          <tr>
            <th>loadbalancer\_id</th>
            <td>ID балансировщика</td>
          </tr>

          <tr>
            <th>status</th>
            <td>Новый статус сервера в целевой группе</td>
          </tr>

          <tr>
            <th>pool\_id</th>
            <td>ID целевой группы</td>
          </tr>

          <tr>
            <th>member\_id</th>
            <td>ID сервера в целевой группе</td>
          </tr>
        </tbody>
      </table>
    </CustomTable>
  </TabItem>
</Tabs>

<Formbricks />
