Quando um relay do Mastodon que você administra ou assina apresenta uma queda repentina de atividade, sua timeline pode ficar vazia ou lenta. Isso geralmente acontece porque o relay perdeu a conexão com instâncias remotas, o servidor do relay tem um erro de configuração ou o relay foi limitado por outros servidores. Este artigo explica como identificar a causa raiz de uma queda de atividade no relay do Mastodon e restaurar o fluxo normal de federação.
Principais Conclusões: Diagnosticando uma Queda de Atividade no Relay do Mastodon
- Inspeção da fila Sidekiq: Verifique se os jobs de assinatura do relay estão travados ou falhando na interface web do Sidekiq.
- Status da assinatura do relay: Confirme se o relay ainda está ativo em Preferências > Administração > Relays na sua instância.
- Verificação de bloqueios: Confirme se o servidor do relay não está bloqueado pela sua instância ou por instâncias remotas.
Por que a Atividade de um Relay do Mastodon Cai
Um relay do Mastodon é um servidor que redistribui postagens públicas de uma instância para todas as outras instâncias inscritas nesse relay. Quando a atividade cai, o relay não está mais enviando ou recebendo postagens de forma eficaz. A causa raiz é quase sempre uma de três coisas:
Primeiro, o próprio servidor do relay pode ter um problema de rede ou software. O processo do relay pode ter parado, o servidor pode estar sobrecarregado ou o software do relay (como Pub-Relay) pode ter travado. Segundo, sua instância pode ter perdido a assinatura do relay. Isso pode acontecer se o relay foi reiniciado, se a chave de assinatura expirou ou se um administrador removeu acidentalmente a assinatura. Terceiro, instâncias remotas podem ter bloqueado o relay ou sua instância, fazendo com que a federação pare. Isso é comum quando um relay envia tráfego ou spam em excesso, acionando limites de taxa automáticos ou bloqueios manuais.
Passos para Diagnosticar uma Queda de Atividade no Relay do Mastodon
Siga estes passos em ordem para isolar o problema. Cada passo fornece uma informação específica sobre a saúde do relay.
- Verifique a fila Sidekiq para jobs do relay
Faça login na sua instância do Mastodon e navegue atéhttps://suainstancia.exemplo.com/sidekiq. Olhe na aba Queues por qualquer fila chamadascheduleroudefaultcontendo jobs relacionados ao relay. Se você vir jobs travados nas abas Retries ou Dead com erros comoNet::OpenTimeoutouHTTP 429, o relay não consegue se conectar a servidores remotos. Limpe esses jobs clicando no botão Clear Retries se eles não forem recuperáveis, mas lembre-se de corrigir o problema de conexão subjacente primeiro. - Verifique a assinatura do relay no admin do Mastodon
Vá em Preferências > Administração > Relays. Você verá uma lista de relays aos quais sua instância está inscrita. Olhe a coluna Status. Se o status forpendingoufailed, o handshake da assinatura não foi concluído. Clique no botão Enable para reativar a assinatura. Se o status foractivemas a atividade ainda estiver baixa, prossiga para o próximo passo. - Teste o endpoint do relay diretamente
Abra um terminal no seu servidor Mastodon e executecurl -I https://relay.exemplo.com/api/v1/instance. Substituarelay.exemplo.compelo domínio real do seu relay. Se você obtiver uma resposta200 OK, o relay está acessível. Se obtiver um timeout ou403 Forbidden, o relay pode estar bloqueando seu servidor ou está fora do ar. Verifique também o endpoint/healthdo relay, se disponível, comocurl https://relay.exemplo.com/health. - Inspecione os logs do Mastodon em busca de erros do relay
Executedocker-compose logs -f --tail=100 web(oujournalctl -u mastodon-webpara instalações sem Docker) e procure por linhas contendoRelayouActivityPub::DeliveryWorker. Erros comoHTTP 410 Gonesignificam que a instância remota não existe mais. Erros comoHTTP 429 Too Many Requestssignificam que o relay ou sua instância está sendo limitado. Reduza a frequência de envio do relay ou entre em contato com o administrador da instância remota. - Verifique se sua instância está bloqueada por servidores remotos
Use a API do Mastodon para ver bloqueios:curl https://suainstancia.exemplo.com/api/v1/instance/peerslista instâncias conhecidas. Depois verifique se o relay aparece nessa lista. Se o relay estiver ausente, sua instância pode ter sido bloqueada pelo relay ou por outras instâncias que o relay atende. Você também pode pedir ao administrador do relay para verificar a lista de bloqueios dele.
Se o Relay do Mastodon Ainda Mostrar Baixa Atividade Após o Diagnóstico
Assinatura do relay aparece ativa, mas nenhum conteúdo chega
Isso geralmente significa que o relay está ativo, mas nenhuma instância remota está enviando postagens para ele. O relay precisa ter pelo menos uma instância upstream que esteja postando ativamente. Se você é o administrador do relay, verifique a lista de assinaturas do próprio relay. Se você é um assinante, peça ao administrador do relay para verificar se outras instâncias ainda estão conectadas.
Sidekiq mostra falhas recorrentes com HTTP 410 ou 404
Esses erros indicam que a instância remota para a qual o relay estava enviando foi deletada ou movida. O relay continuará tentando entregar e falhando, desperdiçando recursos. Como administrador do relay, remova a instância morta da lista de assinaturas do relay. Como assinante, você não pode corrigir isso diretamente, mas pode relatar a instância morta ao administrador do relay.
O servidor do relay em si está inacessível a partir da sua instância
Se o curl para o relay falhar, o relay pode estar fora do ar para manutenção, seu domínio pode ter expirado ou o firewall do seu servidor pode estar bloqueando a conexão. Verifique a página de status do relay ou entre em contato com o administrador. Se você é o administrador do relay, reinicie o serviço do relay e verifique os logs do Sidekiq ou do sistema do próprio relay.
| Item | Instância Inscrita | Administrador do Relay |
|---|---|---|
| Sintoma principal | Timeline federada vazia | Relay mostra zero postagens recebidas |
| Primeiro passo de diagnóstico | Verificar jobs do relay no Sidekiq | Verificar endpoint de saúde do relay |
| Correção comum | Reativar assinatura do relay | Reiniciar serviço do relay |
| Caminho de escalonamento | Contatar administrador do relay | Verificar firewall e limites de taxa |
Agora você pode diagnosticar uma queda de atividade no relay do Mastodon verificando a fila Sidekiq, o status da assinatura, testando o endpoint do relay e inspecionando logs. Se o relay ainda estiver silencioso após esses passos, entre em contato com o administrador do relay com os códigos de erro específicos que encontrou. Para administradores de relay, ativar logs detalhados no software do relay e configurar monitoramento de uptime ajudará a detectar esses problemas mais cedo.