Monitor

What's the status of your Open edX platform? Are all services running correctly? Which containers are using the most resources? This plugin makes it possible to easily monitor the status and performance of the many services required to run an Open edX platform. Out of the box, this plugin includes visual dashboards for Docker containers, Elasticsearch, Memcached, MongoDB, MySQL and Rabbitmq. Performance metrics are stored in Prometheus and dashboards are displayed by a Grafana instance. Prometheus and Grafana are themselves monitored.

A demo of this plugin is available at https://monitor.demo.openedx.overhang.io (login: admin, password: admin).

Warning

This plugin is not yet compatible with Kubernetes deployment.

Installation

This plugin is available to subscribers of a Tutor Long Term Support (LTS) license. To install this plugin, run:

tutor lts install tutor-monitor

Usage

The plugin must first be enabled with:

tutor plugins enable monitor

Then, launch your platform as usual with:

tutor local quickstart

In production, the grafana dashboards will be immediately accessible at http(s)://monitor.<LMS host>. When running locally, Grafana can be accessed at http://monitor.local.overhang.io.

Authentication is required to access Grafana. The administrator username is "admin" and the randomly generated password can be obtained by running:

tutor config printvalue MONITOR_GRAFANA_ADMIN_PASSWORD

In Grafana, the Prometheus data source and the predefined dashboards are automatically configured, so there is nothing else you have to do to monitor your Open edX platform. You might want to define custom alert rules to be warned when your platform is down or performs poorly. To learn more about Grafana features, please check out the official documentation.

Configuration

The following Tutor configuration settings are defined for this plugin:

  • MONITOR_ENABLE_DOCKER_MONITORING (default: true)
  • MONITOR_GRAFANA_ADMIN_USER (default: "admin")
  • MONITOR_GRAFANA_ADMIN_PASSWORD (default: "{{ 12|random_string }}")
  • MONITOR_GRAFANA_DOCKER_IMAGE (default: "overhangio/openedx-grafana:{{ MONITOR_VERSION }}")
  • MONITOR_GRAFANA_SECRET_KEY (default: "{{ 20|random_string }}")
  • MONITOR_HOST (default: "monitor.{{ LMS_HOST }}")

Each setting can be modified by running:

tutor config save --set SETTING_NAME=settingvalue

For instance, to modify the Grafana administrator username and password, run:

tutor config save --set MONITOR_GRAFANA_ADMIN_USER=johndoe \
    --set MONITOR_GRAFANA_ADMIN_PASSWORD=passw0rd

License

This software is licensed under the terms of the AGPLv3.