Monitoring Endpoint module logo
API Endpoint example
Example of usage with Uptime Kuma tool
Integration with Ultimate Cron module

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
  • Nagios/Icinga: Parse the count_failures value
  • Custom Scripts: Parse JSON response in any language

Inspired by the Monitoring HRM module.

Project information

Releases