Skip to main content

Overview

Nekotopia operates a comprehensive monitoring infrastructure to ensure service reliability, performance optimisation, and proactive issue detection. Our telemetry stack is built on industry-standard open-source tools,tools.

providing
real-time

What visibilityWe intoMonitor

network

We continuously monitor the health and VPNperformance serviceof performance.the Torus network:


Monitoring Stack

Core Components

WhattunnelCorecapacity
ComponentArea Purpose DescriptionWe Track
PrometheusNetwork Health MetricsVPN Database Time-seriesstatus, collectionbandwidth andutilisation, storagepacket with powerful query language (PromQL)loss
GrafanaService Availability Visualisation Dashboards,services alerting,uptime, andAPI data explorationresponsiveness
MKTXPResource Usage MikroTikInfrastructure Exporter Exportsand RouterOS metrics (interfaces, queues, firewall, wireless)headroom
NodeSecurity ExporterEvents Host MetricsCPU, memory, disk, network stats from Linux servers
cAdvisorContainer MetricsDocker container resource usage and performance
pmacctFlow AnalysisNetFlow/IPFIXUnusual traffic accountingpatterns, andconnection analysisanomalies

ArchitectureAlerting

TheAutomated monitoringalerts systemnotify followsadministrators a pull-based collection model with centralised storage and visualisation.

Data Collection Flow

1. Data Sources generate metrics:of:

  • MikroTikService Routerdegradation (networkor stats, queues, firewall)outages
  • LinuxCapacity Hoststhresholds (systemapproaching resources)limits
  • DockerSecurity-relevant Containersevents
  • (application
  • Infrastructure metrics)component failures

Dashboards

Real-time dashboards provide visibility into:

  • Overall network health status
  • Active VPN connections
  • Bandwidth consumption by tier
  • Historical performance trends

User-Facing Metrics

Some metrics are exposed to users through the dashboard:

  • Your connection status and uptime
  • Your bandwidth usage
  • Network latency to the hub

2.For Exportersmore expose metrics in Prometheus format:

  • MKTXP → MikroTik metricsdetails on :9436
  • Node Exporter → Host metrics on :9100
  • cAdvisor → Container metrics on :8080

3. Prometheus scrapes all exporters every 15 seconds and stores 30 days of time-series data.

4. Grafana queries Prometheus and displays dashboards for operators.

Visual Flow

╔═══════════════════════════════════════════════════════════════════╗
║                        DATA SOURCES                               ║
╠═══════════════════════════════════════════════════════════════════╣
║                                                                   ║
║   ┌─────────────┐    ┌─────────────┐    ┌─────────────┐          ║
║   │  MikroTik   │    │   Linux     │    │   Docker    │          ║
║   │   Router    │    │   Hosts     │    │ Containers  │          ║
║   └──────┬──────┘    └──────┬──────┘    └──────┬──────┘          ║
║          │                  │                  │                 ║
║          ▼                  ▼                  ▼                 ║
║   ┌─────────────┐    ┌─────────────┐    ┌─────────────┐          ║
║   │    MKTXP    │    │    Node     │    │  cAdvisor   │          ║
║   │  :9436      │    │  :9100      │    │  :8080      │          ║
║   └──────┬──────┘    └──────┬──────┘    └──────┬──────┘          ║
╚══════════╪══════════════════╪══════════════════╪══════════════════╝
           │                  │                  │
           └──────────────────┼──────────────────┘
                              │
                              ▼
              ╔═══════════════════════════════╗
              ║        PROMETHEUS             ║
              ║      (Metrics Database)       ║
              ║                               ║
              ║  • Scrapes every 15 sec       ║
              ║  • 30 day retention           ║
              ║  • Alerting rules             ║
              ╚═══════════════╤═══════════════╝
                              │
                              ▼
              ╔═══════════════════════════════╗
              ║          GRAFANA              ║
              ║        (Dashboards)           ║
              ║                               ║
              ║  • VPN Statistics             ║
              ║  • Bandwidth Graphs           ║
              ║  • System Health              ║
              ╚═══════════════════════════════╝

NetFlow Traffic Analysis

For detailed traffic analysis, NetFlowwhat data followswe acollect separateabout path:users, see Data Collection.

┌─────────────┐         ┌─────────────┐         ┌─────────────┐
│  MikroTik   │ NetFlow │   pmacct    │ metrics │ Prometheus  │
│   Router    │ ──────▶ │  Collector  │ ──────▶ │             │
│             │   v9    │             │         │             │
└─────────────┘         └──────┬──────┘         └─────────────┘
                               │
                               ▼
                        ┌─────────────┐
                        │   Grafana   │
                        │  Traffic    │
                        │  Analysis   │
                        └─────────────┘

Key Metrics Collected

Network Metrics

MetricDescription
Interface ThroughputBytes in/out per interface
Packet RatesPackets per second, errors, drops
Queue StatisticsPer-user bandwidth enforcement
Firewall CountersRule hit counts, blocked connections
WireGuard PeersHandshake status, data transfer

System Metrics

MetricDescription
CPU/MemoryServer and router resource usage
Disk I/OStorage performance
Container HealthDocker service status
Process MonitoringCritical service uptime

Traffic Analysis

MetricDescription
Flow RecordsSource/destination IP, ports, protocols
User BandwidthPer-VPN-peer traffic accounting
Top TalkersHighest bandwidth consumers
Protocol DistributionTraffic breakdown by application

Access

Grafana dashboards are available to administrators at the internal monitoring endpoint. User-facing statistics are exposed through the Nekotopia dashboard where appropriate.