Налаштування системи (.env)➧
Огляд
Основні параметри WildcoreDMS зберігаються у файлі /opt/wildcore-dms/.env на сервері:
мережеві порти, підключення до бази даних, параметри роботи з обладнанням, опитувача,
безпеки, кешу, авторизації та компонентів.
Частину параметрів можна змінювати у веб-інтерфейсі, решту — лише на сервері,
редагуючи файл .env. На цій сторінці параметри розділено на ці дві групи, а всередині —
за призначенням.
Як змінювати параметри➧
У веб-інтерфейсі➧
Меню Конфігурація > Конфігурація системи (потрібне право «Читання/зміна системних
налаштувань»). Параметри згруповані за розділами («Веб-панель», «Система», «Безпека»,
«Робота з пристроями», розділи компонентів). Біля кожного поля показано значення за
замовчуванням. Після збереження значення записується у той самий файл .env.
Note
Параметри розділу «Система» (кількість потоків опитувача, веб-сервера, термін зберігання метрик) застосовуються після перезапуску контейнерів — див. нижче.
На сервері➧
- Зробіть резервну копію:
sudo cp /opt/wildcore-dms/.env /opt/wildcore-dms/.env.bak - Відредагуйте файл, наприклад:
sudo nano /opt/wildcore-dms/.env -
Застосуйте зміни:
-
параметри застосунку (авторизація, безпека, робота з обладнанням, кеш тощо):
-
параметри Docker, портів, бази даних, опитувача та кількості потоків — перезапуск контейнерів:
-
Warning
- Формат рядка —
ПАРАМЕТР=значення, без пробілів навколо=. Значення з пробілами беріть у лапки:APP_NAME="My ISP DMS". - Логічні параметри (у таблицях позначені
yes/no) приймають будь-яку з пар значень:yes/no,true/falseабо1/0(регістр не важливий). - Не змінюйте параметри, яких немає на цій сторінці, якщо цього не порадила підтримка.
- У прикладах нижче вказано умовні значення (
dms.example.com,<пароль>тощо) — підставляйте свої.
Параметри, які можна змінити у веб-інтерфейсі➧
Веб-панель➧
| Параметр | Назва в інтерфейсі | Опис | Значення | За замовчуванням |
|---|---|---|---|---|
APP_NAME |
Ім'я агенту | Назва системи у заголовку сторінок | довільний текст | Wildcore DMS |
EXTERNAL_HTTP_ADDRESS |
Веб-адреса системи | Адреса, за якою користувачі відкривають WildcoreDMS. Використовується для посилань у сповіщеннях, QR-кодах та SSO | URL, напр. https://dms.example.com |
http://127.0.0.1:8088 |
DEFAULT_LANGUAGE |
Мова за замовчуванням | Мова інтерфейсу для нових користувачів та сторінки входу | ua, en, ru |
en |
MAP_COORDINATES |
Координати мапи | Центр карти за замовчуванням | широта,довгота, напр. 50.45,30.52 |
— |
MAP_TILE_LAYER |
Тип мапи | Підкладка карти за замовчуванням | Google (street), Google (hybrid), OpenStreetMap, OpenTopoMap, Satellite, Dark, Terrain |
Google (street) |
LOGS_RETURN_RESULTS_LIMIT |
Розмір логів | Максимальна кількість записів у вибірках журналів | число | 500 |
WEB_ZOOM_MAIN |
Масштаб веб-інтерфейсу | Масштаб інтерфейсу (експериментально) | число, напр. 0.95 = 95% |
1.0 |
WEB_ZOOM_IFRAME |
Масштаб (в iframe) | Масштаб при вбудовуванні в iframe (наприклад, у білінг) | число | 1.0 |
SEARCH2_ENABLED |
Додатковий статус пошуку | Показати в заголовку друге поле пошуку | yes / no |
no |
SEARCH2_FILTER |
Додатковий пошук по | За чим шукає друге поле | agreement (договір), description, interface, ont_ident (серійний/MAC ONU), fdb_history, device |
agreement |
Система➧
| Параметр | Назва в інтерфейсі | Опис | Значення | За замовчуванням |
|---|---|---|---|---|
LOG_LEVEL |
Рівень логів | Детальність журналу застосунку | DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY |
WARNING |
PROMETHEUS_RETENTION_TIME |
Час життя даних | Скільки зберігаються метрики (історія сигналів, трафіку, статусів, аналітика). Більше — більше місця на диску | тривалість: 15d, 30d, 90d, 1y |
30d |
RR_NUM_WORKERS |
Кількість потоків веб-сервера | Скільки запитів до API обробляється паралельно | число | 50 |
POLLER_COUNT_PROCS |
Кількість потоків опитувальника | Скільки пристроїв опитується одночасно, див. Опитувач | число | 10 |
POLLER_IGNORE_DOWN |
Ігнорувати лежачі пристрої | Не опитувати недоступні пристрої | yes / no |
yes |
POLLER_DO_NOT_CLEAR_INTERFACES |
Не очищати інтерфейси | Не видаляти інтерфейси, яких більше немає на обладнанні (наприклад, видалені ONU) | yes / no |
no |
Info
Параметри цього розділу застосовуються після sudo docker compose up -d у /opt/wildcore-dms.
Безпека та проксі➧
| Параметр | Назва в інтерфейсі | Опис | Значення | За замовчуванням |
|---|---|---|---|---|
API_KEY_EXPIRATION |
Час життя ключа | Час життя сесії користувача після входу, секунд | число, напр. 864000 (10 днів) |
864000 |
RATE_LIMITER_ENABLED |
Захист від брутфорсу | Блокувати IP після невдалих спроб входу | yes / no |
yes |
RATE_LIMITER_ATTEMPTS |
Кількість спроб входу | Кількість невдалих спроб (за 10 хвилин), після якої IP блокується | число | 3 |
RATE_LIMITER_TIME |
Таймаут блокування IP | На скільки блокується IP, секунд. Розблокувати вручну: wca security:reset:ipblock <IP> |
число | 3600 |
SECURE_CHECK_PASSWORD_STRENGTH |
Перевірка складності пароля | Вимагати пароль від 8 символів з великими/малими літерами, цифрою та спецсимволом | yes / no |
yes |
TRUSTED_HOST_NETWORK_LIST |
Список довірених мереж | Адреси/мережі, з яких дозволено звертатися до API без ключа (для інтеграцій, напр. з білінгом). Вказуйте лише адреси довірених серверів. Порожньо — вимкнено | через кому, напр. 192.0.2.10,192.0.2.0/28 |
порожньо |
PROXY_ENABLED |
Проксі ввімкнутий | Брати IP клієнта із заголовка проксі. Вмикайте лише якщо WildcoreDMS працює за проксі | yes / no |
no |
PROXY_REAL_IP_HEADER |
Заголовок з IP користувача | Заголовок, у якому проксі передає реальний IP | назва заголовка | X-Forwarded-For |
Робота з обладнанням➧
Загальні параметри підключення. Їх можна перевизначити в доступі, моделі або пристрої.
| Параметр | Назва в інтерфейсі | Опис | Значення | За замовчуванням |
|---|---|---|---|---|
SWC_CONSOLE_CONN_TYPE |
Тип підключення консолі | Протокол консолі | telnet, ssh |
telnet |
SWC_CONSOLE_PORT |
Порт консолі | Порт Telnet/SSH | число | 23 |
SWC_CONSOLE_TIMEOUT_SEC |
Таймаут консолі | Максимальний час консольної сесії/команди, секунд | число | 300 |
SWC_CONSOLE_WAIT_BYTE_SEC |
Таймаут потоку байтів | Скільки чекати на наступні дані від консолі, секунд | число | 5 |
SWC_SNMP_VERSION |
SNMP-версія | Версія SNMP | 1, 2c |
2c |
SWC_SNMP_PORT |
SNMP port | Порт SNMP | число | 161 |
SWC_SNMP_TIMEOUT_SEC |
SNMP timeout sec | Тайм-аут одного SNMP-запиту, секунд | число | 4 |
SWC_SNMP_REPEATS |
SNMP repeats | Кількість повторів SNMP-запиту | число | 3 |
SWC_MIKROTIK_API_PORT |
Mikrotik API-порт | Порт API Mikrotik RouterOS | число | 8728 |
SWC_CHECK_ICMP_PING |
Перевіряти стан по ICMP | Перед зверненням до пристрою перевіряти його доступність пінгом (швидка відповідь «недоступний» замість очікування тайм-ауту) | yes / no |
yes |
SWC_ENABLE_SPLITTING |
Вичитувати та кешувати по інтерфейсам | Відповіді по всьому пристрою (список ONU, статуси) кешуються окремо для кожного інтерфейсу — сторінки портів/ONU відкриваються швидше | yes / no |
yes |
SWC_CACHE_ACTUALIZE_TIMEOUT_SEC |
Актуалізувати кеш через | Через скільки секунд дані в кеші вважаються застарілими і запитуються з обладнання знову | число | 3600 |
Параметри компонентів➧
Показуються в інтерфейсі, якщо компонент встановлено.
| Компонент | Параметри |
|---|---|
| Веб-консоль | CONSOLE_ENABLE_WEB — увімкнути веб-консоль (yes/no, no); CONSOLE_OPEN_AT — відкривати у вкладці чи вікні (tab/window, tab); CONSOLE_FONT_SIZE — розмір шрифту, px (14) |
| SNMP-трапи | TRAP_SERVICE_ENABLED — приймати трапи (yes); TRAP_SERVICE_SNMP_PORT — UDP-порт (162, зміна потребує перезапуску контейнерів); TRAP_SERVICE_COUNT_HANDLERS — кількість обробників (10); TRAP_SERVICE_IGNORE_UNKNOWN_TRAPS — ігнорувати трапи від невідомих пристроїв; TRAP_SERVICE_CHECK_COMMUNITY — перевіряти community трапу (no) |
| Бекапи конфігурації | OXIDIZED_THREADS — потоків (30, рекомендовано = кількості CPU); OXIDIZED_INTERVAL — інтервал бекапу, сек (86400); OXIDIZED_TIMEOUT — тайм-аут, сек (300); OXIDIZED_URL — не змінюйте для вбудованого Oxidized |
| Автотопологія | AUTO_TOPOLOGY_SCHEDULE_ENABLED — запускати за розкладом (yes); AUTO_TOPOLOGY_THREADS — потоків (10) |
| Навантаження з'єднань | LINKS_UTILIZATION_CALCULATE_PERIOD — період розрахунку (10m, 15m, 30m, 1h, 3h, 6h; 15m); LINKS_UTILIZATION_MAX_PRC_FOR_ALERT — % завантаження для події (85) |
| Сповіщення | NOTIFICATIONS_CHECK_PREVIOUS_MESSAGE — не надсилати «вирішено», якщо не надсилалось повідомлення про проблему (no) |
| Генератор QR | QRGENERATOR_SHOW_DATA — підпис під QR-кодом (ip/name, name) |
| Аналітика | ANALYTICS_MIN_RX_SIGNAL / ANALYTICS_MAX_RX_SIGNAL — межі нормального RX ONU, dBm (-28 / -10); ANALYTICS_MIN_OLT_RX_SIGNAL / ANALYTICS_MAX_OLT_RX_SIGNAL — те саме для OLT RX; ANALYTICS_MIN_SFP_RX_SIGNAL / ANALYTICS_MAX_SFP_RX_SIGNAL — для SFP (-15 / 5); ANALYTICS_IGNORE_IFACES_WITH_MORE_THAN — у пошуку дублікатів MAC ігнорувати порти, де більше N MAC-адрес (аплінки, 10); ANALYTICS_SHOW_ACTIVE_MORE_THAN — враховувати MAC, активні довше N секунд (1800) |
| Пошук пристроїв | SEARCH_DEVICE_SOURCES — джерела (history,device); SEARCH_DEVICE_CHECK_ALL_SOURCES — перевіряти всі джерела (no); SEARCH_DEVICE_HISTORY_ONLY_ACTIVE — з історії лише активні записи (yes); SEARCH_DEVICE_IGNORE_TAG_PORTS — ігнорувати транкові порти (yes); SEARCH_DEVICE_REQUEST_CONCURRENCY — паралельних запитів (50) |
| MikBill | MIKBILL_API_ADDR — адреса білінгу (https://billing.example.com); MIKBILL_AUTH_KEY — ключ API (як у налаштуваннях інтеграції в MikBill); MIKBILL_GLOBAL_SEARCH_FIELD — поле для пошуку (agreement/uid/login); MIKBILL_SET_ONT_COORDINATES — брати координати ONU з білінгу (no) |
| NoDeny Plus | NODENY_URL — адреса NoDeny; NODENY_DATABASE_DSN, NODENY_DATABASE_USERNAME, NODENY_DATABASE_PASSWORD — підключення до БД NoDeny; NODENY_COMPARISON_DESCRIPTION_REQUIRED — вимагати збіг опису інтерфейсу та імені (no) |
| Userside | USERSIDE_WEB_ADDRESS — адреса Userside; USERSIDE_API_KEY — ключ API; USERSIDE_SYNC_DATA — що синхронізувати (devices); USERSIDE_ADD_NEW_DEVICES_TO_GROUP_ID — ID групи для нових пристроїв (-1); USERSIDE_DELETE_NOT_EXISTED_DEVICES — видаляти пристрої, видалені в Userside (no); USERSIDE_UPDATE_DEVICES_FIELDS — поля для оновлення (coordinates, name, location, comment) |
Параметри, які змінюються лише на сервері➧
Мережа та Docker➧
Warning
Після зміни — cd /opt/wildcore-dms && sudo docker compose up -d.
| Параметр | Опис | Значення | За замовчуванням |
|---|---|---|---|
NGINX_EXPOSE |
Адреса та порт веб-інтерфейсу | IP:порт |
0.0.0.0:8088 |
PROMETHEUS_EXPOSE |
Адреса та порт Prometheus (для зовнішнього доступу, напр. Grafana) | IP:порт |
127.0.0.1:9090 |
MYSQL_EXPOSE |
Адреса та порт MySQL на хості | IP:порт |
127.0.0.1:33306 |
LOCAL_SUBNET |
Внутрішня мережа контейнерів Docker. Змінюйте, лише якщо вона перетинається з вашими мережами | CIDR | 10.255.255.128/25 |
Danger
Не відкривайте MYSQL_EXPOSE та PROMETHEUS_EXPOSE назовні (0.0.0.0) без фаєрвола.
База даних➧
| Параметр | Опис | За замовчуванням |
|---|---|---|
DATABASE_URL |
Рядок підключення до БД | mysql:host=wca-db;dbname=wildcore_agent;charset=utf8 |
DATABASE_NAME |
Ім'я БД | wildcore_agent |
DATABASE_USER / DATABASE_PASSWD |
Користувач і пароль БД. Задаються при встановленні, змінювати не потрібно | — |
MYSQL_INNODB_BUFFER_POOL_SIZE |
Пам'ять під кеш даних MySQL. Для великих мереж збільште (напр. 4G), але не більше ~50% RAM сервера |
1G |
MYSQL_KEY_BUFFER_SIZE |
Буфер індексів MySQL | 256M |
MYSQL_TABLE_OPEN_CACHE |
Кількість одночасно відкритих таблиць | 500 |
Див. також Оптимізація.
Авторизація та API➧
| Параметр | Опис | Значення | За замовчуванням |
|---|---|---|---|
AUTH_METHODS |
Способи входу | internal, oidc або обидва через кому |
internal |
AUTH_AUTO_INITIATE |
Одразу переходити до SSO-провайдера | yes / no |
no |
OIDC_* |
Параметри входу через SSO | див. Вхід через SSO | — |
API_STRICT_RULES |
Забороняти виклики API, для яких не задано прав | yes / no |
yes |
SECURE_ENCRYPT_ACCESSES |
Шифрування облікових даних обладнання в БД. Вмикайте командою sudo wca security:enable-encryption, а не вручну — див. FAQ |
yes / no |
no |
Опитувач та продуктивність➧
| Параметр | Опис | Значення | За замовчуванням |
|---|---|---|---|
SWC_CALL_CONCURRENCY |
Максимальна кількість одночасних запитів до обладнання | число | 1 |
SWC_CACHE_TIMEOUT_SEC |
Скільки зберігається кеш відповідей обладнання, секунд | число | 86400 |
RR_MAX_WORKER_MEMORY |
Ліміт пам'яті на один потік веб-сервера, МБ | число | 160 |
DEVICES_LIST_DISABLE_IFACE_STAT |
Не рахувати статистику інтерфейсів у списку пристроїв — якщо список завантажується дуже повільно | yes / no |
no |
MEMCACHE_CACHING_QUERY_TIMEOUT_SEC |
Час життя кешу запитів до БД, секунд | число | 30 |
Інше➧
| Параметр | Опис | Значення | За замовчуванням |
|---|---|---|---|
LOG_FILES_PATH |
Каталог логів усередині контейнера | шлях | /log |
WS_ENABLED |
Сервер WebSocket для оновлень у реальному часі | yes / no |
no |
ENVIRONMENT |
Режим роботи. Має бути PRODUCTION |
PRODUCTION |
PRODUCTION |
Службові параметри➧
Ці параметри описують внутрішні адреси сервісів у Docker і заповнюються при встановленні.
Не змінюйте їх, якщо цього не порадила підтримка: API_BASE_PATH, IMAGE_BASE_URL,
MEMCACHE_ENABLED, MEMCACHE_SERVER, MEMCACHE_PORT, REDIS_ENABLED, REDIS_HOST,
REDIS_PORT, REDIS_PASSWORD, PROMETHEUS_URL, ALERTMANAGER_URL, SWC_URL_PATH,
SWC_CACHE_SYSTEM.
Приклад➧
Фрагмент .env з умовними значеннями: