Консольні команди (wca)➧
Огляд
На сервері WildcoreDMS доступна консольна утиліта wca. Вона дозволяє виконувати дії,
яких немає у веб-інтерфейсі (скидання паролів, очищення кешу, налаштування SSO, імпорт
пристроїв), діагностувати роботу з обладнанням та керувати фоновими процесами.
Як користуватися➧
Команди виконуються на сервері, де встановлено WildcoreDMS, з правами root:
Загальні правила:
<аргумент>— обов'язковий аргумент,[аргумент]— необов'язковий.- Команди зі списками підтримують опцію
-o/--outputдля формату виводу:table(за замовчуванням),json,yaml. - Частина команд інтерактивні — ставлять запитання в консолі (наприклад,
device:add). - Команди компонентів (з префіксом назви компонента, напр.
olts:,console:) доступні, лише коли компонент увімкнено — див. Компоненти. -v,-vv,-vvv— детальніший вивід для діагностики.
У прикладах нижче використовуються умовні адреси (192.0.2.10) та логіни (operator).
Користувачі➧
| Команда | Опис |
|---|---|
wca user:list |
Список користувачів |
wca user:change-role <login> [role] |
Змінити роль користувача. Якщо роль не вказано — буде запропоновано вибрати зі списку |
wca user:reset-password <login> [-p <пароль>] |
Задати новий пароль і закрити всі сесії користувача. Без -p пароль буде запитано; порожня відповідь — згенерувати випадковий |
wca user:reset-ip-strict <login> |
Вимкнути для користувача обмеження входу за IP |
wca user:reset-user <login> |
Скинути доступ: пароль стає рівним логіну, вимикаються 2FA та обмеження за IP. Використовуйте, якщо користувач (зокрема admin) не може увійти |
wca user:delete <id> |
Видалити користувача за ID (ID — з user:list) |
wca user:generate-key <login> [термін] |
Згенерувати API-ключ для користувача. Термін: 10m, 1h, 30d, 365d тощо |
wca user-group:list |
Список ролей користувачів (з кількістю прав та ознакою відображення) |
Приклади:
sudo wca user:reset-user admin
sudo wca user:change-role operator Installer
sudo wca user:generate-key billing 365d
Авторизація та безпека➧
| Команда | Опис |
|---|---|
wca auth:configure |
Покроковий майстер налаштування способів входу та SSO (OpenID Connect) — див. Вхід через SSO |
wca security:reset:ipblock [ip] |
Розблокувати IP, заблокований захистом від перебору паролів. Без аргументу — розблокувати всі |
wca security:enable-encryption [-f] |
Увімкнути шифрування облікових даних обладнання в БД. Незворотна операція — див. FAQ |
wca security:generate-encrypt-key [-f] |
Згенерувати ключ шифрування (зазвичай викликається автоматично при увімкненні шифрування) |
wca system:recalc-sessions |
Перерахувати активні сесії користувачів |
Пристрої, доступи, моделі➧
| Команда | Опис |
|---|---|
wca device:list |
Список пристроїв |
wca device:add |
Додати пристрій (інтерактивно: ім'я, IP, MAC, серійний номер, опис, модель, доступ, група, додаткові параметри) |
wca device:update |
Змінити пристрій (інтерактивно) |
wca device:delete <id> |
Видалити пристрій за ID |
wca device:delete-in-group <group_id> |
Видалити всі пристрої групи |
wca device:import [файл] [-g <group_id>] [-s <роздільник>] |
Імпорт пристроїв з CSV-файлу або стандартного вводу (|) — див. Імпорт та експорт |
wca device:export [-f <файл>] [-g <group_id>] [--include-disabled] |
Експорт пристроїв у CSV того ж формату — див. Імпорт та експорт |
wca device-access:list |
Список доступів |
wca device-access:add |
Створити доступ (інтерактивно) |
wca device-access:edit <id> |
Змінити доступ |
wca device-access:delete <id> |
Видалити доступ |
wca device-model:list |
Список моделей обладнання |
wca device-model:update <id> |
Змінити назву, виробника та додаткові параметри моделі (інтерактивно) |
Warning
device:delete-in-group видаляє пристрої разом з їх інтерфейсами та історією без додаткового
підтвердження.
Робота з обладнанням та діагностика➧
| Команда | Опис |
|---|---|
wca switcher-core:modules <ip> |
Перелік модулів (можливостей), які підтримує модель пристрою |
wca switcher-core:call <ip> <модуль> [аргументи...] |
Виконати модуль на пристрої та вивести результат. Опції: -s device\|cache\|store — джерело даних (за замовчуванням device), -t — показати вивід консолі, -m — показати метадані |
wca test:switcher-core:call <модуль> [аргументи...] -g <group_id> |
Виконати модуль на всіх пристроях групи (масова перевірка). Опції: -s — джерело, -c — вивід консолі, -f — показати лише потрібне поле |
wca test:snmpwalk <ip> [oid] |
Виконати snmpwalk з параметрами доступу пристрою |
wca console:open <ip або id> [-l] |
Відкрити консоль пристрою з автоматичним входом (-l — без автовходу). Потрібен компонент Веб-консоль |
wca live_traffic:view <ip> <інтерфейс> [-i 5s] |
Трафік на інтерфейсі в реальному часі |
wca prometheus_wrapper:last-values <ip> <метрики> |
Останні значення метрик пристрою (назви через кому) |
wca switches:counters <ip> |
Статистика трафіку по портах комутатора |
wca switches:errors <ip> |
Статистика помилок по портах |
wca switches:rmon <ip> |
RMON-статистика по портах |
Приклади:
sudo wca switcher-core:modules 192.0.2.10
sudo wca switcher-core:call 192.0.2.10 pon_onts_status
sudo wca switcher-core:call 192.0.2.10 interface_descriptions interface=gpon0/1:1 -s cache
sudo wca test:snmpwalk 192.0.2.10 1.3.6.1.2.1.1
sudo wca live_traffic:view 192.0.2.10 ge0/1 -i 2s
Опитувач➧
| Команда | Опис |
|---|---|
wca poller:poll <device_id> [-p <опитувач>] [-d] |
Запустити опитування пристрою вручну: усі опитувачі або один (-p, напр. optical_strength). -d — без перевірок доступності та інтервалу |
wca poller:last:counters |
Статистика останніх опитувань |
Детальніше про опитувачі — Опитувач обладнання.
Кеш➧
| Команда | Опис |
|---|---|
wca cache:flush |
Оновити всі кеші. Використовуйте після зміни налаштувань або якщо дані відображаються некоректно |
wca cache:redis:flush-all |
Очистити кеш Redis |
wca cache:memcache:flush |
Очистити кеш відповідей обладнання |
wca cache:objects:flush |
Очистити кеш службових об'єктів |
wca cache:memcache:keys [маска] |
Список ключів кешу за маскою |
wca cache:memcache:key-value <ключ> |
Значення ключа кешу |
Система та фонові процеси➧
| Команда | Опис |
|---|---|
wca system:http:reset |
Перезапустити обробники веб-запитів — застосувати зміни в .env |
wca system:http:stat |
Стан обробників веб-запитів |
wca system:configuration |
Вивести поточну конфігурацію системи |
wca system:subscription |
Інформація про підписку агента. Допомагає з'ясувати причину, якщо агент відключено |
wca system:reload-external-apps |
Перезавантажити конфігурацію зовнішніх застосунків (Grafana, Prometheus тощо) |
wca supervisor:processes-list |
Список фонових процесів та їх стан |
wca supervisor:control <процес> <restart\|stop\|start> |
Керування фоновим процесом, напр. перезапуск Telegram-бота після зміни налаштувань |
wca supervisor:restart |
Перезапустити всі фонові процеси |
wca schedule:list |
Задачі планувальника |
Компоненти➧
| Команда | Опис |
|---|---|
wca component:list [-o json] |
Список компонентів та їх стан |
wca component:control <компонент> <install\|uninstall\|enable\|disable> |
Встановити, видалити, увімкнути або вимкнути компонент |
wca component:dependencies |
Залежності між компонентами |
Детальніше — Про компоненти.
Журнали та очищення даних➧
| Команда | Опис |
|---|---|
wca logs:clear <тип> [днів] |
Очистити журнали старші за N днів. Типи: switcher-core (звернення до обладнання), collector (опитувач), actions (дії користувачів), crontab-reports (звіти планувальника) |
wca events:retention <днів> |
Видалити закриті події, старші за N днів |
wca trapservice:clear-old-logs [днів] |
Очистити старі записи SNMP-трапів |
wca attachments:clear-not-existed |
Видалити записи вкладень, файли яких відсутні |
wca auto_topology:clear-not-actual-links [-d 3] |
Видалити автоматично знайдені з'єднання, не підтверджені N днів |
Команди компонентів➧
Доступні, коли відповідний компонент увімкнено. Більшість з них запускаються планувальником автоматично — вручну їх виконують, щоб не чекати розкладу або для діагностики.
| Команда | Компонент | Опис |
|---|---|---|
wca autodiscovery:scan [cidr] [-a <access_id>] [-g <group_id>] |
Autodiscovery | Пошук нових пристроїв у мережі |
wca auto_topology:scan |
Автотопологія | Побудувати з'єднання між пристроями за LLDP/FDB |
wca links:calc-link-utilization |
Навантаження з'єднань | Перерахувати завантаження з'єднань |
wca olts:get-onts-blacklist [ip] |
ОЛТи | Зчитати чорний список ONU з усіх OLT або одного |
wca onts_registration:get-unregistered-onts [ip] |
Реєстрація ONU | Оновити список незареєстрованих ONU |
wca analytics:duplicated-mac-addresses |
Аналітика | Пошук дублікатів MAC-адрес |
wca analytics:duplicated-ont-idents |
Аналітика | Пошук дублікатів ONU |
wca events:apply-rules |
Події | Застосувати правила подій після зміни конфігурації |
wca events:sync-active-alerts [--dry-run] |
Події | Закрити «завислі» події після перезапуску Alertmanager (--dry-run — лише показати) |
wca notifications:send-notify <id> |
Сповіщення | Повторно надіслати сповіщення за ID |
wca pinger:update-exporter-statuses |
Pinger | Оновити статуси для ICMP-моніторингу |
wca mikbill_integration:sync-clients |
MikBill | Синхронізувати абонентів з MikBill |
wca nodeny_plus:sync-clients |
NoDeny Plus | Синхронізувати абонентів з NoDeny |
wca userside_integration:sync [типи...] |
Userside | Синхронізувати дані з Userside |
Службові команди➧
Ці команди запускаються системою автоматично (фонові сервіси, планувальник, міграції при оновленні). Не запускайте їх вручну, якщо цього не порадила підтримка:
schedule:executor, schedule:exec-once, poller:poll-service, migration:migrate,
migration:components-migrate, migration:list, cache:compile, openapi:generate,
system:internal-event-listener, system:prom-metrics-exporter, system:events:listeners,
events:subscribe, notifications:service, notifications:telegram-bot, trapservice:handler,
console:open-for-web, console:run-ttyd-server, server:run, api:routes-list, api:rules-list.