A Laravel-based web application for monitoring website uptime and sending webhook notifications.
Sathish Kumar M
- LinkedIn: pplcallmesatz
- Role: Design Team Lead
- Location: Karur, India
- PHP >= 8.1
- Composer
- Node.js & NPM
- MySQL/MariaDB
-
Clone the repositorybash git clone https://github.com/yourusername/uptime-monitoring-tool.git cd uptime-monitoring-tool
-
Install PHP dependencies
composer install- Install NPM packages
npm install- Environment Setup
# Copy the example env file
cp .env.example .env
# Generate application key
php artisan key:generate- Configure Database
Update your
.envfile with your database credentials:
DB_HOST=127.0.0.1
DB_DATABASE=monitoring_tool
DB_USERNAME=root
DB_PASSWORD=- Run Migrations
php artisan migrate- Start the Development Server
php artisan serve --port=4000- Compile Assets
npm run dev- Start the Scheduler (in a separate terminal)
php artisan schedule:workYour application will be available at: http://127.0.0.1:4000
- Website uptime monitoring
- Configurable check intervals
- Webhook notifications for downtime
- Response time tracking
- Status code monitoring
- Detailed logging system
- Check Interval: Set how often to check each site (in minutes)
- Cooling Time: Set delay between webhook notifications (in seconds)
- Webhook URL: URL to receive downtime notifications
- Retry Count: Number of retries before marking site as down
- Enable/disable logging per site
- Configure logs retention period
- Set logs per page for pagination
If you encounter any issues:
- Check Laravel logs:
tail -f storage/logs/laravel.log- Verify database connectivity:
php artisan db:monitor- Clear application cache:
php artisan config:clear
php artisan cache:clearContributions are welcome! Please feel free to submit a Pull Request.