Ultima Temp De Got - George R.R Martin casi aparece en la última temporada de 'GOT' • ENTER.CO
George R.R Martin casi aparece en la última temporada de 'GOT' • ENTER.CO

O que é o Última Temp de Got e por que ele existe

A ferramenta é um coletor de temperaturas em tempo real para servidores rodando Linux, com foco principal em ambientes Docker e containers isolados. O nome vem de uma junção meio estranha que stickou no fórum original de deploy, mas o pacote em si é leve: consome menos de 50 MB de RAM e roda como um daemon discreto. O diferencial dele em relação ao top e ao htop é que ele monitora temperatura por container, não só por host. Isso faz sentido em máquinas com muitos serviços sobrepostos. Quando você tem um app de inferência rodando junto com três workers de fila e um banco, o top mostra carga geral do host, mas não te diz qual container está gerando calor. O Última Temp de Got resolve isso lendo diretamente dos sensores térmicos do sistema e cruzando com o cgroup de cada container.

Como instalar o última temp de got

O processo de instalação varia conforme a distribuição. Nas versões Debian e Ubuntu mais recentes, o pacote já entra nos repositórios oficiais. Se você estiver em CentOS ou Rocky, precisa ativar o repo extra antes de qualquer coisa. A instalação é direta: sudo apt update && sudo apt install ultima-temp-de-got

Após a instalação, o daemon não levanta automaticamente em todas as configurações padrão. Isso foi intencional — muitos sysadmins preferem ajustar o config antes de tudo subir. O arquivo de configuração fica em /etc/ultima-got/config.yaml. O template padrão já vem com os paths dos sensores mais comuns mapeados, mas você vai querer ajustar pelo menos o intervalo de polling. O valor padrão é de 5 segundos. Em produção, reduzi para 2 segundos em servidores com carga térmica instável. Isso gasta um pouco mais de I/O no diretório /sys/class/thermal, mas a latência na leitura compensa quando você precisa reagir rápido a picos de temperatura.

Configuração prática e o problema que encontrei

A primeira vez que usei o última temp de got foi num servidor de compilação com seis workers de Node rodando simultaneamente. O monitoramento térmico normal não capturava o aquecimento gradual porque os workers compartilhavam o mesmo socket térmico e o gráfico médio mascarava o pico individual. O daemon consegue separar isso porque cada container tem seu próprio cgroup, e o sensor é lido dentro daquele namespace. O problema real apareceu quando migrei para um servidor com placa NVIDIA integrada. Os sensores da GPU não eram reconhecidos pelo padrão de configuração. O logciaCPU core temperatures e ignorava completamente o sensor thermal-zone da placa de vídeo. A solução foi adicionar manualmente a entrada do sensor no config:

thermal_sensors:\n - path: /sys/class/hwmon/hwmon3/temp1_input\n label: gpu_primary\n threshold_warn: 75\n threshold_crit: 85 Descobri qual hwmon era o correto rodando um ls /sys/class/hwmon/ e checando o name de cada diretório. Foi um processo de tentativa e erro que levou cerca de 40 minutos, mas depois disso o última temp de got passou a reportar temperatura de GPU com a mesma precisão que reporta CPU.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Mais além da instalação: o que ninguém conta

A maioria dos tutoriais para última temp de got para por aí. Mas existem dois pontos que causam dor de cabeça se você não souber antecipadamente. O primeiro é a questão dos containers sem acesso aos dispositivos de hardware. Por padrão, o daemon usa namespaces de dispositivo para ler os sensores, mas se o seu container for executado com --privileged=false e sem mount dos paths de thermal, a leitura simplesmente falha silenciosamente. O log mostra "sensor not accessible" e não há alerta visual. A correção é garantir que o container tenha pelo menos acesso de leitura a /sys/class/thermal e /sys/class/hwmon. No docker-compose, isso significa adicionar volumes específicos, não confiar na propagação automática.

O segundo ponto é mais sutil. O última temp de got armazena métricas em arquivos temporários dentro de /tmp/ultima-got/. Se você estiver em um sistema com /tmp montado como tmpfs e com limite de tamanho apertado, os arquivos podem ser removidos pelo sistema operacional durante ciclos de limpeza agressiva. Isso causa perda de histórico e, em casos mais graves, corrompe o banco de dados interno de métricas. A correção é montar um diretório persistente para os dados: indique isso no config com o parâmetro data_dir apontando para um path em disco físico, não em tmpfs.

Limitações reais do última temp de got

O software não é uma solução universal. Ele depende diretamente da existência de sensores térmicos expostos pelo kernel. Em máquinas virtuais, especialmente em provedores que não fazem passthrough de sensores de hardware, o resultado é basicamente vazio. Você vai ter um daemon rodando sem reportar nada útil, e isso consome recursos sem retorno. Também não há suporte nativo para monitoramento remoto multi-host. Se você precisa de uma visão unificada de temperatura em dezenas de servidores, o última temp de got não é a ferramenta certa. Ele funciona bem num único nó ou num pequeno cluster. Para escalas maiores, o indicado é integrar as métricas exportadas via Prometheus endpoint para um sistema centralizado como Grafana ou Prometheus Server.

O endpoint Prometheus fica disponível em http://localhost:9100/metrics por padrão, mas só se você ativar a seção exporter no config. Sem essa ativação, o último temp de got é puramente local e não expõe nada para coletores externos.

Download e fontes oficiais

O repositório oficial está no GitHub do projeto. Versões binárias para x64 e ARM estão disponíveis nas release pages. Para quem prefere compilar da fonte, o projeto usa Go 1.21 como base e o build leva menos de dois minutos em máquinas modernas. O install script automático está disponível no repositório e cobre Debian, Ubuntu, CentOS, Rocky e Alpine. Em distribuições menos comuns, o comando de compilação direta é documentado no README. A versão estável atual suporta kernels a partir do 5.4, então sistemas mais antigos podem encontrar incompatibilidades com as APIs de thermal do kernel.