monitoring_endpoint
35 sites
Security covered
The Monitoring Endpoint module provides a secure, token-authenticated JSON API endpoint that exposes real-time status information from all enabled Monitoring module sensors and Ultimate Cron jobs.
Key Features
- Secure API Access: Token-based authentication protects your monitoring data
- Real-time Status Reporting: Get instant status updates for all enabled sensors (caching disabled by default)
- Cron Job Monitoring: Individual Ultimate Cron job status tracking with configurable monitoring per job
- External Integration: JSON format compatible with popular monitoring tools (Uptime Kuma, Nagios, etc.)
- Flexible Caching: Optional response caching (disabled by default to ensure real-time data for monitoring tools)
- Simple Configuration: Easy setup via settings.php or configuration UI
Use Cases
- Monitor your Drupal site with external monitoring services
- Integrate Drupal health checks into existing infrastructure monitoring
- Track individual cron job execution status
- Set up alerts for critical site issues
- Provide monitoring data to DevOps teams without requiring Drupal access
How It Works
The module exposes a single endpoint (/monitoring/status?token=your-token) that returns a JSON response containing:
- A count of critical failures
- Status of each enabled monitoring sensor
- Individual Ultimate Cron job statuses (when configured)
All sensors report standard status codes: OK, WARNING, CRITICAL, or INFO.
Tested With
- Uptime Kuma: Use HTTP(s) - Json Query monitor type
- Monitor specific sensor:
$.cron_job_example=OK - Monitor all sensors:
$keys($sift($, function($v) { $v != 'OK' and $v != 'INFO' }))=count_failures
- Monitor specific sensor:
- Nagios/Icinga: Parse the count_failures value
- Custom Scripts: Parse JSON response in any language
Inspired by the Monitoring HRM module.