Difference between revisions of "Server Metrics using Prometheus"

From Luanti Wiki
Jump to navigation Jump to search
(Replaced content with "[https://dev.luanti.org/server-metrics-using-prometheus/ This page has moved to the Luanti Developer Wiki]")
Tag: Replaced
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
+
[https://dev.luanti.org/server-metrics-using-prometheus/ This page has moved to the Luanti Developer Wiki]
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.
 
 
 
== 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:
 
 
 
<syntaxhighlight lang="bash">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</syntaxhighlight>
 
 
 
=== Build Minetest ===
 
 
 
Now, you need build minetest with Prometheus enabled
 
 
 
<syntaxhighlight lang="bash">cmake . -DENABLE_PROMETHEUS=1
 
make -j$(nproc)</syntaxhighlight>
 
 
 
=== Configure prometheus ===
 
 
 
Prometheus will make HTTP requests to Minetest's prometheus-cpp library to get the metrics.
 
 
 
You can set the prometheus listen address like so:
 
 
 
<code><pre>prometheus_listener_address = 127.0.0.1:30000</pre></code>
 
 
 
== Grafana ==
 
 
 
You can link up Prometheus to Grafana to make nice web graphs. For example:
 
[https://monitor.rubenwardy.com/d/r6cCl68mk/minetest-servers monitor.rubenwardy.com]
 
 
 
To do: example layouts
 

Latest revision as of 20:52, 31 December 2024