Fabric mod that adds a Prometheus exporter with general metrics of your server.
It's a server-side mod that exposes metrics of your Fabric server in Prometheus format. So, it requires you to have at least Prometheus installed to collect provided metrics. I recommend also using Grafana to visualize data.
If you want to get TPS and MSPT metrics, you should also install Spark as mod for your Fabric server.
Here is a list of metrics that are collected by FabricExporter.
- Metrics collected by Minecraft doesn't require anything, but may cause errors when running on old Minecraft versions
- Metrics collected by Spark require Spark to be installed
You can disable any of these metrics in config.
Prometheus name | Description | Config property | Collected by |
---|---|---|---|
minecraft_loaded_chunks |
Amount of currently loaded chunks on server | enable-loaded-chunks |
Minecraft |
minecraft_total_loaded_chunks |
Amount of total loaded chunks on server | enable-total-loaded-chunks |
Minecraft |
minecraft_mspt |
Count of milliseconds per tick (MSPT) | enable-mspt |
Spark |
minecraft_tps |
Count of ticks per second (TPS) | enable-tps |
Spark |
minecraft_players_online |
Amount of currently online players on your server | enable-players-online |
FabricExporter |
minecraft_entities |
Amount of currently loaded entities on your server | enable-entities |
FabricExporter |
minecraft_handshakes |
Count of handshake requests | enable-handshakes |
FabricExporter |
jvm_* |
JVM metrics collected by Prometheus client | export-jvm-metrics |
Prometheus client |
To use this mod you should have at least Fabric server and Prometheus installed.
- Download the mod from Releases page.
- Drop downloaded mod jar to the
mods
folder. - Start your server to generate config file.
- Open
config/exporter.properties
, ensure thatserver-port
value is an open port that can be accessed by your Prometheus and change it if required. - Restart the server if you made changes in config.
- Open your Prometheus config file (it located at
/etc/prometheus/prometheus.yml
by default).
sudo nano /etc/prometheus/prometheus.yml
- Add FabricExporter endpoint to the
scrape_configs
section. Don't forget to replace127.0.0.1
with address of your server and25585
with port specified inserver-port
property inexporter.properties
file.
- job_name: 'fabric'
static_configs:
- targets: ['127.0.0.1:25585']
- Restart Prometheus service.
sudo service prometheus restart
If you want to use Grafana, you can use my dashboard as template. I assume that you have already created a Prometheus data source in Grafana. So, let's import dashboard for FabricExporter.
- Log in to your Grafana and go to
Create -> Import
tab. - Type
14492
in "Import via grafana.com" field and click "Load". - On the next page change settings as you wish and click "Import".
After your server starts, FabricExporter will create exporter.properties
file in the config
folder.
You should use this file to configure the mod.
In this file you can see some general settings and metrics settings.
Property | Description | Default value |
---|---|---|
server-port |
Port on what the web server will listen for requests | 25585 |
update-interval |
Interval between gauge metrics updates in milliseconds | 1000 |
use-spark |
If set to false , FabricExporter will be independent from Spark |
true |
You can disable any metric that registered via MetricRegistry (all metrics by default) using exporter.properties
file.
Names of properties consist of enable
and metric name without prefix and _
replaced with -
.
For example, if you want to disable minecraft_players_online
, you should set enable-players-online
to false
.
You can also see list of available properties in "Exposed metrics" section.
If you can't find property for some metrics, you can manually add it.
All metrics are enabled by default.
MIT license. Read more in LICENSE