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

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors