Skip to content
Saltar al contenido
Volver al Blog
Mantén tu servidor Minecraft funcionando sin problemas - Pro

Mantén tu servidor Minecraft funcionando sin problemas - Pro

Alexandru Maftei
Alexandru Maftei
@ice
Actualizado
7 vistas
TL;DR:El minecraft-prometheus-exporter es un plugin de Bukkit que envía métricas de rendimiento en tiempo real desde tu servidor Minecraft a Prometheus para monitoreo, alertas y análisis histórico. Está construido para Paper, Spigot y otros forks, y se configura en minutos.

"Un plugin de Bukkit que exporta estadísticas del servidor de Minecraft a Prometheus"

sladkoff/minecraft-prometheus-exporter - github.com
⭐ 530 estrellas💻 Java📄 MIT

Si ejecutas un servidor de Minecraft y no sabes realmente si está saludable hasta que los jugadores comienzan a quejarse, estás operando a ciegas. El Prometheus Exporter es un plugin de Bukkit ligero que cambia eso alimentando las métricas de rendimiento de tu servidor a Prometheus, dándote visibilidad en tiempo real de lo que está sucediendo bajo el capó.

Qué hace este proyecto

El minecraft-prometheus-exporter es un plugin de Bukkit basado en Java (compatible con Paper, Spigot y otros forks) que convierte tu servidor de Minecraft en una fuente de datos para Prometheus, el sistema de monitoreo de series temporales estándar de la industria. Una vez instalado, expone métricas detalladas sobre el rendimiento de tu servidor, la actividad de los jugadores y la salud del sistema en un simple punto final HTTP. Luego alimentas esas métricas en Prometheus y las visualizas en Grafana o cualquier pila de monitoreo que ya estés usando.

Piénsalo como si le dieras a tu servidor de Minecraft un monitor de salud atado a su muñeca.


Por qué lo usarías

La mayoría de los operadores de servidores gestionan sus servidores como si fuera 2010. Acceden por SSH una vez a la semana, entrecierran los ojos mirando algunos logs, quizás verifican el conteo de jugadores, y lo dejan así. Pero si estás ejecutando un servidor comunitario serio, especialmente uno donde jugadores como adderall_abuser e ironmouse podrían aparecer, necesitas datos reales sobre si tu TPS se está degradando, la memoria está teniendo fugas, o estás siendo atacado por DDoS.

Este plugin resuelve tres problemas reales:

  • Visibilidad del rendimiento: Obtienes métricas sobre TPS, uso de memoria, tiempos de carga de chunks y conteos de entidades sin verificarlos manualmente.
  • Alertas: Combina esto con reglas de alertas de Prometheus y recibirás notificaciones antes de un bloqueo, no después.
  • Análisis histórico: Ve patrones durante días o semanas ("todos los martes a las 8pm nuestro servidor se ralentiza") en lugar de adivinar.

Si ejecutas múltiples servidores, esto se vuelve aún más valioso. Los servidores comunitarios populares que alojan jugadores con skins como testuser y joakim2tusen no pueden permitirse el tiempo de inactividad, y los dashboards de Prometheus te permiten observar toda la flota de una vez.


Cómo instalar

El proceso es maravillosamente simple, lo cual es raro para herramientas de monitoreo. Descarga el archivo JAR más reciente desde los lanzamientos de GitHub (actualmente v3.1.2) y colócalo en tu carpeta de plugins.

bash
# Obtén el lanzamiento más reciente
wget https://github.com/sladkoff/minecraft-prometheus-exporter/releases/download/v3.1.2/minecraft-prometheus-exporter-3.1.2.jar

# Muévelo a tu directorio de plugins
mv minecraft-prometheus-exporter-3.1.2.jar /path/to/plugins/

# Inicia o reinicia tu servidor
# (el plugin genera automáticamente un config.yml al iniciar por primera vez)

Después de que el servidor inicie, accede a `localhost:9940/metrics` en tu navegador y verás métricas brutas de Prometheus. Si eso funciona, terminaste de instalar.

El puerto predeterminado es 9940, pero puedes cambiarlo en el `config.yml` generado automáticamente si lo necesitas. El plugin también soporta variables de entorno y propiedades del sistema JVM para configuración, lo cual es útil si estás containerizando todo o ejecutando en un entorno de hosting administrado.


Características clave y cómo funcionan

El plugin exporta una tonelada de métricas por defecto, pero aquí están las que realmente te importarán:

Métricas de TPS y rendimiento. La única métrica que cada operador de servidor verifica primero: ticks por segundo actuales. Un exportador te da esto en tiempo real, además de datos históricos para que puedas detectar tendencias. Un servidor que constantemente logra 19.5 TPS en lugar de 20 podría no sonar mal hasta que te das cuenta de que algo se está degradando lentamente.

Seguimiento de jugadores y entidades. Cuántos jugadores están en línea, cuántas entidades están cargadas, velocidad de generación de chunks. Útil para entender picos de carga. ¿De repente tienes 60 jugadores en lugar de 15 y TPS cae de 20 a 5? Las métricas te muestran exactamente cuándo y si se debe al conteo de jugadores, las entidades que generaron, o algo más.

Verificaciones de salud personalizadas. Aquí es donde se vuelve flexible. Puedes escribir verificaciones de salud personalizadas en tus plugins y el exportador las agrega. ¿Quieres alertas si un plugin específico funciona mal? Añade una verificación de salud. ¿Quieres monitorear la base de datos de tu plugin de economía? Lo mismo. El punto final de salud en `localhost:9940/health` expone estas verificaciones agregadas.

Métricas de memoria y JVM. Uso del heap, frecuencia de recolección de basura, conteos de threads. Si estás ejecutando un servidor modificado o uno con muchos plugins (como un servidor comunitario que aloja jugadores con skins como housecz_zero), necesitas saber cuándo la memoria se está agotando.

Flexibilidad de configuración. El plugin respeta primero las variables de entorno, luego las propiedades del sistema, luego el archivo de configuración. Esta jerarquía significa que puedes gestionar la configuración en docenas de servidores sin editar archivos en cada uno.


Consejos, trampas y errores comunes

El plugin es estable, pero aquí está lo que confunde a la gente:

Asegúrate de que tu intervalo de scrape de Prometheus sea razonable. El predeterminado en la mayoría de las configuraciones de Prometheus es 15 segundos, lo cual funciona bien aquí. Si lo configuras para cada segundo para obtener métricas de ultra alta resolución, solo estás agregando carga a tu servidor sin beneficio real.

El punto final de métricas no está protegido con contraseña por defecto. Si tu puerto 9940 del servidor está expuesto a internet, cualquiera puede ver tus métricas. Eso probablemente está bien (no son datos sensibles), pero si eres paranoico, colócalo detrás de un firewall o proxy inverso con autenticación.

Algunos usuarios reportan que las métricas asincrónicas ocasionalmente se cuelgan si tu ciclo de vida del plugin no es limpio. La versión más reciente (3.1.2) solucionó este problema, así que asegúrate de que estés actualizado. Si estás ejecutando un lanzamiento más antiguo y notas timeouts ocasionales en el punto final de métricas, actualiza primero antes de solucionar problemas más.

Otra cosa: si estás usando un cargador de mods como Fabric en lugar de un fork de Bukkit, este plugin no funcionará. Y esto es estrictamente para servidores compatibles con Bukkit (Paper, Spigot, Bukkit y soporte experimental de Folia). El plugin necesita la API de Bukkit.


Alternativas

Si Prometheus parece excesivo para tu caso de uso, hay opciones más ligeras. Algunos proveedores de hosting (como Aternos) incluyen dashboards integrados que muestran métricas básicas sin necesidad de instalar nada. Si quieres algo más simple que Prometheus, podrías mirar Grafana Cloud, que elimina la necesidad de auto-alojar Prometheus. Pero honestamente, si ya estás usando Prometheus para otra infraestructura, el plugin Exporter se integra sin problemas en tu configuración existente.

Para servidores proxy de BungeeCord, hay un plugin separado (Bungeecord Prometheus Exporter) que maneja métricas a nivel de proxy, que complementa este plugin bien si estás ejecutando una red.

🔗 GitHub: [sladkoff/minecraft-prometheus-exporter](https://github.com/sladkoff/minecraft-prometheus-exporter) - MIT, ⭐530
Sobre el autor
Alexandru Maftei
Alexandru MafteiRedactor principal

Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.

¡Compártelo con tus amigos!

Comentarios

Aún no hay comentarios. ¡Sé el primero en compartir tu opinión!

We use cookies to improve your experience. By continuing to use this site, you agree to our use of cookies. Read our Privacy Policy