- matrix-gateway: POST /internal/matrix/presence/online endpoint - usePresenceHeartbeat hook with activity tracking - Auto away after 5 min inactivity - Offline on page close/visibility change - Integrated in MatrixChatRoom component
6.4 KiB
6.4 KiB
Node Network Integration - Complete ✅
📋 Summary
Інтегровано Node Registry Service та NATS JetStream на головний дашборд та створено окрему сторінку для управління зв'язками між нодами.
✅ Що додано
1. API Endpoint /api/network/status
Функціональність:
- Перевіряє статус Node Registry (порт 9205)
- Перевіряє статус NATS JetStream (порт 4222, 8222)
- Повертає список всіх засобів зв'язку між нодами
- Відстежує кількість зареєстрованих нод та з'єднань
Response:
{
"node_registry": {
"status": "online|offline|error",
"url": "http://144.76.224.179:9205",
"registered_nodes": 2,
"error": null
},
"nats": {
"status": "online|offline|error",
"url": "nats://144.76.224.179:4222",
"connections": 0,
"error": null
},
"connection_methods": [
{
"name": "Node Registry",
"type": "service",
"port": 9205,
"status": "online",
"description": "Central registry for all nodes"
},
// ... інші методи
]
}
2. Блок на головному дашборді
Розташування: http://localhost:8899/
Компонент: "Node Network Status"
Відображає:
-
Node Registry:
- Статус (online/offline/error)
- Кількість зареєстрованих нод
- Порт: 9205
- Індикатор статусу (зелений/жовтий/червоний)
-
NATS JetStream:
- Статус (online/offline/error)
- Кількість з'єднань
- Порт: 4222
- Індикатор статусу
Оновлення: Автоматично кожні 20 секунд
Кнопки:
- "Details" - перехід на сторінку
/network - "Refresh" - оновлення статусу
3. Окрема сторінка /network
Розташування: http://localhost:8899/network
Секції:
A. Connection Services Status
-
Node Registry Card:
- Детальний статус
- Кнопки: "Enable", "Test"
- URL та помилки (якщо є)
-
NATS JetStream Card:
- Детальний статус
- Кнопки: "Enable", "Test"
- URL та помилки (якщо є)
B. Connection Methods
-
Grid з усіма засобами зв'язку:
- Node Registry (service, port 9205)
- NATS JetStream (message_broker, port 4222)
- HTTP/HTTPS (api, ports 9102, 9300, 8890)
- SSH (management, port 22)
- GitHub (code_sync, N/A)
-
Кожен метод показує:
- Тип
- Порт
- Статус
- Опис
C. Register New Node
-
Форма для реєстрації нової ноди:
- Node ID
- Node Name
- IP Address
- Role (Production/Development/Backup/Worker)
- Node Type (Router/Gateway/Worker/Storage)
- Hostname (optional)
- Services to Enable (checkboxes):
- Node Registry
- NATS
- Router
- Swapper
-
Кнопки:
- "Register Node" - реєстрація ноди
- "Clear" - очищення форми
D. Registered Nodes
- Таблиця з усіма зареєстрованими нодами:
- Node (назва + індикатор статусу)
- Role
- IP Address
- Status
- Last Heartbeat
- Actions (View button)
🔧 Функції
JavaScript Functions:
loadNetworkStatus()- Завантажує статус Node Registry та NATSloadNetworkPage()- Завантажує всю сторінку/networkregisterNewNode()- Реєструє нову нодуenableNodeRegistry()- Вмикає Node Registry сервісenableNATS()- Вмикає NATS сервісtestNodeRegistry()- Тестує Node Registry (відкриває health endpoint)testNATS()- Тестує NATS (відкриває varz endpoint)viewNodeDetails(nodeId)- Перехід до кабінету ноди
🔄 Автоматичне оновлення
Dashboard:
- Node Network Status оновлюється кожні 20 секунд
- Використовує
setInterval(loadNetworkStatus, 20000)
Network Page:
- Автоматичне оновлення кожні 30 секунд
- Використовує
setInterval(loadNetworkPage, 30000)
📊 Поточний статус
Node Registry:
- Status: online ✅
- URL: http://144.76.224.179:9205
- Registered Nodes: 2
NATS JetStream:
- Status: offline ⚠️
- URL: nats://144.76.224.179:4222
- Connections: 0
Connection Methods:
- ✅ Node Registry (online)
- ⚠️ NATS JetStream (offline)
- ✅ HTTP/HTTPS (active)
- ✅ SSH (active)
- ✅ GitHub (active)
🎯 Навігація
Додано в меню:
- "Node Network" - новий пункт меню
- Іконка:
network - Активний клас при відкритті сторінки
/network
Посилання:
- Dashboard → "Details" кнопка →
/network - Меню → "Node Network" →
/network
🚀 Майбутні покращення
-
Реальна реєстрація нод:
- Інтеграція з Node Registry API
- POST
/api/v1/nodes/register
-
Управління сервісами:
- Реальні кнопки Enable/Disable
- SSH команди для запуску сервісів
-
Оновлення засобів зв'язку:
- Автоматичне виявлення нових методів
- Динамічне оновлення списку
-
Heartbeat tracking:
- Відображення останнього heartbeat
- Графік доступності нод
-
Connection testing:
- Автоматичне тестування з'єднань
- Відображення latency
✅ Перевірка
API:
curl http://localhost:8899/api/network/status
Dashboard:
- Відкрити:
http://localhost:8899/ - Перевірити блок "Node Network Status"
Network Page:
- Відкрити:
http://localhost:8899/network - Перевірити всі секції
Status: ✅ Complete
Date: 2025-11-22
Version: DAGI Monitor V5.1