O cliente já possui um ambiente de monitoramento baseado no software Prometheus que é integrado ao Grafana para exibição gráfica das métricas coletadas no ambiente, essencialmente monitorando o orquestrador de containers Kubernetes, que é a solução que está sustentando todos os microsserviços da companhia.
Os alertas gerados pelo monitoramento notificam as equipes através de um canal no Slack. Há uma necessidade de expandir este monitoramento para outros serviços utilizados pela empresa que passaram a ser relevantes para o cenário como um todo, como: Jenkins, RabbitMQ e Redis. Havia também um interesse em evoluir o monitoramento gráfico feito pelo Grafana.
Sobre o projeto
Desafios na implementação
- Aproveitar um ambiente já existente feito por terceiros é sempre um desafio em um serviço de consultoria.
- Cliente desejava implementar alta disponibilidade no Prometheus aproveitando as instalações já existentes.
- Utilizar um banco de dados para retenção de métricas por prazo mais longo.
- Criar regras de alertas customizadas.
- Integrar as notificações com o Jira.
- Customizar dashboards para as novas ferramentas a serem monitoradas.
Solução implementada
A 4Linux executou um serviço de consultoria para expandir o ambiente de monitoramento já existente, que passaria a contar com alta disponibilidade na ferramenta Prometheus e ainda a implantação de um banco de dados Time Series – TimescaleDB para retenção da métricas coletadas pelos exportadores. Também seriam feitos ajustes de configurações e tuning no ambiente atual para que seguissem as boas práticas de segurança e performance. Novos exportadores foram configurados contemplando o monitoramento de novas soluções e dashboards foram criadas para cada um deles, proporcionando um monitoramento mais amplo do cenário.
Benefícios e resultados
- Ambiente de monitoramento mais amplo, seguro e com maior retensão das métricas coletadas.
- Foram criados novos alertas, enviados e gerenciados pelo alertmanager para os novos serviços contemplados no ambiente (Jenkins, RabbitMQ e Redis). Também foi feita a integração deste com ferramentas já utilizadas pelo cliente, como o Slack e o Jira.
- Dashboards configuradas com base nos itens que são essenciais para o negócio, facilitando o diagnóstico de intercorrências.
- Status de um novo deploy executado pelo Jenkins pode ser acompanhado diretamente pela Dashboard do Grafana, sem precisar acessar a ferramenta em si.
- Foi instalado o banco de dados Time Series – TimescaleDB que aumentou a retenção de métricas.