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, MongoDB, MySQL and Redis. 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).
This plugin is not yet compatible with Kubernetes deployment.
Installation
This plugin is available to subscribers of a Tutor license. To install this plugin, run:
tutor license 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.