Skip to content

andyoknen/peer-network-visualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pocketnet Node Monitor

Сервис для мониторинга и сбора метрик узлов сети Pocketnet.

Описание

Pocketnet Node Monitor - это инструмент для отслеживания состояния узлов сети Pocketnet. Сервис собирает информацию о доступности узлов, их версиях, производительности и других метриках через RPC API.

Основные возможности

  • Автоматическое обнаружение узлов сети
  • Сбор метрик узлов (версия, высота блока, количество пиров)
  • Мониторинг доступности узлов
  • REST API для получения статистики
  • Хранение исторических данных
  • Географическое распределение узлов

Требования

  • Docker
  • Docker Compose
  • MongoDB
  • Доступ к сети Pocketnet

Установка и запуск

  1. Клонируйте репозиторий:
git clone https://github.com/andyoknen/peer-network-visualizer.git
cd pocketnet-node-monitor
  1. Настройте конфигурацию в config/config.yml:
fastapi:
  host: 0.0.0.0
  port: 5000

scanner:
  scan_interval: 300  # интервал сканирования в секундах
  timeout: 5         # таймаут подключения
  rpc_port: 38081     # порт RPC API

mongodb:
  uri: mongodb://mongodb:27017
  database: pocketnet_monitor

initial_peers:
  - "1.pocketnet.app"
  - "2.pocketnet.app"
  - "3.pocketnet.app"
  1. Сборка и запуск контейнера:
docker build -t peer-network-visualizer .
docker run -d --name peer-network-visualizer peer-network-visualizer

API Endpoints

Получение списка активных узлов

GET /list_nodes

Ответ:

{
  "nodes": [
    {
      "ip": "1.2.3.4",
      "version": "1.0.0",
      "block_height": 12345,
      "peers": 50,
      "last_seen": "2024-03-20T15:30:00Z"
    }
  ]
}

HTML страница

GET /

HTML страница списка узлов

GET /nodes

HTML страница визуальной карты

GET /cloud

Мониторинг

Состояние сервиса можно отслеживать через логи:

docker-compose logs -f node-monitor

Разработка

  1. Создайте виртуальное окружение:
python -m venv venv
source venv/bin/activate  # для Linux/Mac
# или
venv\Scripts\activate     # для Windows
  1. Установите зависимости:
pip install -r requirements.txt

Структура проекта

pocketnet-node-monitor/
├── docker/
│   ├── dockerfile
│   └── docker-compose.yml
├── config/
│   └── config.yml
├── src/
│   ├── api/
│   │   ├── routes.py
│   ├── services/
│   │   ├── peer_discovery.py
│   │   └── helpers.py
│   └── models/
│       ├── node.py
│       └── peer.py
└── requirements.txt

Лицензия

Apache 2.0 License

Поддержка

При возникновении проблем создавайте issue в репозитории проекта или обращайтесь к разработчикам:

Участие в разработке

  1. Форкните репозиторий
  2. Создайте ветку для новой функциональности
  3. Внесите изменения
  4. Отправьте pull request

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published