Skip to content

📊 A Bungeecord/Velocity plugin that exports network stats to Prometheus

License

Notifications You must be signed in to change notification settings

SurvivalQuestMC/bungeecord-prometheus-exporter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Release GitHub all releases

BungeeCord Prometheus Exporter

A plugin that exports network stats for Prometheus.

If you don't run a network proxy, you might also be interested in Prometheus Exporter for a single server metrics!

Why BungeeCord Prometheus Exporter?

  • monitor your server infrastructure
  • track your players, events, and servers
  • automates the collection, management and viewing of your data
  • get alerts for service outages

Runtime Requirement

  • Java 11+

Compatible Proxy

  • Velocity
  • BungeeCord / Waterfall
  • RedisBungee

Quick Start

Drop the bungeecord-prometheus-exporter.jar into your plugins directory and start your proxy server.

After startup, the Prometheus metrics endpoint should be available at localhost:9985/metrics (assuming localhost is the server hostname).

If running inside the docker, change the host to 0.0.0.0 to allow Prometheus and other services to reach the endpoint.

The metrics port can be customized in the plugin's config.json (a default config will be created after the first use).

Prometheus config

Add the following job to the scrape_configs section of your Prometheus configuration prometheus.yml:

Single Proxy

  - job_name: 'bungeecord'
    scrape_interval: 5s

    static_configs:
      - targets: [ 'localhost:9985' ]
        labels:
          proxy_name: 'proxy'

Multiple proxies

You can use labels in your Prometheus scrape configuration to distinguish between multiple proxies:

  - job_name: 'bungeecord'
    scrape_interval: 5s

    static_configs:
      - targets: [ 'localhost:9985' ]
        labels:
          proxy_name: 'proxy1'
      - targets: [ 'localhost:9226' ]
        labels:
          proxy_name: 'proxy2'

Import Grafana Dashboard

  1. Navigate to Grafana -> Dashboards -> Import
  2. Paste in or upload default dashboard
  3. default dashboard

Notes

RedisBungee is supported but disabled by default. RedisBungee metrics are not used in the dashboard because we are already collecting metrics from single instances. However, if you still want to integrate with RedisBungee, free feel to enable it and modify the dashboard.

About

📊 A Bungeecord/Velocity plugin that exports network stats to Prometheus

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%