Skip to content

Minimal Prometheus Metrics for Moodle Databases

Notifications You must be signed in to change notification settings

dpunkturban/moodledb_exporter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

This is a very simple exporter that connects to a local MySQL database on scrape. It then looks for all databases matching the prefix filter which are supposed to contain the typical Moodle tables. From these, a count of non-deleted users is exported for each database.

It is very simple, but it works well enough. It could also serve as a basis for other SQL query based exporters, if necessary.

Option Explanation
web.listen-address same as every other exporter out there, default is port 9720
web.telemetry-path same as every other exporter out there, default is /metrics
mysql.prefix the prefix used to filter databases, as not every database contains a Moodle. We use a db_ prefix to our db_customername scheme, so thats the default

Further, you'll have to set DATA_SOURCE_NAME to some MySQL DSN spec. You'll likely use something like this invocation (SystemD Unit Sytnax) in the end:

Environment="DATA_SOURCE_NAME=exporter:S0meS3curePass@(localhost:3306)/"
ExecStart=/opt/moodledb_exporter/moodledb_exporter --mysql.prefix="customer_"

The output/the metrics will look like:

# HELP moodle_users_total Number of users found in a MoodleDB
# TYPE moodle_users_total gauge
moodle_users_total{dbname="customer_1"} 191
moodle_users_total{dbname="customer_2"} 10
...

Along with the usual promhttp stuff.

About

Minimal Prometheus Metrics for Moodle Databases

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%