AutoTicket Dashboard is a full‑stack web application that lets you monitor network endpoints from a simple browser dashboard.
You can add, edit, and delete endpoints (called tickets), run automated diagnostics, and instantly see whether those endpoints are reachable.
Live Demo: https://autoticket-dashboard.onrender.com
AutoTicket Dashboard is designed as a lightweight network monitoring tool.
Here’s what it has to offer:
-
Manage tickets (endpoints)
Each ticket is a record with:ID– automatically generatedTitle– a friendly name for the endpointEndpoint– an IP address or hostnameDiagnostic Status– automatically updated (SUCCESS,FAIL, orUNKNOWN)
-
Add new endpoints easily
Use the “Add Ticket” form to add as many endpoints as you want. -
Edit and delete endpoints
- Edit existing tickets to change their title or endpoint.
- Delete tickets you no longer want to monitor (with confirmation before deletion).
-
Run diagnostics on demand
Press Run Diagnostics to:- Call a Perl script (
diagnose.pl) that pings each endpoint once. - Log the results (
SUCCESSorFAIL) with timestamps. - Call a Python script (
update_ticket.py) that reads the log and updates the database.
- Call a Perl script (
-
See results in real-time
The dashboard updates to show each endpoint’s status:- ✅ Green for
SUCCESS - ❌ Red for
FAIL ⚠️ Gray forUNKNOWN(before diagnostics)
- ✅ Green for
1. Frontend (Flask templates & CSS)
index.htmlshows the main dashboard and buttons.add_ticket.html,edit_ticket.html, anddelete_ticket.htmlhandle their respective forms.- Styling is done with
static/style.cssandstatic/button.cssfor a clean UI.
2. Backend (Flask server in app.py)
- Handles HTTP routes:
/– dashboard (list tickets from database)/add-ticket– form to add a new ticket/edit-ticket/<id>– form to edit a ticket/delete-confirm/<id>&/delete-ticket/<id>– delete flow/run-diagnostics– triggers scripts to update statuses
- Communicates with a local SQLite database (
tickets.db).
3. Database (SQLite)
- A single table:
ticketsCREATE TABLE tickets ( id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT NOT NULL, endpoint TEXT NOT NULL, diagnostic_status TEXT DEFAULT 'UNKNOWN' );
- Autocreated if missing.
4. Diagnostics (Perl & Python scripts)
diagnose.pl: Loops through all tickets in the database, pings their endpoints, and writes adiagnostics.logwith results.update_ticket.py: Reads the log and updatesdiagnostic_statusintickets.db.
- Python 3.10+
- Perl installed (for
diagnose.pl)
pip install -r requirements.txt
cd src python app.py
| Title | Endpoint |
|---|---|
| Google DNS | 8.8.8.8 |
| Cloudflare DNS | 1.1.1.1 |
| Example Site | example.com |
✅ Check availability of internal servers in your network
✅ Monitor external endpoints like public DNS servers
✅ Simple uptime checker for hobby projects
- This app does not include authentication. Anyone with the link can add/edit/delete tickets.
- Use this in a trusted environment or add authentication before production use.