- 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
✅ Сторінка НОДИ - Завершено
Дата: 2025-01-27
Версія: 1.0.0
Статус: ✅ Готово до використання
🎉 Виконано
✅ 1. Сторінка Nodes з картками
- ✅ Створено картки для НОДА1 та НОДА2
- ✅ Відображення статусу (онлайн/офлайн/деградовано)
- ✅ Інформація про IP адресу, роль, активну модель
- ✅ Кнопка переходу в кабінет ноди
- ✅ Автоматичне оновлення статусу кожні 30 секунд
✅ 2. Кабінет ноди (NodeCabinetPage)
- ✅ Детальна інформація про ноду
- ✅ Вкладки: Огляд, Агенти, Сервіси, Плагіни, Метрики
- ✅ Відображення характеристик ноди
- ✅ Метрики: CPU, пам'ять, диск, мережа
✅ 3. Відображення агентів
- ✅ Список агентів ноди
- ✅ Статус кожного агента (активний/неактивний)
- ✅ Інформація про модель агента
✅ 4. Інтеграція Grafana
- ✅ Iframe для відображення Grafana dashboard
- ✅ Налаштування через змінні середовища
- ✅ Автоматичне оновлення кожні 30 секунд
- ✅ Підтримка kiosk режиму
✅ 5. Інтеграція Prometheus
- ✅ Iframe для відображення Prometheus метрик
- ✅ Налаштування через змінні середовища
- ✅ Графіки та запити до метрик
✅ 6. Відображення сервісів та плагінів
- ✅ Список сервісів з статусом та портами
- ✅ Список плагінів з версіями та статусом
- ✅ Візуальні індикатори статусу
🚀 Як використовувати
Доступ до сторінки Nodes
-
Перейти на сторінку:
- URL:
http://localhost:8899/nodes - Або через навігацію з головної сторінки
- URL:
-
Перегляд карток:
- Картки показують основну інформацію про ноди
- Статус оновлюється автоматично
- Кнопка "Оновити" для ручного оновлення
-
Відкриття кабінету:
- Натиснути "Відкрити кабінет" на картці ноди
- Або перейти за URL:
/nodes/{nodeId}
Кабінет ноди
Вкладка "Огляд"
- Метрики в реальному часі (CPU, пам'ять, диск, мережа)
- Швидка статистика (агенти, сервіси, плагіни)
Вкладка "Агенти"
- Список всіх агентів ноди
- Статус та модель кожного агента
Вкладка "Сервіси"
- Список запущених сервісів
- Порти та URLs сервісів
- Статус кожного сервісу
Вкладка "Плагіни"
- Список встановлених плагінів
- Версії та статус (увімкнено/вимкнено)
Вкладка "Метрики"
- Grafana dashboard для візуалізації
- Prometheus метрики та графіки
🔧 Налаштування
Змінні середовища
Додайте в .env файл:
# Grafana
VITE_GRAFANA_URL=http://localhost:3000
# Prometheus
VITE_PROMETHEUS_URL=http://localhost:9090
Grafana Dashboard
- Налаштуйте Grafana dashboard для ноди
- Створіть dashboard з ID
node-dashboard - Налаштуйте метрики для відображення
Prometheus
- Налаштуйте Prometheus для збору метрик
- Додайте targets для нод
- Налаштуйте запити для відображення
📊 Структура файлів
src/
├── pages/
│ ├── NodesPage.tsx # Сторінка з картками нод
│ └── NodeCabinetPage.tsx # Кабінет ноди з деталями
├── api/
│ └── nodes.ts # API клієнт для нод
└── App.tsx # Маршрути
🎯 Особливості
Автоматичне оновлення
- ✅ Статус нод оновлюється кожні 30 секунд
- ✅ Метрики оновлюються в реальному часі
- ✅ Grafana dashboard оновлюється автоматично
UI/UX
- ✅ Картки з градієнтним фоном
- ✅ Візуальні індикатори статусу
- ✅ Адаптивний дизайн
- ✅ Плавні переходи між вкладками
Інтеграції
- ✅ Grafana iframe для візуалізації
- ✅ Prometheus iframe для метрик
- ✅ API інтеграція (готово для підключення реального API)
📝 API Endpoints (для майбутнього)
Отримати список нод
GET /api/v1/nodes
Отримати деталі ноди
GET /api/v1/nodes/{nodeId}
Отримати метрики ноди
GET /api/v1/nodes/{nodeId}/metrics
Отримати агентів ноди
GET /api/v1/nodes/{nodeId}/agents
Отримати сервіси ноди
GET /api/v1/nodes/{nodeId}/services
✅ Готово!
Сторінка НОДИ з кабінетом та метриками готова! 🎉
- ✅ Картки НОДА1 та НОДА2
- ✅ Кабінет ноди з деталями
- ✅ Відображення агентів, сервісів, плагінів
- ✅ Інтеграція Grafana та Prometheus
- ✅ Метрики в реальному часі
Можна використовувати прямо зараз!
Last Updated: 2025-01-27
Status: ✅ Готово до використання
URL: http://localhost:8899/nodes