Reparação dos danos
Dividir o ciclo de vida da resposta a incidentes em cinco fases, como você viu neste módulo, ajuda a entender o processo, mas as fases nem sempre são tão distintas quanto aparecem no diagrama. Em particular, a linha entre as fases de resposta e de remediação começa frequentemente a esbater-se. Isto é especialmente verdade quando as ações destinadas a atenuar ou melhorar a situação têm o efeito contrário. Neste caso, a resposta e a remediação tendem a sobrepor-se ou a ir e voltar entre as duas.
Nesta unidade, você aprenderá mais sobre a remediação e as etapas que compõem essa fase, bem como algumas dicas e ferramentas úteis. Uma coisa importante a observar: você não deve tomar as medidas descritas aqui como uma lista de verificação prescritiva.
Se você realmente tem uma lista de verificação para remediação já em mãos, isso geralmente é um indicador de que é hora de trazer a automação para o cenário. Quando você pode descrever exatamente o que precisa ser feito e em que ordem para remediar um problema, é o momento perfeito para ensinar essas etapas a uma máquina para que o sistema possa fazer isso por você.
Por onde começar
Você aprendeu sobre a importância de reduzir o tempo necessário para responder a um incidente. Agora vamos ver algumas coisas que podem ajudar a acelerar o processo de remediação ou correção do problema.
Diferentes membros da equipe podem ter diferentes modelos mentais de como as coisas funcionam e ideias diferentes sobre qual deve ser o primeiro passo. Um pode primeiro olhar para os logs, enquanto outro pode primeiro executar consultas e olhar para as métricas. Não existe um único caminho correto para o sucesso.
No entanto, ajuda a fornecer às pessoas contexto e orientação sobre para onde devem ir e o que devem analisar.
Como e para quem escalar
Uma pergunta importante a responder na formulação do teu ponto de partida de remediação é: quando ficas preso, a quem podes ligar para escalar a situação? Você deve estar tentando transferir mais das responsabilidades de plantão para a equipe em geral, não apenas para Operações ou Engenharia de Confiabilidade do Site. Deve ser responsabilidade de todos os membros da equipe ter os sistemas em funcionamento para atender aos seus objetivos de confiabilidade.
Que recursos são úteis para os socorristas?
A próxima consideração é determinar as coisas que os socorristas podem usar para iniciar o processo. Isso pode incluir métricas relevantes, logs, consultas e assim por diante. Eles devem ser fornecidos em uma pasta de trabalho/guia de solução de problemas do Azure, se possível. Falaremos sobre eles daqui a pouco.
Também é útil fornecer links simples para recursos (geralmente em um guia de solução de problemas). Se o seu objetivo é responder e remediar o problema o mais rápido possível, ajudar as pessoas a encontrar as respostas para as perguntas sem ter que procurar o documento ou URL certo acelerará o processo.
Atualizar as partes interessadas
Você pode ficar tão focado em resolver o problema que pode esquecer que há muitas pessoas que não estão diretamente envolvidas na resposta ao incidente, mas que querem e precisam saber o que está acontecendo.
É importante comunicar com outras equipas internas e mantê-las informadas sobre o que está a acontecer quando ocorre um incidente. Se você não fornecer atualizações consistentes, é provável que eles venham por aí pedindo uma atualização de status. Eles têm todo o direito a essas informações, mas você precisa de uma maneira melhor de conscientizá-los sobre o problema e o que está sendo feito a respeito.
É importante que sejas claro quanto ao reconhecimento dado às tuas equipas internas. Seja claro ao apresentar o que você sabe e o que está sendo feito e defina expectativas em termos de quando eles ouvirão de você.
A fórmula para as suas comunicações às partes interessadas é simples:
- É o que sabemos.
- É isso que estamos fazendo.
- Entraremos em contacto consigo dentro de X tempo.
Isso ajudará a evitar que as partes interessadas venham até você e o interrompam quando você estiver tentando corrigir os problemas.
Uma maneira de distribuir essas informações é através do uso de uma página web de status facilmente editável como a que mencionamos na última unidade. Em muitos casos, você pode querer ter uma página de status separada e mais detalhada para as partes interessadas internas e uma página externa para seus clientes. A fórmula anterior funciona para ambos os casos.
Usar pastas de trabalho e guias de solução de problemas do Azure Monitor
O Azure tem dois recursos intimamente relacionados que podem ser extremamente úteis para uma equipe na fase de correção: Pastas de Trabalho do Azure Monitor e Guias de Solução de Problemas do Application Insights. Para o propósito deste módulo, eles são intercambiáveis, inclusive tendo a mesma interface de usuário. Você pode encontrar Pastas de Trabalho do Azure Monitor no portal do Azure em Azure Monitor. Você encontrará os Guias de Solução de Problemas do Azure Insights no portal do Azure quando uma instância do Applications Insight for selecionada.
Você pode pensar em pastas de trabalho e guias de solução de problemas como "documentos dinâmicos" que você pode criar usando uma interface de criação de página. Ao criar um novo, você pode adicionar à página:
- Texto arbitrário, como uma lista com marcadores de itens a fazer ou outras informações úteis para alguém que consulte a página
- Links para outros sistemas, por exemplo, links para outros painéis ou documentação
- Consultas em Kusto Query Language (KQL)
É esse último item que torna o documento "vivo". Em um módulo anterior neste caminho de aprendizagem, exploramos a linguagem de consulta KQL incorporada ao Log Analytics e outras partes do Azure Monitor. Usando essa linguagem, poderíamos escrever nossas próprias consultas para retornar e exibir informações de diagnóstico de nosso aplicativo e infraestrutura do Azure. Quando uma consulta KQL é inserida em uma pasta de trabalho ou guia de solução de problemas, os resultados atuais dessa consulta são exibidos ao vivo para os leitores do documento. Isso significa que seu guia de solução de problemas pode dizer não apenas "Certifique-se de verificar a taxa de erro no servidor web", mas também pode mostrar um gráfico atual para essa taxa de erro ao lado das instruções. Ele pode ter um link como "aqui está a documentação de reinicialização do servidor web" que leva o primeiro respondente direto para a documentação que eles precisam.
O Azure também fornece alguns modelos existentes para ajudá-lo a começar a criar seus próprios documentos. Aqui está uma captura de tela de alguns dos modelos pré-feitos que podem ser oferecidos:
Há um recurso de de editor Avançado para Pastas de Trabalho e guias de solução de problemas que permitem acessar e inserir uma representação de modelo JSON ou do Azure Resource Manager desse documento. Isso significa que é possível rastrear e distribuir esses documentos usando o sistema de controle de origem de sua escolha. Ele também permite automatizar o provisionamento de pastas de trabalho ou guias de solução de problemas, o que é útil para quando você estiver provisionando outra infraestrutura. Criar um conjunto de documentos de solução de problemas personalizados para acompanhar um novo serviço no momento em que o serviço é provisionado torna-se fácil usando essa prática recomendada.
Outras dicas e ferramentas úteis
Ao longo deste módulo, você aprendeu sobre as várias ferramentas e atalhos que você pode usar para aumentar a eficiência e reduzir o tempo de resposta a incidentes. Ao finalizarmos esta última unidade, faremos uma breve visão geral de algumas ferramentas e técnicas que são úteis no diagnóstico de problemas em seus sistemas.
- Você pode usar o link Painel do aplicativo no Application Insights para gerar automaticamente um painel que tenha a maioria dos principais itens necessários como ponto de partida. Note que não inclui o Azure Service Health. Você deve fixar isso em seu painel para verificar se o problema é com seus sistemas ou com o próprio serviço de nuvem.
- Você pode usar o Mapa do Aplicativo no Application Insights para detalhar exatamente o que está acontecendo para causar os problemas. Você pode seguir a trilha para encontrar a causa do erro (por exemplo, um URL malformado).
- Você pode usar o Log Analytics para consultar qualquer parte do sistema.
Todas as ferramentas anteriores são inestimáveis na correção de problemas.