views:

58

answers:

2

I'm looking for a solution that would mail me errors from /admin/reports/dblog site in Drupal 6. The best would be a daily summary.

Is there any module or a trigger+action solution for that?

+2  A: 

Try http://drupal.org/project/logging_alerts

It will enable to you to send watchdog (i.e. dblog) messages to any arbitrary email addresses meeting your severity criteria.

If you want to get summary mails (and not an individual email)... I don't know of a quick and easy method. However you could use http://drupal.org/project/filelog that will log all events to a file. Using a cron command that runs perhaps once a day you could mail this file to yourself

See http://www.shelldorado.com/articles/mailattachments.html to mail files via the command line (this command line command would be called via cron, of course).

Sid NoParrots
+1  A: 

Drupal's loggin layer is pluggable. By default Drupal ships with db_log, which is a logger that inserts entries into the watchdog table in Database.

The most used alternative is filelogging, which uses unix-alike logfiles to log into. From there on you can use any monitoring tool to monitor those logs and pipe output into your usual reporting pipes (mail, pagers, screens etceteras).

I would advice this route above the logging_alerts NoParrots brings up for several reasons:

  • You will want to keep monitoring out of the tasks of your CMS. A CMS is a CMs and not a monitoring tool.
  • Most larger sites and environments have monitoring for the rest of the stack in place: from hardware to the apache and mySQL are already monitored, Drupal, part of that stack, should be monitored from there too, and probably not from some entirely different environment.

Reasons when to choose logging_alerts, or alike projects; monitoring from within Drupl, are when you do not monitor the rest of the stack, or do not have access to that monitoring. In such cases, setting up an entire monitoring environment, just to monitor the logs in Drupal is overkill.

Alternatively, you could create a very simple module which presents a plain-text, or XML report on an url endpoint (most probably permission based, with some token in the path). Then have a tool like Nagios call that file every x minutes and parse it. I have done this in the past, it works fine, but the overhead of a fully bootstrapped Drupal serving a simple plain-text report at, say example.com/reports/nagios/1234qwe1234 can cause problem with the speed for the rest of the server.

berkes