Files
microdao-daarion/NODES-PAGE-COMPLETE.md
Apple 3de3c8cb36 feat: Add presence heartbeat for Matrix online status
- 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
2025-11-27 00:19:40 -08:00

6.4 KiB
Raw Permalink Blame History

Сторінка НОДИ - Завершено

Дата: 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

  1. Перейти на сторінку:

    • URL: http://localhost:8899/nodes
    • Або через навігацію з головної сторінки
  2. Перегляд карток:

    • Картки показують основну інформацію про ноди
    • Статус оновлюється автоматично
    • Кнопка "Оновити" для ручного оновлення
  3. Відкриття кабінету:

    • Натиснути "Відкрити кабінет" на картці ноди
    • Або перейти за 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

  1. Налаштуйте Grafana dashboard для ноди
  2. Створіть dashboard з ID node-dashboard
  3. Налаштуйте метрики для відображення

Prometheus

  1. Налаштуйте Prometheus для збору метрик
  2. Додайте targets для нод
  3. Налаштуйте запити для відображення

📊 Структура файлів

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