12.23. Логирование¶
ADC позволяет логировать информацию о соединениях, проходящих через балансировщик. Логирование может использоваться для диагностики, мониторинга, аудита и соблюдения нормативных требований. В этом разделе описаны доступные параметры логирования и команды для их настройки.
ADC поддерживает лог-профили (vlb log-profile) и HTTP access log. Лог-профили позволяют создать именованную конфигурацию логирования и привязать её к конкретному Сервису через команду log-profile NAME в настройках Сервиса. HTTP access log записывает информацию о каждом HTTP-запросе, обрабатываемом Сервисом.
Настройка¶
Для начала логирования информации о соединениях на внешние серверы необходимо включить требуемые типы логов, настроить хотя бы один сервер и включить логирование глобально.
Можно настроить несколько серверов логирования одновременно, использующих один и тот же или разные протоколы. Сообщения будут дублироваться на все настроенные серверы.
При добавлении сервера можно настроить IP-адрес отправителя и VRF, который будет использоваться для маршрутизации пакетов логов. По умолчанию пакеты маршрутизируются в рамках VRF по умолчанию, а адрес отправителя — это адрес интерфейса, с которого отправляются пакеты.
- [no] vlb log type <vlb-session|vlb-session-ipv6|http-request> enable¶
Включить соответствующий тип логирования:
vlb-session— логирование L4-сессий IPv4vlb-session-ipv6— логирование L4-сессий IPv6http-request— логирование HTTP-запросов (HTTP access log)
Примечание
Перед включением необходимо настроить хотя бы один сервер логов.
- [no] vlb log server (0-27) type <syslog|netflow|ipfix|radius> ip A.B.C.D port (1-65535) [{vrf NAME|source-ip A.B.C.D}]¶
Добавить сервер логов. Если сервер с указанным идентификатором (
0-27) уже существует, его настройки будут перезаписаны.
- vlb log server (0-27) type syslog hostname NAME¶
Задать системное имя при отправке сообщений по протоколу Syslog.
- vlb log server (0-27) type syslog timestamp enable¶
Добавить метку времени при отправке сообщений по протоколу Syslog.
- vlb log server (0-27) type syslog log-type <vlb-session|vlb-session-ipv6> facility FACILITY¶
Задать параметр
FacilityполяPRIпри отправке сообщений по протоколу Syslog.
- vlb log server (0-27) type syslog log-type <vlb-session|vlb-session-ipv6> level LEVEL¶
Задать параметр
SeverityполяPRIпри отправке сообщений по протоколу Syslog.
- vlb log server (0-27) type syslog format enable¶
Включить пользовательский формат для сообщений Syslog.
- vlb log server (0-27) type syslog format add-event VALUE¶
Задать текст для события создания сессии.
- vlb log server (0-27) type syslog format del-event VALUE¶
Задать текст для события удаления сессии.
- vlb log server (0-27) type syslog format field (0-31) name NAME type <int-ip|ext-ip|dst-ip|nat-dst-ip|int-port|ext-port|dst-port|nat-dst-port|proto|service-vrf|worker-vrf|event>¶
Задать пользовательское поле для указанного сервера Syslog. Поле может включать следующие типы данных:
int-ip— внутренний (со стороны клиента) IP-адресext-ip— внешний (транслированный) IP-адресdst-ip— IP-адрес назначенияnat-dst-ip— NAT-транслированный IP-адрес назначенияint-port— внутренний (со стороны клиента) портext-port— внешний (транслированный) портdst-port— порт назначенияnat-dst-port— NAT-транслированный порт назначенияproto— транспортный протокол (например, TCP, UDP)service-vrf— VRF виртуального сервисаworker-vrf— VRF выбранного backend (Worker)event— событие сессии (например, создание, завершение)
Пример:
vlb log server 0 type syslog format field 0 name client-ip type int-ip vlb log server 0 type syslog format field 1 name protocol type proto vlb log server 0 type syslog format field 2 name dst-port type dst-port
Данная конфигурация формирует строки логов, содержащие внутренний IP-адрес клиента, используемый протокол и порт назначения с соответствующими именами полей.
- vlb log server (0-27) type <netflow|ipfix> template-resend-pkts (1-1440)¶
Задать частоту обновления шаблона в количестве пакетов для протоколов NetFlow/IPFIX. По умолчанию шаблон обновляется каждые 20 пакетов.
- vlb log server (0-27) type <netflow|ipfix> template-resend-timeout (1-1440)¶
Задать частоту обновления шаблона в минутах для протоколов NetFlow/IPFIX. По умолчанию шаблон обновляется каждые 10 минут.
- vlb log server (0-27) type radius secret [encrypted] SECRET¶
Задать
Shared Secretдля отправки сообщений по протоколу RADIUS. Параметрencryptedуказывает, что значение передаётся в зашифрованном виде.
- vlb log enable¶
Включить логирование.
Show-команды¶
- show vlb log counters¶
Показать счётчики логов ADC.
- clear vlb log counters¶
Сбросить счётчики логов ADC.
Счётчик
Описание
GeneratedКоличество сгенерированных сообщений логов
SentКоличество отправленных сообщений логов (если настроено несколько серверов, то sent = generated × количество серверов)
No MemoryКоличество сообщений логов, не поставленных в очередь из-за нехватки памяти
No ServerКоличество сообщений логов, не отправленных из-за отсутствия настроенного сервера логов
No VRFКоличество сообщений логов, не отправленных из-за отсутствия VRF, к которому привязан сервер логов
No PacketКоличество сообщений логов, не отправленных из-за невозможности выделить пакет из пула
- show vlb log queues¶
Показать очереди логов ADC. Пример вывода:
trafficsoft# show vlb log queues NAT-log task id 0 (socket 0): NAT-log ring-size: 16384 Free-space Processed Loading Ring id 0 : 16384 0 0 % Ring id 1 : 16384 0 0 %
Название
Описание
NAT-log task idID задачи логирования, привязанной к ядру и сокету. Количество задач настраивается в параметрах платформы
NAT-log ring-size: 16384Максимальный размер очереди сообщений, ожидающих отправки на сервер логов
Ring id 0Очередь control plane
Ring id 1Очередь data plane
ProcessedОбщее количество обработанных сообщений логов
- show vlb log servers¶
Показать все серверы логов и их конфигурацию. Сервер может находиться в одном из трёх состояний:
Состояние
Описание
ActiveСервер логов настроен, сообщения логов ADC отправляются на него
InactiveСервер логов настроен с VRF, который не существует
Not ConfiguredIP-адрес и порт не настроены
Балансировка логов ADC¶
Механизм балансировки логов ADC разделяет весь набор серверов логирования на группы. Для каждого события ADC (например, создания или удаления сессии) из каждой группы выбирается ровно один сервер, и запись дублируется на все выбранные серверы. Выбор сервера в группе определяется IP-адресом источника клиента, поэтому все действия одного пользователя логируются на одном и том же подмножестве серверов.
Примечание
Отдельные серверы (не входящие в группу) настраиваются как описано выше. Механизм балансировки к ним не применяется — логи всех пользователей дублируются на каждый такой сервер.
- [no] vlb log group (1-8)¶
Создать группу серверов. В каждой группе может быть до 24 серверов; нумерация серверов в разных группах независима. Нумерация отдельных серверов также независима от групп. Общее количество серверов, включая отдельные и серверы во всех группах, не должно превышать 63. Внутри группы серверы добавляются и настраиваются стандартными командами
vlb log server.
Лог-профили¶
Лог-профили — это именованные конфигурации логирования, которые можно привязать к конкретному Сервису. Это позволяет настраивать различные параметры логирования для разных Сервисов.
- [no] vlb log-profile NAME¶
Создать лог-профиль. Настройки серверов и типов логов внутри лог-профиля выполняются теми же командами, что и для глобального логирования (
vlb log server,vlb log type), но в контексте данного профиля.
Чтобы привязать лог-профиль к Сервису, используйте команду log-profile NAME в настройках Сервиса (см. CLI).
Пример конфигурации лог-профиля:
! Создать лог-профиль
vlb log-profile my-log-profile
!
! Настроить сервер логов внутри профиля
vlb log server 0 type syslog ip 10.0.0.100 port 514
vlb log server 0 type syslog hostname adc-node-1
vlb log server 0 type syslog timestamp enable
!
! Включить тип логирования
vlb log type http-request enable
!
! Активировать логирование в профиле
vlb log enable
exit
!
! Привязать профиль к Сервису
vlb service default/my-service
log-profile my-log-profile