Professional Uptime Monitoring
Drupal's status report says when cron last ran and stops there. It does not say what started that run, which roles can hand over the site, or whether anything records an error. It says nothing about the certificate or the domain name either, since those are the two questions a site cannot answer about itself.
My Website is Online puts seven checks on one page under Reports, and on the status report. Five run locally, against this site's own database and configuration. The certificate and the domain registration are checked from outside, after somebody presses Connect.
Features
- Seven checks on one page, counted by state like core's status report.
- Cron: what started the last run (drush, a system task, the cron URL, a visitor loading a page) and whether an item is stuck in a queue.
- Site-takeover permissions: every role outside the administrators holding one of the seven, red on Anonymous or Authenticated.
- Text formats: flags a format open to every user that lets raw HTML through, so a visitor can put a script on the page. The fallback format is included, since using it needs no permission.
- Dormant privileged accounts: how many admin accounts nobody signs into, as a count and a link, never the names.
- Logging: whether errors go to Database Logging, Syslog or nowhere. With Database Logging, the row limit and how many days of history it currently keeps.
- SSL certificate and domain registration, checked from outside the way a browser sees them.
- Email alerts 14, 7 and 3 days before either one expires, and once when cron stops.
- A Check now button that runs the checks without waiting for cron.
Built for the site nobody logs into every day. The certificate that expired on a Saturday and the cron that stopped three weeks ago both turn up on one page.
Post-Installation
Installing sends nothing anywhere. The five local checks run on the first page load and need no configuration.
The other two stay empty until the site is connected. A panel on the report page lists what goes out and what comes back, with a link to the privacy policy. One press registers the site: no account, no sign-up, no key to paste. The first result takes a few minutes to come back. An address the service cannot reach from the public internet is refused, so an intranet install keeps its five local checks and marks the other two as not monitored.
The report sits under Reports, the settings under Configuration > Web services: alert recipients, how long cron can stay silent, how long an item can wait in a queue, how long an account can go without a sign-in.
"View the My Website is Online report" opens the page. "Administer My Website is Online" adds the settings, Connect and Check now.
Uninstalling tells the service, then deletes the token and everything else stored.
Additional Requirements
Drupal 10.3 or later. Nothing outside core.
Stuck items are read from the queue table, so a site on another queue backend loses that part of the cron row and keeps the rest.
External services
The certificate and the registration are checked by My Website is Online, a third-party uptime monitoring service, over four calls: Connect, one check a day, an hourly ping, and uninstall. Out goes the site address, the platform, the versions of Drupal, PHP and this module, and the time and source of the last cron run. No content, no user data, no email address.
Answers to the common questions are in the FAQ. Use of the service is covered by its privacy policy and terms and conditions.
Similar projects
- Security Review: a security checklist run on demand, wider on that front. This module keeps three of those questions on the status report, and adds cron, logging, the certificate and the domain.
- Monitoring: a sensor framework for feeding an external system, and it does more once configured. This one is seven rows with nothing to configure.
- Nagios: exposes the site to a Nagios or Icinga server. The right answer when that server exists.
Coming from 1.0.x
The website key field is gone, and so is the public route that served it. Registration happens through Connect, and the update hook drops the stored key.
Community Documentation
Documentation is in progress. Links will be added once available.