Journal
Your application logs contain very rich information that should be leveraged to optimize your platform engagement. This plugin transparently collects all logs in a single Elasticsearch instance and make them accessible in a Kibana frontend, all running locally of course.
A demo of this plugin is available at https://journal.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-journal
Usage
The plugin must first be enabled with:
tutor plugins enable journal
Then, launch your platform as usual with:
tutor local quickstart
To access the Kibana user interface in production, go to http(s)://journal.<LMS HOST>. In development, this interface is accessible at http://journal.local.overhang.io. The interface is password-protected: the user name is "admin" and the password can be obtained by running:
tutor config printvalue JOURNAL_ADMIN_PASSWORD
All Elasticsearch indices are periodically cleaned ("curated") to ensure that data does not accumulate indefinitely. See the CURATOR_*_MAX_AGE_DAYS configuration parameters below to adjust the frequency at which data is deleted. To run the curator manually, run:
tutor local run journal-curator curator --config=/etc/curator/config.yml /etc/curator/actions.yml
Configuration
The following Tutor configuration settings are defined for this plugin:
- JOURNAL_VERSION: (default: __version__)
- JOURNAL_ADMIN_USER: (default: "admin")
- JOURNAL_ADMIN_PASSWORD: (default: "{{ 12|random_string }}")
- JOURNAL_CURATOR_VERSION: (default: "5.8.1")
- JOURNAL_CURATOR_DOCKER_IMAGE: (default: "overhangio/openedx-curator:{{ JOURNAL_VERSION }}")
- JOURNAL_CURATOR_APPS_MAX_AGE_DAYS: (default: 7)
- JOURNAL_CURATOR_OPENEDX_TRACKING_MAX_AGE_DAYS: (default: 6*31)
- JOURNAL_CURATOR_NGINX_ACCESS_MAX_AGE_DAYS: (default: 31)
- JOURNAL_CURATOR_NGINX_ERROR_MAX_AGE_DAYS: (default: 31)
- JOURNAL_ENABLE_CURATOR: (default: True)
- JOURNAL_ENABLE_ELASTICSEARCH: (default: True)
- JOURNAL_HOST: (default: "journal.{{ LMS_HOST }}")
- JOURNAL_HOST_DOCKER_SOCK: (default: "/var/run/docker.sock")
- JOURNAL_HOST_DOCKER_LOGS_ROOT: (default: "/var/lib/docker/containers")
- JOURNAL_ELASTIC_VERSION: (default: "7.6.1")
- JOURNAL_ELASTICSEARCH_HEAP_SIZE: (default: "1g")
- JOURNAL_ELASTICSEARCH_SCHEME: (default: "http")
- JOURNAL_ELASTICSEARCH_HOST: (default: "journal-elasticsearch")
- JOURNAL_ELASTICSEARCH_PORT: (default: 9200)
- JOURNAL_ELASTICSEARCH_USERNAME: (default: "")
- JOURNAL_ELASTICSEARCH_PASSWORD: (default: "")
Each setting can be modified by running:
tutor config save --set SETTING_NAME=settingvalue
For instance, to modify the Kibana administrator username and password, run:
tutor config save --set JOURNAL_ADMIN_USER=johndoe \ --set JOURNAL_ADMIN_PASSWORD=passw0rd
License
This software is licensed under the terms of the AGPLv3.