
Servidor Minecraft Otimizado - Exportador Prometheus
"Um plugin Bukkit que exporta estatísticas do servidor Minecraft para o Prometheus"
sladkoff/minecraft-prometheus-exporter · github.com
Se você executa um servidor Minecraft e não sabe realmente se ele está saudável até os jogadores começarem a reclamar, você está voando às cegas. O Exportador Prometheus é um plugin Bukkit leve que muda isso alimentando as métricas de desempenho do seu servidor no Prometheus, proporcionando visibilidade em tempo real do que está acontecendo nos bastidores.
O que Este Projeto Faz
O minecraft-prometheus-exporter é um plugin Bukkit baseado em Java (compatível com Paper, Spigot e outros forks) que transforma seu servidor Minecraft em uma fonte de dados para o Prometheus, o sistema padrão da indústria para monitoramento de séries temporais. Depois de instalado, ele expõe métricas detalhadas sobre o desempenho do seu servidor, atividade de jogadores e saúde do sistema em um simples endpoint HTTP. Em seguida, você alimenta essas métricas no Prometheus e as visualiza no Grafana ou qualquer stack de monitoramento que já está usando.
Pense nisso como colocar um monitor de saúde preso no pulso do seu servidor Minecraft.
Por Que Você Usaria
A maioria dos operadores de servidor gerencia seus servidores como se fosse 2010. Eles entram via SSH uma vez por semana, examinam alguns logs, talvez verifiquem a contagem de jogadores e chamam por um dia. Mas se você está executando um servidor de comunidade sério, especialmente um onde jogadores como adderall_abuser e ironmouse podem aparecer, você precisa de dados reais sobre se seu TPS está caindo, memória está vazando ou você está sob ataque DDoS.
Este plugin resolve três problemas reais:
- Visibilidade de desempenho - Você obtém métricas sobre TPS, uso de memória, tempos de carregamento de chunks e contagens de entidades sem verificá-los manualmente.
- Alertas - Combine isso com regras de alertas do Prometheus e você será notificado antes de um crash, não depois.
- Análise histórica - Veja padrões ao longo de dias ou semanas ('toda terça-feira às 20h nosso servidor fica lento') em vez de adivinhar.
Se você executa vários servidores, isso se torna ainda mais valioso. Servidores de comunidade populares que hospedam jogadores com skins como testuser e joakim2tusen não podem se permitir downtime, e os painéis do Prometheus deixam você monitorar toda a frota de uma vez.
Como Instalar
O processo é maravilhosamente simples, o que é raro para ferramentas de monitoramento. Baixe o arquivo JAR mais recente das versões do GitHub (atualmente v3.1.2) e coloque-o em sua pasta de plugins.
# Obtenha a versão mais recente
wget https://github.com/sladkoff/minecraft-prometheus-exporter/releases/download/v3.1.2/minecraft-prometheus-exporter-3.1.2.jar
# Mova-o para seu diretório de plugins
mv minecraft-prometheus-exporter-3.1.2.jar /path/to/plugins/
# Inicie ou reinicie seu servidor
# (o plugin gera automaticamente um config.yml na primeira inicialização)
Depois que o servidor inicia, acesse `localhost:9940/metrics` em seu navegador e você verá as métricas brutas do Prometheus. Se isso funcionar, você terminou a instalação.
A porta padrão é 9940, mas você pode alterá-la no arquivo `config.yml` gerado automaticamente se precisar. O plugin também suporta variáveis de ambiente e propriedades do sistema JVM para configuração, o que é útil se você está containerizando tudo ou executando em um ambiente de hospedagem gerenciado.
Principais Recursos e Como Funcionam
O plugin exporta toneladas de métricas por padrão, mas aqui estão as que você realmente se importará:
Métricas de TPS e Desempenho. A métrica que todo operador de servidor verifica primeiro - ticks por segundo atuais. Um exportador fornece isso em tempo real, além de dados históricos para que você possa detectar tendências. Um servidor consistentemente atingindo 19,5 TPS em vez de 20 pode não soar ruim até você perceber que algo está se degradando lentamente.
Rastreamento de Jogadores e Entidades. Quantos jogadores estão online, quantas entidades são carregadas, velocidade de geração de chunks. Útil para entender picos de carga. De repente você tem 60 jogadores em vez de 15 e TPS cai de 20 para 5? As métricas mostram exatamente quando e se é a contagem de jogadores, as entidades que eles spawaram ou algo mais.
Verificações de Saúde Personalizadas. É aqui que fica flexível. Você pode escrever verificações de saúde personalizadas em seus plugins e o exportador as agrega. Quer ser alertado se um plugin específico está funcionando mal? Adicione uma verificação de saúde. Quer monitorar o banco de dados do seu plugin de economia? Mesma coisa. O endpoint de saúde em `localhost:9940/health` expõe essas verificações agregadas.
Métricas de Memória e JVM. Uso de heap, frequência de coleta de lixo, contagens de threads. Se você está executando um servidor modificado ou um com muitos plugins (como um servidor de comunidade hospedando jogadores com skins como housecz_zero), você precisa saber quando a memória está ficando apertada.
Flexibilidade de Configuração. O plugin respeita variáveis de ambiente primeiro, depois propriedades do sistema e depois arquivo de configuração. Esta hierarquia significa que você pode gerenciar a configuração em dezenas de servidores sem editar arquivos em cada um.
Dicas, Armadilhas e Problemas Comuns
O plugin é estável, mas aqui está o que faz as pessoas tropeçarem:
Certifique-se de que seu intervalo de raspagem do Prometheus é razoável. O padrão na maioria das configurações do Prometheus é 15 segundos, o que funciona bem aqui. Se você o configurar para cada segundo para obter métricas de ultra-alta resolução, você está apenas adicionando carga ao seu servidor sem benefício real.
O endpoint de métricas não é protegido por senha por padrão. Se a porta 9940 do seu servidor estiver exposta à internet, qualquer pessoa pode ver suas métricas. Isso provavelmente está bem (não são dados sensíveis), mas se você é paranóico, coloque-a atrás de um firewall ou proxy reverso com autenticação.
Alguns usuários relatam que as métricas assíncronas ocasionalmente travam se seu ciclo de vida do plugin não for limpo. A versão mais recente (3.1.2) corrigiu esse problema, portanto, certifique-se de que está atualizado. Se você está executando uma versão antiga e nota timeouts ocasionais no endpoint de métricas, atualize primeiro antes de solucionar problemas mais.
Outra coisa - se você estiver usando um mod loader como Fabric em vez de um fork do Bukkit, este plugin não funcionará. E isso é estritamente para servidores compatíveis com Bukkit (Paper, Spigot, Bukkit e suporte experimental a Folia). O plugin precisa da API do Bukkit.
Alternativas
Se o Prometheus parece excessivo para seu caso de uso, existem opções mais leves. Alguns provedores de hospedagem (como Aternos) incluem painéis integrados que mostram métricas básicas sem precisar instalar nada. Se você quer algo mais simples que o Prometheus, você pode olhar para o Grafana Cloud, que elimina a necessidade de auto-hospedar o Prometheus. Mas, honestamente, se você já está usando o Prometheus para outra infraestrutura, o plugin Exporter se integra perfeitamente ao seu setup existente.
Para servidores proxy BungeeCord, há um plugin separado (Bungeecord Prometheus Exporter) que lida com métricas no nível de proxy, o que complementa este plugin bem se você está executando uma rede.
🔗 GitHub - [sladkoff/minecraft-prometheus-exporter](https://github.com/sladkoff/minecraft-prometheus-exporter) - MIT, ★530Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.
Comentários
Nenhum comentário ainda. Seja o primeiro a compartilhar sua opinião!


