[D7] Drupal Remote Dashboard

Last updated on
2 February 2017

This page has not yet been reviewed by Drupal Remote Dashboard maintainer(s) and added to the menu.

This module is for system administrators. It's a tool to monitor and manage any number of Drupal installations at once and it's built to be extensible by other modules. With version 2 as of January 2012 this module also comes with the highest level of security where all communication between the dashboard and each of the servers is AES encrypted, hence the dependency (see below). Optionally, the monitoring data will be made visible in nice graphs if the Google Chart API is available.

Glossary

  • Dashboard

    The Dashboard presents filterable lists of Cores or Domains including a lot of detailed information about each and an extensible list of actions that can be performed on selected Cores or Domains. The Dashboard is only available for Drupal 7.

  • Core

    A Core in the context of DRD is a Drupal installation. That can be a single Drupal installation or a Drupal multisite setup containing multiple Drupal installations. Each Core (Drupal installation) then hosts any number of domains or sites. One of those domains is considered to be a kind of “primary control” domain on this Core and the URL of that domain should be used as the URL for the Core. DRD supports Drupal 6 and Drupal 7 for monitoring of Cores and requires the complementary module “DRD Server”.

  • Domain or Site

    Domains in the context of DRD are the sites hosted by a Drupal installation (Core). The DRD Server module must be enabled on each of the domains that you want to monitor and manage. There is a mechanism in place that helps you enable this module easily from the Dashboard. DRD Server currently supports Drupal 6 and Drupal 7.

How it works

When installing DRD and adding a Core to the Dashboard by providing one of the domains of that server, the Dashboard adds that core entity to the database and performs the following actions:

  • Runs a script on the remote Core to install the module drd_server for the given domain
  • Sends the encryption settings from DRD to the remote Core. To be able to do this, you have to insert the IP address of the DRD Server to the settings of “drd_server” module on your remote Core. A link to get there directly is provided in DRD
  • After that, DRD reads all available domains from the remote Core and updates the encryption keys for each
  • Then, DRD reads all available actions from the remote Core and domain

This is repeated for each new Core you add to your Dashboard. That provides you with a list of all Cores including a lot of additional information, i.e. the number of hosted domains on each Core. You can now always switch between the Cores overview and the domain list. In both of those lists you can always select one or more items and then select one of the available actions from the drop-down above the list to execute.

Now, not all of those actions get executed immediately, because that could take quite a while, e.g. if you're updating translation information on 150 domains all at once. Instead, all those actions are queued on the DRD server and get executed one after the other. In the dashboard you get updates on what's been done, what's currently being done and what's still outstanding. Should you close your browser while there are still items in the queue, the remaining items get executed by cron or when you get back to the dashboard at any later time.

Talking about security

One of the objectives of DRD is to keep all your data secure and never compromise any of the sites. This is achieved while still keeping the system easy to use by protecting the communication between DRD and the Cores and domains (a) by the IP address of the DRD and (b) by encrypting all data being transferred with the AES module's functionality.

Also you stay in control of your own data and as none of your data will be shared with similar external services like droptor.com or Acquia insight.

How to collect monitoring data

Data is collected from all managed domains every time cron is executed on your DRD Server. We recommend that you execute cron every 5 minutes which gives you quite a good insight into what's going on for all your domains. Please refer to public documentation on how to setup cron jobs on your specific operating system. An example from a Linux system may look like this:

0,5,10,15,20,25,30,35,40,45,50,55 * * * * wget -O - -q -t 1 http://www.example.com/cron.php?cron_key=[YOUR_CRON_KEY]

Installation and Getting Started

There are 3 modules: DRD, DRD_Server and AES and you should download all of them and copy them into your sites/all/modules directory of your DRD Server first. Then, copy just the drd_server module and the aes module into the sites/all/modules directory of each (!) of your remote Drupal installations and that's about it in terms of preparation.

Now you can enable the DRD and DRD_Server module on your DRD server and then go to admin/config/system/drd where you can start adding servers to it. Just follow the instructions and you should be guided through all required steps easily.

For more info and FAQ

Check out the README.txt

Dependencies

AES - http://drupal.org/project/aes
DRD Server - http://drupal.org/project/drd_server

CHART API - http://drupal.org/project/chart

Roadmap

Here is what we're planning for the next few release:

  • Monitoring and alerts
  • Supporting logs on the remote Cores and domains
  • Provide sample modules to demonstrate extensibility and the API
  • Start support for Drush, i.e. allow to update modules from within DRD by using Drush over ssh
  • Query remote databases

Contact

Current maintainer: Jürgen Haas (jurgenhaas) - http://drupal.org/user/168924
Current supporter: Jons Slemmer (j.slemmer) - http://drupal.org/user/361180

This project has been sponsored by:

PARAGON Executive Services GmbH - http://www.paragon-es.de
Joy Group - http://www.joygroup.nl

Help improve this page

Page status: No known problems

You can: