nmemmert 5330c8932f Feature: Auto-create incidents after 10 failed checks with rich descriptions
- Add description and failed_check_count fields to incidents table
- Update handleIncident() to use configurable threshold (default 10 checks)
- Auto-generate incident description with:
  - Number of consecutive failures
  - Last error message/reason
  - First failure timestamp
- Add API endpoints: GET/POST /api/settings/incident-threshold
- Add UI settings field to configure incident failure threshold
- Server: Get threshold from database settings (persistent across restarts)
- Default threshold: 10 consecutive failed checks per resource
2025-12-16 13:24:20 -05:00
2025-12-15 12:35:12 -05:00
2025-12-12 13:38:09 -05:00
2025-12-12 13:32:01 -05:00
2025-12-15 12:35:12 -05:00

SkyWatch

A comprehensive monitoring system for tracking the uptime and performance of your resources.

Features

  • 📊 Real-time Dashboard - Monitor all your resources at a glance
  • 📈 Performance Graphs - Visualize response times and uptime statistics with intelligent averaging
  • 🔔 Alert Notifications - Email and webhook alerts when resources go offline
  • 📝 Incident Tracking - Track when resources go down and recover
  • ⚙️ Configurable Checks - Set custom check intervals and timeouts
  • 🗄️ Historical Data - 7 days of check history with detailed statistics

Quick Start

Installation

See Installation Guide for detailed setup instructions.

Quick Install on Ubuntu:

curl -fsSL https://raw.githubusercontent.com/nmemmert/monitor/main/install-ubuntu.sh | bash

First Steps

  1. Install SkyWatch
  2. Deploy to Your Server
  3. Learn How to Use

Documentation

Topic Description
📦 Installation Quick install, manual setup, dev/prod modes
🚀 Deployment Deploy to remote servers, Docker, services, firewall
📚 Usage Guide Dashboard, History, Settings, Resources, SLA Reports
⬆️ Upgrade Guide How to upgrade to new versions
🆘 Troubleshooting Common issues and solutions

History Feature

The History page shows detailed check data with two viewing modes:

  • Averaged Mode (Default) - Server-side bucketing for fast, clean graphs

    • 7 Days: 1-hour buckets
    • 14 Days: 3-hour buckets
    • 30 Days: 6-hour buckets
  • Raw Mode - Up to 600 individual checks for detailed analysis

See Usage Guide → History Page for details.

API Endpoints

  • GET /api/resources - List all resources
  • POST /api/resources - Create new resource
  • GET /api/resources/:id - Get resource details
  • PUT /api/resources/:id - Update resource
  • DELETE /api/resources/:id - Delete resource
  • GET /api/dashboard - Dashboard overview
  • GET /api/incidents - Recent incidents

Project Structure

mon/
├── server/              # Backend Node.js/Express
│   ├── index.js        # Main server file
│   ├── database.js     # SQLite database setup
│   ├── monitorService.js
│   ├── notificationService.js
│   └── scheduler.js
├── client/             # React frontend
│   ├── src/
│   │   ├── App.js      # Main React component
│   │   ├── History.js  # History page with graphs
│   │   └── App.css     # Styles
│   └── build/          # Production bundle (committed to git)
├── docs/               # Documentation
├── data/               # SQLite database (auto-created)
├── .env                # Environment configuration
└── package.json

Support

Having issues? Check the Troubleshooting Guide for solutions to common problems.

License

MIT

S
Description
No description provided
Readme
7.5 MiB
0 Stars 1 Watchers 0 Forks
Languages
JavaScript 74%
CSS 12.1%
Shell 9.1%
PowerShell 4.1%
HTML 0.5%
Other 0.2%