Tivemos um problema sério recentemente, e parte dele foi por conta de um erro meu. Depois daquele ataque que sofremos alguns meses atrás, baixei a guarda com o tempo e removi algumas proteções ao trocar de servidor. Ficamos cerca de 15 dias tranquilos, até que na madrugada de quinta pra sexta fui surpreendido com uma enxurrada de alertas no e-mail. Eles voltaram.

Demorei um pouco para acreditar que era um ataque DoS. Reativei as defesas que havia retirado (mas poque retirou? porque impactam na responsividade do site), mas o novo servidor não estava conseguindo lidar com a fila acumulada de atividades. Servidor esse que estava dimensionado sob medida para nossa demanda normal.

Tive que recorrer a outro servidor meu, mais potente, que uso para trabalho. Como estou sem projetos no momento, ele estava com espaço livre. Coloquei o banco de dados e o servidor Lemmy nele, deixando o servidor original apenas para o banco de imagens. Depois de uns 30 minutos assim, o serviço voltou ao normal.

Foi uma tarefa árdua, especialmente porque o servidor só mostrava logs de requisições POST na inbox e dava timeout, o que dificultou bastante entender o que estava acontecendo. O time de desenvolvedores também não estava disponível naquele dia, mas, felizmente, um admin do Lemmy.world foi extremamente prestativo e trouxe várias ideias que ajudaram a resolver o problema.

Foi muito estressante. Eu já estava exausto e sem muitas opções, mas, no final, conseguimos contornar a situação.

Sei que muitos usuários ficaram frustrados também. Sei que a expectativa é que o serviço esteja sempre disponível, e me sinto mal por isso.

  • Ademir@lemmy.eco.brOPM
    link
    fedilink
    Português
    arrow-up
    2
    ·
    3 months ago

    Obrigado, grande abobla! Sempre contribuindo!

    Você mencionou que os logs mostravam apenas as requisições POST e o timeout, é possível incrementar os logs com mais informações? Isso pode lhe ajudar no futuro.

    Pois é, eu aumentei o nivel de verbosidade dos logs para o máximo (DEBUG/TRACING), mesmo assim não tinha nada de mais relevante que isso.

    Eu reportei aos devs, para melhorar os logs nesse sentido.