Nota: O seguinte artigo irá ajudá-lo com: Nova biblioteca de soluções de código aberto da Shoreline.io visa fornecer infraestrutura de autorrecuperação
Os op packs pré-construídos são voltados para lidar com incidentes comuns de operações de produção para aumentar a produtividade das equipes.
A Shoreline.io, empresa de automação de incidentes, apresentou sua biblioteca de soluções de código aberto, uma coleção de op packs projetados para facilitar o diagnóstico e o reparo dos incidentes de infraestrutura mais comuns em ambientes de nuvem de produção.
A biblioteca de soluções se concentra em resolver problemas, incluindo vazamentos de memória JVM, preenchimento de discos, processos não autorizados e pods Kubernetes presos. Ele está sendo lançado com mais de 35 pacotes operacionais disponíveis gratuitamente para a comunidade Shoreline.
“Se o problema for um disco de preenchimento, por exemplo, a solução pode envolver a exclusão de arquivos temporários, arquivamento de arquivos antigos e possivelmente também alocação de recursos adicionais, dependendo de qual combinação deles é mais apropriada para o disco que foi identificado como um problema,’ ‘, disse Anurag Gupta, cofundador e CEO da Shoreline.
VEJO: Kit de contratação: desenvolvedor back-end (TechRepublic )
Se houver um vazamento de memória da JVM, o op pack captura automaticamente heap dump, thread dump, estatísticas de coleta de lixo e outros dados de depuração para uso por engenheiros que precisarão depurar e eliminar a causa raiz, disse Gupta. Os clientes podem optar por enviar esses dados para o Amazon S3, armazenamento do Google ou qualquer outro armazenamento de objetos antes de reiniciar opcionalmente a JVM.
Os pacotes operacionais Shoreline são criados para funcionar com infraestrutura hospedada pela AWS, Azure e Google Cloud.
Automações pré-construídas e notebooks de diagnóstico
As equipes de plantão entendem que a infraestrutura de autorrecuperação gera maior disponibilidade, menos tíquetes e melhor satisfação do cliente, disse a empresa. Antes, o caminho para a automação de incidentes era desafiador. Os desenvolvedores agora podem criar e compartilhar pacotes operacionais de código aberto construídos em horas, em vez de meses, com o Shoreline. As automações pré-construídas e os notebooks de diagnóstico são projetados para economizar tempo e acelerar o caminho para aumentar a confiabilidade.
Cada pacote operacional é publicado e provisionado como módulos Terraform de código aberto e contém tudo o que é necessário para resolver um problema específico, incluindo métricas, alarmes, ações, bots, scripts e testes predefinidos. Com a biblioteca Op Pack da Shoreline, a comunidade identifica o que monitorar, quais alarmes definir e quais scripts executar para concluir o reparo.
Todos os op packs são completamente configuráveis e permitem que as equipes de operações na nuvem decidam se usarão automação completa ou um notebook interativo para reparo humano no circuito, de acordo com a Shoreline. Eles foram desenvolvidos em conjunto com os clientes da Shoreline e são baseados na experiência de plantão do mundo real em grandes empresas, unicórnios em rápido crescimento e nos maiores ambientes de produção em hiperescala, disse a empresa.
“As empresas não podem mais escrever seus próprios runbooks ou automações de código personalizado do zero”, disse Gupta. “Com o Shoreline, toda vez que alguém em nossa comunidade resolve um problema, todos os outros se beneficiam.”
As soluções gratuitas da Shoreline
As seguintes soluções de pacote de opções estão disponíveis agora e gratuitamente para os clientes da Shoreline:
Simplifique as operações do Kubernetes
- Desativação do nó do Kubernetes: encerre os nós com facilidade quando marcados para desativação pelo provedor de nuvem.
- Pod do Kubernetes sem memória (OOM): gere informações de diagnóstico e reinicie os pods que ficaram sem memória.
- Pods do Kubernetes presos no encerramento: identifique, drene com segurança e reinicie os pods presos.
- Pods do Kubernetes reiniciando com muita frequência: detecte loops de reinicialização de pods e capture diagnósticos para identificar a causa raiz.
- Esgotamento de IP: elimine trabalhos ou pods com falha que estão consumindo muitos endereços IP.
- Fluxos de trabalho bloqueados do Argo: o Argo facilita o gerenciamento declarativo de fluxos de trabalho, mas pode deixar para trás muitos pods obsoletos após a execução do fluxo de trabalho que devem ser excluídos.
Reduza o trabalho em VMs ou Kubernetes
- Redimensionamento de disco/limpeza de disco: incidentes de disco cheio podem levar a interrupções generalizadas e perda de dados que podem prejudicar as experiências do cliente e perder receita.
- Problemas de rede: os problemas relacionados à rede geralmente são difíceis de diagnosticar e podem levar a uma experiência muito ruim para os clientes.
- Problemas intermitentes da JVM: capture informações de diagnóstico para problemas intermitentes difíceis de reproduzir e depurar.
- Desvio do servidor: restaure a uniformidade quando os arquivos de configuração, bancos de dados e fontes de dados em suas VMs e contêineres forem diferentes.
- Desvio de configuração: certifique-se de que o estado observado corresponda ao estado desejado na configuração do seu sistema.
- Exaustão de memória: a falta de memória degrada rapidamente a experiência do cliente e deve ser antecipada.
- Falhas de disco em kern.log: Detecte quando um disco tem erros ou falhou completamente inspecionando o kern.log do sistema operacional. Capture automaticamente esses eventos e inicie correções, como a reciclagem da VM.
- Falhas de rede no kern.log: Detecte quando uma interface de rede apresenta erros ou falhou completamente inspecionando o kern.log do SO. Capture automaticamente esses eventos e inicie correções, como a reciclagem da VM.
- Endpoints iníveis: determine quando não há endpoints por trás do serviço Kubernetes ou quando esses endpoints se tornaram iníveis.
- Gerenciamento de réplica de fragmentação elástica: determine quando seus clusters de pesquisa elástica têm poucas réplicas por fragmento e inicie automaticamente a recuperação.
- Processamento de log na borda: analise os arquivos de log na caixa para identificar problemas que causam incidentes de produção e elimine os custos do log centralizado.
- Lag de processamento de dados Kafka: reinicie consumidores lentos ou quebrados quando os sistemas estiverem atrasados no processamento de mensagens por meio de uma fila.
- Gerenciamento de tópicos Kafka: Quando o tamanho do seu tópico Kafka é muito longo, os aplicativos podem começar a quebrar.
- Processos que consomem muitos recursos: Determine se o sistema está usando muita memória ou U no nível do processo.
- Reinicie o serviço CoreDNS: CoreDNS, o serviço DNS padrão do Kubernetes, pode diminuir o desempenho com muitas chamadas causando latência massiva.
Otimize os gastos na nuvem
- Redimensione corretamente as alocações de U e memória do pod: reduza automaticamente os limites de U e/ou memória do pod definidos muito altos.
- Recupere hosts ociosos: marque instâncias de máquina virtual de baixa utilização como inatividade e, em seguida, encerre-as.
- Excluir volumes/snapshots do EBS não utilizados: elimine os custos de recursos não utilizados.
- Gerencie os custos de transferência de dados: detecte o aumento dos volumes de transferência de dados e identifique os motivos.
- Uso excessivo de hosts sob demanda: determine se a conversão de VMs sob demanda em instâncias reservadas geraria economias substanciais.
Aumente a segurança
- Verificação de contêiner privilegiado: sinalize qualquer contêiner ou pod em execução no modo privilegiado.
- Usuários com verificação de o root: Sinalize qualquer VM ou contêiner que tenha processos de servidor sendo executados como um usuário com permissões de root.
- Verificação de porta aberta: As portas podem ser facilmente abertas involuntariamente em um ambiente de desenvolvimento, especialmente a porta 22 para SSH e a porta 3389 para remoto.
- Conexões de portas inesperadas: detecta conexões de rede em portas que não são encontradas em uma lista aprovada.
- Verificação da lista de processos: Certifique-se de que os processos corretos do servidor estejam em execução, pois os processos às vezes morrem silenciosamente ou as versões antigas são deixadas em execução.
- Detectar operações de mineração de criptomoedas: os mineradores de criptomoedas não autorizados devem ser impedidos de abusar de níveis gratuitos de provedores de serviços em nuvem.
Evite grandes interrupções
- Rotação de certificados: mais cedo ou mais tarde, toda empresa é mordida por certificados expirados e, quando isso acontece, pode causar uma interrupção catastrófica.
- Atraso do DNS: acione reinicializações contínuas dos servidores DNS quando eles estiverem respondendo lentamente e causando problemas generalizados no sistema.