Usada no script de bootstrap (curl das chaves). Sem barra final.
Lista gravada em config.yaml. Remover máquinas apaga fila, bloqueios e registros ligados no banco.
Gera o guia de onboarding (specs reais das máquinas, IPs, cache, acesso SSH/Jupyter, protocolo) com os dados atuais da base.
| Nome | Host (FQDN) |
|---|
Após incluir nome/host e clicar em Salvar, na máquina nova rode como root o comando abaixo (baixa o script do Checker e marca como executável):
clique em 'Gerar comando SSH' — token fresco (10 min) é embutido
Um caminho por linha, relativos ao diretório do projeto (ex.: keys/id_ed25519_lab).
Cole OpenSSH PEM completo (BEGIN OPENSSH PRIVATE KEY). No salvar, o servidor grava em keys/pasted_*, gera .pub e acrescenta automaticamente aos caminhos. Pode limpar esta caixa após salvar se quiser.
As conexões SSH (usuário, IP de origem e cidade) são apagadas depois dessa janela. É o registro mais identificável que o Checker guarda — janela curta é a proteção.
Quando ligado, o bootstrap instala tailscaled na máquina nova e autentica
na tailnet escolhida. A ficha /maquinas mostra o IP Tailscale do último poll.
api_token/authkey (legacy, expira com o usuário). Migre para um OAuth client: cole client_id + client_secret nos campos acima e salve.
Depois de adicionar a máquina acima e salvar, rode o script como root nela. Ele cria/atualiza o usuário configurado em ssh.user, instala permissões típicas (NVIDIA/sudo para nvidia-smi) e importa no authorized_keys as chaves públicas da instância Oracle via HTTP.
clique em "Carregar texto do script aqui embaixo" para ver colorido
| Máquina | Status | Expira | Serviços | Ação |
|---|
| Máquina | Estado | Escalonador | Fila ordinal | Ação |
|---|
| Máquina | Por | Motivo | Expira |
|---|
| Login | Motivo | Por | Até | Ação |
|---|
am, em 08/09/2026, dezenove boots de menos de 60 s
morreram todos antes do módulo de GPU carregar, e foi isso que apontou para a placa.
Sem watchdog configurado, uma trava vira máquina morta em vez de reset.
Baseado no histórico salvo em monitoring. Se estiver vazio, aguarde novas coletas do Checker.
Baseado em processos acima do threshold (CPU) e também em presença via who e nvidia-smi quando disponível.
| Usuário | CPU somada (processos) | # processos | Presença (login) | Presença (GPU) | Última vez |
|---|
| Máquina | Amostras | Última | CPU (média / pico) | GPU mem (pico) | CPU (sparkline) |
|---|
Telemetria por placa (VRAM, utilização, temperatura, potência). Badges: ociosa VRAM alocada sem uso · throttle limitação térmica/elétrica · sem gpu nvidia-smi não respondeu.
Horas em que o usuário segurava ≥1GB de VRAM com a GPU a <10% de uso (squatting) — candidatos a liberar a placa.
Status HTTP dos serviços web em h2.ia.br (checados a cada ciclo). UP = respondeu (HTTP < 500).
| Serviço | Status | HTTP | Latência | Uptime (24h) | URL |
|---|
Volumes das máquinas (df a cada ciclo) + scan profundo noturno de usuários, pastas e tipos de arquivo. Usa o relatório local gerado por cron root na máquina quando disponível (cobertura total); sem ele, faz du/find via SSH (parcial em homes privados) e posterga sozinho se o disco estiver sob carga.
Tipo detectado no poll via lsblk (ROTA/TRAN) — M.2 SATA aparece como SSD SATA (formato não é distinguível em nível de bloco).
| Extensão | Tamanho | Arquivos (>10 MB) |
|---|
| Máquina | Pasta | Montagem | Tamanho |
|---|
| # | Usuário | Espera est. | Ações |
|---|
Estado da rede overlay. Configuração completa (provider/URL/tags) está na aba Infra; aqui você só opera.
| Nome | IP Tailscale | Online | Último visto | Expira em | Tags | Ações |
|---|---|---|---|---|---|---|
| Carregando… | ||||||
Registrar conecta via SSH, instala tailscaled se necessário e faz
tailscale up com authkey fresca (OAuth ou Headscale local). Idempotente.
| Máquina | Host | Status SSH | |
|---|---|---|---|
| — | |||
Espelho da fila do cluster. Quem manda é o slurmctld na
redqueen; esta tela lê a cópia que o Checker guarda a cada ciclo —
por isso ela responde rápido e sobrevive ao cluster ficar fora do ar.
Somente leitura: submissão e cancelamento ainda não existem.
Estes logins nunca são barrados: nem por bloqueio de máquina, nem
pelo interruptor de acesso, nem por falta de tarefa na fila quando o escalonador
entrar. A lista vale na frota inteira e chega às máquinas no ciclo seguinte, como o
grupo labsempre.
| Login | Nome | Motivo | Origem | Quem pôs | Ações |
|---|
| ID | Username | Nome completo | Admin | Acesso no lab | Criado em | Ações |
|---|
/historico.
authorized_keys da conta
que já está lá, o que dá acesso aos arquivos dela. Sem marcar, login que já existe é
recusado pelo cron.
| Data/Hora | Admin | Ação | Alvo | Detalhe |
|---|
Cor só onde há severidade. O cooldown por tipo evita repetir a mesma DM; ele começa a contar quando a mensagem chega a alguém.
| Máquina | Início | Fim | Motivo | Alertas | Aplicado | Ação |
|---|
| Data | Alunos únicos | Total de sessões |
|---|
| Máquina | Mês | Uptime | Quedas | MTTR |
|---|