Note
Quick Links: Technical Glossary | Implementation Plan | Documentation Index
A professional management tool designed for Cisco 2960 switches to monitor and manage IP Phone distributions using SNMP and Syslog.
This system provides real-time observability into which ports are hosting which IP phones (CDP/LLDP detection), monitors port stability, and maps the physical location of switches using PostGIS/GeoJSON.
- Backend: FastAPI (Python)
- Data Collection: PySNMP (Sync/Async) & Custom Syslog Listener
- Database: PostgreSQL + PostGIS (Spatial data) & Redis (Real-time caching)
- Frontend: Next.js + React + Leaflet.js
- Containerization: Docker & Docker Compose
- Technical Glossary: Definitions of all technical terms used in the project.
- Implementation Plan: Detailed technical roadmap.
Create a .env file in the root directory (you can use .env.example as a template):
cp .env.example .envPOSTGRES_USER=admin
POSTGRES_PASSWORD=admin_pass
POSTGRES_DB=cisco_manager
SNMP_COMMUNITY=public
TELEGRAM_BOT_TOKEN=your_token_here
TELEGRAM_CHAT_ID=your_chat_id_hereRun the following command to start the database, redis, and services:
docker compose up --build- API (FastAPI): Open
http://localhost:8000/docsto test the SNMP and Report endpoints. - Frontend (Next.js): Open
http://localhost:3000to see the dashboard. - 50 Commands: Navigate to the "Glossary" tab in the sidebar of the web app to see the interactive 50-command list with copy-paste functionality.
- Testing Syslog: You can simulate a switch event by sending a UDP packet to port 514:
Check the Alerts page or your Telegram to see the instant notification!
echo "<187>Dec 24 18:00:00: %LINK-3-UPDOWN: Interface GigabitEthernet0/1, changed state to down" | nc -u -w1 localhost 514
backend/: FastAPI application and SNMP/Syslog services.frontend/: React dashboard.docker/: Build configurations.
Contributions are welcome! Please check the issues page or submit a Pull Request.
This project is licensed under the MIT License.