Se você usa RabbitMQ ou pretende usar, é importante saber o que é um ofensor para seu deployment RabbitMQ. Aquilo que fará seu servidor RabbitMQ parar.
Aqui apresento 2 métricas que ajudam a prever e prevenir quedas.
Acredito que a primeira dúvida que paire sob sua cabeça seja:
É comum RabbitMQ cair?
A resposta é: NÃO!
Mas isso não quer dizer que você não deva ter nenhuma preocupação.
Tenho instâncias com 2 e 5 anos que nunca caíram.
Mas afinal, o que faz o RabbitMQ cair?
Há 2 métricas que se ultrapassadas fazem uma instância do RabbitMQ parar.
Memória e Disk Space são elas e ambas possem high watermark. Ou marca d’água máxima. Um limite que define que quando alcançado o limite, a instância vai parar.
Claro que File Descriptors, Socket Descriptors, e Erlang processes também podem causar a parada da sua aplicação, mas isso só vai acontecer se você entregar um hardware muito, mas muito pequeno para seu RabbitMQ e se simultaneamente demandar muito dele.
Você consegue todos os limites UI de gerenciamento da instância.
Mas o que significa parar?
Significa que o RabbitMQ ao alcançar algum desses limites, fará um shutdown de si mesmo.
No exemplo da imagem acima, temos uma instância do RabbitMQ que não faz parte de um cluster.
Nessa instância, com suas configurações, se chegarmos a 48 MB de disco ou menos, essa instância do RabbitMQ vai parar.
Ao mesmo passo que, nessa instância, se o RabbitMQ alcançar o limite de 25GB de RAM consumida, também vai parar.
Então essas são as métricas mais importantes sobre a saúde da instância.
Como lidar com isso?
Sabendo quais são os parâmetros, vale a pena falar com o time que lida com a operação, ou o time que lida com prometheus do seu ambiente e para conectar o RabbitMQ nele, para que ele crie alertas que ajudem no monitoramento desse ambiente.
Talvez esse time seja o seu mesmo. Se sim, o RabbitMQ tem integração nativa com prometheus, o que torna super fácil expor suas métricas em um grafana ou algo similar. Basta seguir esse doc para ter sua instância monitorada. Depois basta criar um dashboard e alertas para facilitar a gestão.
0 comentários