Sistema de Alerta e Monitoramento ou SAM - Um Caso de Uso
Olá a todos,
Com este artigo eu gostaria de mostrar como o Sistema de Alerta e Monitoramento (ou SAM para abreviar) pode ser configurado de forma fácil e dinâmica. O caso de uso pode ser o de um pipeline de provisionamento de CI/CD, rápido e ágil, onde você deseja executar seus testes unitários mas também seus testes de estresse e, você gostaria de ver rapidamente se esses testes foram bem-sucedidos ou como eles estão estressando os sistemas e sua aplicação (a API SAM é extensível com backend do InterSystems IRIS possibilitando a sua implementação de APM).
O SAM fornece uma nova interface gráfica que exibe métricas e alertas. Por padrão, ele respeita os alertas gerados pelas instâncias IRIS que monitoradas e, embora você possa definir os valores dos sensores de acordo com sua preferência, o SAM permite que você configure rapidamente regras SAM no Prometheus incluso, para que em seu pipeline de CI/CD você possa ser alertado rapidamente sobre as coisas conforme elas acontecem.
Existem alguns requisitos que você deve prestar atenção para executar o SAM. A solução é disponibilizada em um pacote de contêiner fácil de usar e montado automaticamente utilizando o Docker Compose. Você pode obter todos os detalhes sobre como executar o SAM no link acima. É fácil
Com o SAM em execução, provisionamos quatro clusters na AWS em quatro regiões diferentes (a empresa fictícia do exemplo é uma organização global e a equipe de garantia de qualidade está localizada nos Estados Unidos, na costa oeste, enquanto a produção está em execução em Londres em um distrito financeiro).
Para provisionar e executar rapidamente nossos clusters IRIS, utilizamos o InterSystems Cloud Manager (ICM) que é configurado de forma rápida e fácil através de scripts simples para implantar estes esses clusters na nuvem, nas várias regiões da AWS.
Quando o processo de provisionamento é concluído, chamamos o script SAM-populate.sh que, configurado adequadamente (veja env-config.sh), popula em poucos segundos nossa solução SAM em execução em nossa estação de trabalho local.
Por meio de uma única página SAM, é possível monitorar vários clusters do InterSystems IRIS sem ter que acessar várias páginas nos portais de gerenciamento da AWS. Legal :) mas, indo direto ao ponto, nós os "IRISanianos" ficamos surpresos ao ver como nossas instâncias de plataforma de dados estão de fato se saindo quando comparamos a ter apenas as métricas EC2-OS padrão para fazer este tipo de monitoramento. Lembre-se de que o SAM oferece atualmente mais de 100 métricas de kernel do InterSystems IRIS e as combinam com os alertas do InterSystems IRIS. A fusão dos dois deve ser o começo... não de uma história de amor, mas de uma leitura mais precisa de seus sistemas.
Você pode encontrar o código do projeto e caso de uso descritos neste link do Github.
Os destaques do projeto são:
- O uso da API REST SAM
- IU simples, limpa e eficaz do SAM para a visualização de várias instâncias do InterSystems IRIS agrupadas em clusters
- O uso da nova funcionalidade de mesclagem do CPF
- Potência e capacidade de programação do ICM ou era a capacidade do script?
Se você deseja executá-lo, preste atenção em:
- a necessidade de licenças do InterSystems IRIS com tecnologia sharding habilitada
- o contêiner InterSystems IRIS certo (você precisará de 2020.2 e superior)
- o registro do contêiner que o ICM utilizará
- as credenciais de registro do contêiner
- o custo em que você incorrerá ao executar esses clusters na AWS
- e provavelmente algumas outras coisas :)
Espero que você ache os scripts úteis e inspiradores para
- as chamadas de API REST do SAM e
- a forma não interativa como o ICM é incrementado
Fiquem bem e seguros
--