JotunMonitoring / README.md
README.md
Raw

Esports Center Public Monitoring System

This project provides a publicly displayed network monitoring system for our esports center. It shows real-time information about network capacity, server status, and local PCs (e.g., whether they are active or inactive). The system is built using Prometheus, Grafana, SNMP Exporter, and a custom Python script to monitor PC activity.

Features

  • PC Monitoring (PcMonitor/): Monitors local PCs and displays their online/offline status.
  • Network Monitoring (prometheus/ & snmp_exporter/): Tracks network usage, server health, and other SNMP-based data.
  • Grafana Dashboards (grafana/dashboards/): Publicly visible metrics with real-time updates.
  • Prometheus Metrics: Data collection and storage for analysis.
  • Automated Deployment: Not implemented yet
  • More stuff to come

System Components

  • Python Script (PcMonitor.py): Pings PCs and updates Prometheus metrics.
  • Prometheus: Collects metrics from the Python script and SNMP exporter.
  • SNMP Exporter: Gathers network and server data.
  • Grafana: Visualizes all collected metrics on a screen for public viewing.

Setup Instructions

1. Install Dependencies

Run the installation script to set up Prometheus, SNMP Exporter, and Grafana:

./deploy.sh

2. Start the Monitoring Services

To ensure all services are running, use:

systemctl start prometheus
systemctl start snmp_exporter
systemctl start pc_monitor
systemctl start grafana-server

3. Access the Public Dashboard

  • Prometheus UI: http://<raspberrypi-ip>:9090
  • SNMP Exporter: http://<raspberrypi-ip>snmp?target=<fortigate-switch-ip>
  • Grafana UI: http://<raspberrypi-ip>:3000
  • Metrics Endpoint (for debugging): http://<raspberrypi-ip>:8003/metrics

4. Auto-Start Services on Boot

To make sure everything restarts after a power outage, enable the services:

systemctl enable prometheus
systemctl enable snmp_exporter
systemctl enable pc_monitor
systemctl enable grafana-server

This system helps staff and players stay informed about network conditions and PC availability in real-time.But its mostly for fun 🚀