Server Metrics using Prometheus
Prometheus is an "open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach".
Minetest has built-in support for prometheus, allowing you to see metrics about your server - such as player count and performance information.
Here are some examples of Grafana dashboards created using Prometheus:
Using Prometheus in Minetest
Get or build the prometheus-cpp library
You may be able to find prometheus-cpp in your distro's package manager. Otherwise, you'll need to build it and make it available to Minetest.
Here's how you do that on Linux:
cd /tmp git clone --recursive https://github.com/jupp0r/prometheus-cpp mkdir prometheus-cpp/build cd prometheus-cpp/build cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTING=0 make -j$(nproc) sudo make install
Now, you need build minetest with Prometheus enabled
cmake . -DENABLE_PROMETHEUS=1 make -j$(nproc)
Prometheus will make HTTP requests to Minetest's prometheus-cpp library to get the metrics.
You can set the prometheus listen address like so:
prometheus_listener_address = 127.0.0.1:30000
You can link up Prometheus to Grafana to make nice web graphs. For example: monitor.rubenwardy.com
To do: example layouts