Различия
Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
dpi:dpi_components:fastbypass_monitor [2024/10/17 14:32] – создано elena.krasnobryzh | dpi:dpi_components:fastbypass_monitor [2024/10/18 13:12] (текущий) – atereschenko | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== FastBypass monitor | + | {{indexmenu_n> |
- | В случае если на DPI произошел сбой ПО, NPB выводит DPI из стека и NPB перебалансирует нагрузку между остальными DPI.\\ | + | ====== FastBypass monitor ====== |
- | Если падает более 2 DPI узлов — вся система переходит в режим bypass.\\ | + | '' |
- | Если падает линк на DPI, то NPB перебалансирует нагрузку между остальными DPI.\\ | + | |
- | + | ||
- | **Описание** | + | |
- | + | ||
- | '' | + | |
Демон реагирует на HEARTBEAT сигналы, | Демон реагирует на HEARTBEAT сигналы, | ||
{{ : | {{ : | ||
+ | В случае если на DPI произошел сбой ПО, NPB выводит DPI из стека и NPB перебалансирует нагрузку между остальными DPI.\\ | ||
+ | Если падает более 2 DPI узлов — вся система переходит в режим bypass.\\ | ||
+ | Если падает линк на DPI, то NPB перебалансирует нагрузку между остальными DPI.\\ | ||
===== Требования к оборудованию ===== | ===== Требования к оборудованию ===== | ||
- | + | ОС: OpenSwitch 2+ / Debian 9+\\ | |
- | ОС: OpenSwitch 2+ / Debian 9+ | + | |
Python: 2.7.9 | Python: 2.7.9 | ||
===== Основные функции ===== | ===== Основные функции ===== | ||
- | |||
* Отслеживание HEARTBEAT сигналов от DPI на заданных портах. | * Отслеживание HEARTBEAT сигналов от DPI на заданных портах. | ||
* Динамическое управление IP-адресами и сетевыми интерфейсами. | * Динамическое управление IP-адресами и сетевыми интерфейсами. | ||
===== Установка ===== | ===== Установка ===== | ||
- | |||
- Скопировать установочный пакет '' | - Скопировать установочный пакет '' | ||
- | - Из директории, | + | - Из директории, |
- | '' | + | |
- | После установки демон становится доступным для управления с помощью системного менеджера (systemctl). | + | После установки демон становится доступным для управления с помощью системного менеджера ('' |
- | + | ||
- | Файл конфигурации доступен по пути: | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | Файл с примером полной конфигурации доступен по пути: | + | |
- | + | ||
- | ''/ | + | |
- | + | ||
- | Логи демона сохраняются по пути: | + | |
- | + | ||
- | ''/ | + | |
+ | Файл конфигурации доступен по пути ''/ | ||
+ | Файл с примером полной конфигурации доступен по пути ''/ | ||
+ | Логи демона сохраняются по пути ''/ | ||
===== Использование ===== | ===== Использование ===== | ||
- | + | После установки демон автоматически запускается и находится в состоянии работы. При перезагрузке хост-машины демон автоматически запускается после успешного запуска сервиса | |
- | После установки демон автоматически запускается и находится в состоянии работы. При перезагрузке хост-машины демон автоматически запускается после успешного запуска сервиса network. | + | |
Управление демоном осуществляется командами системного менеджера. | Управление демоном осуществляется командами системного менеджера. | ||
- | Чтобы запустить демон, выполните следующую | + | :!: Использование алиасов (коротких аналогов команд) возможно только |
- | '' | + | ===Запуск демона: |
+ | <code bash>sudo systemctl start fastbypass_monitor</ | ||
+ | Алиас: <code bash> | ||
- | Чтобы перезапустить | + | <note important> |
- | '' | + | ===Перезапуск демона: |
+ | <code bash>sudo systemctl restart fastbypass_monitor</ | ||
+ | Алиас: | ||
+ | <code bash> | ||
- | Чтобы перезагрузить | + | ===Перезагрузка демона |
+ | <code bash> | ||
+ | Алиас: | ||
+ | <code bash> | ||
- | '' | + | ===Остановка демона: |
+ | <code bash>sudo systemctl | ||
+ | Алиас: | ||
+ | <code bash> | ||
- | Чтобы | + | ===Проверка |
+ | <code bash> | ||
+ | Алиас: | ||
+ | <code bash> | ||
- | '' | + | ===Просмотр последних строк лог-файла с обновлением в реальном времени: |
+ | <code bash> | ||
+ | Алиас: | ||
+ | <code bash> | ||
- | Чтобы проверить текущий статус демона, выполните следующую команду: | + | ===Вывод последних 100 строк лога:=== |
+ | <code bash> | ||
+ | Алиас: | ||
+ | <code bash> | ||
- | '' | + | ===Остановка демона с удалением IP-адресов, |
+ | <code bash> | ||
- | Для настройки и запуска демона с новой конфигурацией необходимо отредактировать конфигурационный файл и затем | + | ===Остановка демона с добавлением IP-адресов, указанных в конфиге для bypass карт и тем |
+ | <code bash> | ||
- | Для настройки параметров работы | + | ===Добавление демона |
+ | <code bash> | ||
- | '' | + | ===Удаление демона из автозагрузки: |
+ | <code bash> | ||
+ | Для настройки и запуска демона с новой конфигурацией необходимо отредактировать конфигурационный файл и затем выполнить перезагрузку демона или остановить и снова запустить его. | ||
- | < | + | Для настройки параметров работы демона, используется конфигурационный файл, расположенный по пути ''/ |
- | При запуске и перезагрузке, | + | < |
В случае возникновения критической ошибки демон автоматически перезагружается. | В случае возникновения критической ошибки демон автоматически перезагружается. | ||
Строка 85: | Строка 91: | ||
При использовании команды | При использовании команды | ||
- | Важно отметить, | + | Важно отметить, |
При перезапуске демон продолжает находиться в том же состоянии, | При перезапуске демон продолжает находиться в том же состоянии, | ||
</ | </ | ||
- | =====Локальное и глобальное состояние. Режим Bypass===== | + | ====Локальное и глобальное состояние. Режим Bypass==== |
- | Демон поддерживает два вида управления интерфейсами | + | Демон поддерживает два вида управления интерфейсами в зависимости от их состояния: |
Например, | Например, | ||
**Пример: | **Пример: | ||
<code bash> | <code bash> | ||
- | LISTEN_CUBRO_IFS=список интерфейсов | + | LISTEN_CUBRO_IFS=<список интерфейсов> |
LISTEN_SHUTDOWN_CUBRO_IFS_WHEN_BYPASS=1 | LISTEN_SHUTDOWN_CUBRO_IFS_WHEN_BYPASS=1 | ||
</ | </ | ||
Строка 103: | Строка 109: | ||
**Пример: | **Пример: | ||
<code bash> | <code bash> | ||
- | LISTEN_CUBRO_IFS[0]=список интерфейсов | + | LISTEN_CUBRO_IFS[0]=<список интерфейсов> |
LISTEN_SHUTDOWN_CUBRO_IFS_WHEN_BYPASS[0]=1 | LISTEN_SHUTDOWN_CUBRO_IFS_WHEN_BYPASS[0]=1 | ||
</ | </ | ||
Строка 112: | Строка 118: | ||
===== Конфигурация ===== | ===== Конфигурация ===== | ||
- | |||
==== Минимальная конфигурация ==== | ==== Минимальная конфигурация ==== | ||
- | |||
Минимальная конфигурация для работы демона включает указание хотя бы одного интерфейса, | Минимальная конфигурация для работы демона включает указание хотя бы одного интерфейса, | ||
- | **Пример** | + | **Пример:** |
<code bash> | <code bash> | ||
# уровень логирования - сообщения об ошибках и информационные сообщения | # уровень логирования - сообщения об ошибках и информационные сообщения | ||
Строка 151: | Строка 156: | ||
</ | </ | ||
- | Выше приведен пример конфигурации для получения HEARTBEAT сигналов с использованием интерфейса | + | Выше приведен пример конфигурации для получения HEARTBEAT сигналов с использованием интерфейса |
- | Bypass карты подключены по интерфейсу | + | Bypass карты подключены по интерфейсу |
По умолчанию для всех listener установлены значения: | По умолчанию для всех listener установлены значения: | ||
- | '' | + | '' |
- | '' | + | '' |
Когда listener не получает сигнал после одной попытки в течение '' | Когда listener не получает сигнал после одной попытки в течение '' | ||
Строка 166: | Строка 171: | ||
При восстановлении сигналов, | При восстановлении сигналов, | ||
- | Если общее количество неудачных слушателей становится меньше порога, | + | Если общее количество неудачных слушателей становится меньше порога, |
==== Общая конфигурация ==== | ==== Общая конфигурация ==== | ||
Строка 179: | Строка 183: | ||
<code bash> | <code bash> | ||
# уровень логирования (необязательная настройка, | # уровень логирования (необязательная настройка, | ||
- | INFO - сообщения об ошибках и информационные сообщения | + | # INFO - сообщения об ошибках и информационные сообщения |
- | DEBUG - сообщения об ошибках, | + | # DEBUG - сообщения об ошибках, |
LOG_LEVEL= | LOG_LEVEL= | ||
Строка 249: | Строка 253: | ||
Используемые переменные: | Используемые переменные: | ||
- | * '' | + | * '' |
- | * '' | + | * '' |
- | * '' | + | * '' |
По умолчанию используются следующие конфигурации: | По умолчанию используются следующие конфигурации: | ||
Строка 301: | Строка 305: | ||
==== Конфигурация интерфейсов для сетевых карт Bypass ==== | ==== Конфигурация интерфейсов для сетевых карт Bypass ==== | ||
- | Демон автоматически управляет (удаляет/ | + | Демон автоматически управляет (удаляет/ |
Для каждой Bypass карты в конфигурации указывается следующий индекс (например, | Для каждой Bypass карты в конфигурации указывается следующий индекс (например, | ||
Строка 323: | Строка 327: | ||
</ | </ | ||
- | ====== Утилита fbypass_ctl ====== | ||
- | |||
- | Утилита '' | ||
- | |||
- | Утилита '' | ||
- | ===== Доступные команды ===== | ||
- | === Команда fbypass_ctl force_on === | ||
- | Останавливает службу '' | ||
- | \\ \\ | ||
- | === Команда fbypass_ctl force_off === | ||
- | Останавливает службу '' | ||
- | \\ \\ | ||
- | === Команда fbypass_ctl start === | ||
- | Запускает службу '' | ||
- | \\ \\ | ||
- | === Команда fbypass_ctl restart === | ||
- | Перезапускает службу '' | ||
- | \\ \\ | ||
- | === Команда fbypass_ctl status === | ||
- | Отображает статус службы '' | ||
- | \\ \\ | ||
- | === Команда fbypass_ctl enable === | ||
- | Добавляет службу '' | ||
- | \\ \\ | ||
- | === Команда fbypass_ctl disable === | ||
- | Удаляет службу '' | ||
- | \\ \\ | ||
- | === Команда fbypass_ctl tail 100 === | ||
- | Выводит последние 100 строк лога службы '' | ||
- | \\ \\ | ||
- | === Команда fbypass_ctl tailf === | ||
- | Алиас команды '' | ||