How pancasolva/asentinel works
Asentinel monitors application and service endpoints, records status and anomalies, alerts on failures, and presents monitoring data through an admin and guest-facing dashboard. The principal runtime flow is a queued check against a monitored URL, followed by persisted results, broadcasts, and optional email alerts. Users also manage applications, services, access, and notifications. The README documents automated health checks and Reverb updates; sampled sources confirm job behavior and health reporting, but do not show scheduler dispatch or all route-to-controller wiring.
Main entry points: api.php API routes · CheckServiceJob.php Endpoint check job · GuestController.php Guest access · Aplikasi.php Applications
Components 29
Dashboard
- React app
resources/js/main.jsx - Dashboard pages
resources/js/pages - API client
resources/js/api.js
Application API
- API routes
routes/api.php - Authentication
app/Http/Controllers/Admin/AdminController.php - Applications API
app/Http/Controllers/Admin/Api/AplikasiController.php - Services API
app/Http/Controllers/Admin/Api/ServiceController.php - Guest access
app/Http/Controllers/GuestController.php - Monitoring API
app/Http/Controllers/Admin/Api/MonitoringController.php - Monitoring logs
app/Http/Controllers/Admin/Api/LogMonitorController.php - Anomaly API
app/Http/Controllers/Admin/Api/LogAnomaliController.php - Notifications API
app/Http/Controllers/Admin/Api/NotificationController.php - Report integration
app/Services/NotificationApiService.php - Health endpoint
app/Http/Controllers/HealthController.php
Monitoring
- Health checks
app/Health/HealthCheckService.php - Endpoint check job
app/Jobs/CheckServiceJob.php - Email alerting
app/Services/AlertService.php - Live update event
app/Events/MonitoringUpdated.php
Monitoring data
- Applications
app/Models/Aplikasi.php - Services
app/Models/Service.php - Monitoring logs
app/Models/LogMonitor.php - Anomalies
app/Models/LogAnomali.php - Users and access
app/Models/User.php - Read states
app/Models/ReadNotification.php
Other components
- Admin or guest
- Monitored endpoints
- External report API
- Mail service
- Reverb clients
Connections 35
- Admin or guest → React app: uses
- React app → Dashboard pages: renders
- Dashboard pages → API client: requests
- API client → API routes: sends requests
- API routes → Authentication: routes
- API routes → Applications API: routes
- API routes → Services API: routes
- API routes → Guest access: routes
- API routes → Monitoring API: routes
- API routes → Monitoring logs: routes
- API routes → Anomaly API: routes
- API routes → Notifications API: routes
- Applications API → Applications: reads and writes
- Services API → Services: reads and writes
- Services API → Applications: checks access
- Guest access → Users and access: validates user
- Guest access → Applications: validates app
- Guest access → Read states: updates access
- Monitoring API → Monitoring logs: reads
- Monitoring logs → Monitoring logs: reads
- Anomaly API → Anomalies: reads
- Notifications API → Report integration: fetches reports
- Report integration → External report API: requests reports
- Notifications API → Read states: reads and writes
- Health endpoint → Health checks: requests report
- Endpoint check job → Applications: loads and updates
- Endpoint check job → Services: loads and updates
- Endpoint check job → Monitored endpoints: checks URL
- Endpoint check job → Monitoring logs: writes result
- Endpoint check job → Anomalies: writes failures
- Endpoint check job → Live update event: broadcasts log
- Live update event → Reverb clients: publishes update
- Endpoint check job → Email alerting: requests alert
- Email alerting → Monitoring logs: reads failure history
- Email alerting → Mail service: sends email