Detecção de Servidor Morto na Federação do Mastodon: Como Configurar
🔍 WiseChecker

Detecção de Servidor Morto na Federação do Mastodon: Como Configurar

Os servidores Mastodon se comunicam entre si por meio da federação, compartilhando postagens e atualizações de perfil entre instâncias. Quando um servidor remoto fica offline permanentemente ou se torna inacessível, pode causar atrasos, falhas de entrega e desperdício de recursos do sistema em sua instância. O Mastodon inclui um mecanismo interno chamado detecção de servidor morto que identifica e para de tentar alcançar esses servidores inacessíveis. Este artigo explica como a detecção de servidor morto funciona, como configurar suas opções no painel de administração do Mastodon e o que fazer quando a detecção não ativa conforme o esperado.

Principais Conclusões: Configuração da Detecção de Servidor Morto no Mastodon

  • Administração > Regras do Servidor > Federação: Onde os limites de detecção de servidor morto são definidos para sua instância.
  • Limite de servidor morto (em horas): O número de horas sem contato bem-sucedido antes que um servidor remoto seja marcado como morto.
  • Variáveis de ambiente (Docker/standalone): Pontos de configuração avançada que substituem as configurações do painel administrativo.

ADVERTISEMENT

Como Funciona a Detecção de Servidor Morto no Mastodon

O Mastodon rastreia cada solicitação de federação de saída para um servidor remoto. Cada solicitação inclui um timestamp da última entrega ou recebimento bem-sucedido. Quando um servidor remoto para de responder, o Mastodon continua tentando novamente por um período definido pelo administrador da instância. Após esse período expirar sem nenhum contato bem-sucedido, o Mastodon marca o servidor como morto.

Uma vez que um servidor é marcado como morto, o Mastodon para de enviar novas atividades para ele. Isso reduz o tráfego de rede, diminui o uso da CPU e evita que erros de entrega encham os logs. Servidores mortos são verificados periodicamente. Se o servidor voltar a ficar online e responder a uma nova solicitação, o Mastodon remove a marca de morto e retoma a federação normal.

O sistema de detecção usa dois parâmetros principais: o limite de servidor morto e o intervalo de nova tentativa de servidor morto. O limite define quanto tempo o Mastodon espera antes de marcar um servidor como morto. O intervalo de nova tentativa define com que frequência o Mastodon verifica um servidor morto para ver se ele se recuperou.

Configurando a Detecção de Servidor Morto no Painel de Administração do Mastodon

Antes de começar, você deve estar logado como administrador em sua instância do Mastodon. As configurações estão disponíveis apenas para usuários com a função Admin ou Owner.

  1. Abra o Painel de Administração
    Clique no ícone de engrenagem no canto superior direito da interface do Mastodon. No menu suspenso, selecione Administração.
  2. Navegue até Regras do Servidor
    Na barra lateral esquerda, clique em Regras do Servidor. Esta seção controla o comportamento da federação e as políticas de moderação de conteúdo.
  3. Localize a Seção de Federação
    Role para baixo até ver o título Federação. Abaixo dele, você encontrará dois campos: Limite de servidor morto e Intervalo de nova tentativa de servidor morto.
  4. Defina o Limite de Servidor Morto
    Insira o número de horas sem contato bem-sucedido antes que um servidor remoto seja considerado morto. O valor padrão é 48 horas. Para uma detecção mais agressiva, reduza o valor para 24 horas. Para uma política mais branda, aumente para 72 horas.
  5. Defina o Intervalo de Nova Tentativa de Servidor Morto
    Insira o número de horas entre as tentativas de nova tentativa para um servidor morto. O padrão é 12 horas. Valores menores verificam com mais frequência, mas aumentam o tráfego de rede. Valores maiores reduzem o tráfego, mas atrasam a detecção de recuperação.
  6. Salve as Alterações
    Clique no botão Salvar alterações na parte inferior da página. O Mastodon aplica as novas configurações imediatamente. Nenhuma reinicialização é necessária.

ADVERTISEMENT

Configurando a Detecção de Servidor Morto via Variáveis de Ambiente

Para instâncias do Mastodon executadas em Docker ou como serviços independentes, você pode definir os parâmetros de detecção de servidor morto por meio de variáveis de ambiente. Esses valores substituem as configurações do painel administrativo se ambos estiverem configurados.

  1. Localize Seu Arquivo de Configuração
    Para instalações Docker, abra o arquivo docker-compose.yml. Para instalações independentes, abra o arquivo .env.production no diretório raiz do Mastodon.
  2. Adicione ou Edite as Variáveis de Ambiente
    Adicione as seguintes linhas ao arquivo:
    DEAD_SERVER_THRESHOLD=48
    DEAD_SERVER_RETRY_INTERVAL=12
    Substitua os números pelos valores desejados em horas.
  3. Reinicie os Serviços do Mastodon
    Para Docker, execute docker-compose down && docker-compose up -d. Para instalações independentes, execute systemctl restart mastodon- ou o comando equivalente para seu sistema de init.

Se a Detecção de Servidor Morto Não Ativar

Detecção de Servidor Morto Não Marcando Servidores como Mortos

Se você notar que servidores inacessíveis não estão sendo marcados como mortos, a causa mais comum é um valor de limite muito alto. Verifique sua configuração de limite atual no painel de administração. Se estiver definido para 168 horas (uma semana) ou mais, o Mastodon esperará muito tempo antes de sinalizar um servidor. Reduza o limite para 48 horas ou menos.

Outra causa possível é que o servidor remoto envia solicitações de heartbeat periódicas mesmo que não processe tráfego normal de federação. O Mastodon conta qualquer contato bem-sucedido como um sinal de vida. Nesse caso, você não pode substituir a lógica de detecção sem modificar o código-fonte do Mastodon.

Detecção de Servidor Morto Marcando Servidores Ativos como Mortos

Se servidores ativos são incorretamente sinalizados como mortos, o limite pode estar muito baixo. Um valor de 12 horas ou menos pode causar falsos positivos se um servidor passar por uma indisponibilidade temporária. Aumente o limite para 48 horas ou mais. Verifique também sua conectividade de rede para garantir que sua instância possa alcançar o servidor remoto. Um firewall ou problema de DNS do seu lado pode fazer qualquer servidor parecer morto.

Intervalo de Nova Tentativa Não Funcionando Após a Configuração

Se você alterou o intervalo de nova tentativa, mas o Mastodon não parece verificar novamente os servidores mortos na nova taxa, verifique se as variáveis de ambiente não estão substituindo as configurações do painel. As variáveis de ambiente têm prioridade. Remova a linha DEAD_SERVER_RETRY_INTERVAL do seu arquivo de configuração se quiser que a configuração do painel seja aplicada. Em seguida, reinicie os serviços do Mastodon.

ADVERTISEMENT

Detecção de Servidor Morto no Mastodon: Painel Administrativo vs Variáveis de Ambiente

Item Painel Administrativo Variáveis de Ambiente
Método de configuração Interface web em Regras do Servidor > Federação Editar arquivo docker-compose.yml ou .env.production
Requer reinicialização Não Sim
Prioridade de substituição Prioridade mais baixa Prioridade mais alta
Acessível a usuários não administradores Não Não

Agora você pode configurar a detecção de servidor morto em sua instância do Mastodon para alinhar com sua política de federação. Comece definindo o limite de servidor morto no painel de administração para 48 horas e o intervalo de nova tentativa para 12 horas. Se sua instância estiver atrás de um proxy reverso, certifique-se de que o proxy não armazene em cache ou bloqueie o tráfego de federação, pois isso pode interferir na precisão da detecção. Para configurações avançadas, considere monitorar seus logs de federação com o comando tootctl media refresh para identificar servidores que podem precisar de intervenção manual.

ADVERTISEMENT