Runbooks

Mar 07 2023
O melhor amigo de uma pessoa de plantão
Introdução Runbooks não são novidade, pelo contrário, já existem há muitos anos. Um Runbook pode ser considerado um guia de instruções para concluir uma tarefa que pode ser usada para resposta a incidentes no caso de um alerta.

Introdução

Runbooks não são uma coisa nova, pelo contrário, já existem há muitos anos. Um Runbook pode ser considerado um guia de instruções para concluir uma tarefa que pode ser usada para resposta a incidentes no caso de um alerta.

Este guia prático pode incluir textos, listas de verificação, diagramas, fluxos de trabalho, praticamente qualquer coisa que torne mais fácil para a pessoa de plantão durante um incidente.

Runbooks podem ser usados ​​para acelerar a resposta a incidentes comuns

Este é um exemplo de um Runbook sobre o que fazer quando os alvos do Prometheus estão inativos

Por que é importante

Ter um runbook que contém uma lista de etapas para responder a um incidente ou para executar uma ação específica ou iniciar etapas é inestimável para uma pessoa de plantão que está sendo chamada às 2h da manhã. Essas etapas ajudam o plantonista a depurar, mitigar e resolver os problemas, sem a necessidade de ficar imaginando cada problema e entender como funciona o serviço.

Isso reduzirá o tempo de inatividade e dará à pessoa de plantão algumas horas extras para dormir :)

De acordo com o Google SRE Workbook, os runbooks devem “reduzir o estresse, o tempo médio de reparo (MTTR) e o risco de erro humano”.

O que deve estar em um Runbook?

  • Um Runbook deve se concentrar em uma tarefa e conter as etapas necessárias para resolver um problema.
  • As etapas do runbook devem ser claras, para que qualquer pessoa possa resolver rapidamente o problema também para uma pessoa de plantão que está meio adormecida.
  • Cada problema deve incluir um nome de alerta e uma descrição .
  • Deve descrever qual é a gravidade do problema.
  • Deve descrever quaisquer dependências para outros serviços.
  • Ele deve conter qual é o impacto nos negócios .
  • Deve conter informações sobre como se comunicar com as partes interessadas, com o cliente e com a organização.
  • Deve conter informações de contato e de plantão .
  • Uma seção de FAQ (perguntas frequentes)

Criando um livro de execução

Tudo isso parece ótimo, mas como você cria uma coisa dessas? Por onde você começa?

Você pode começar a criar um runbook escrevendo instruções para uma tarefa com base em um incidente anterior. Pense em quais são os incidentes mais comuns. Esta informação pode ser obtida a partir de autópsias .

Sempre que um alerta é criado, uma entrada de runbook correspondente deve ser criada.

Para começar, recomendo verificar a coleção de GitLab Runbooks . Este repositório fornece muitos runbooks para começar e é um bom começo para inspiração sobre como criar um runbook que funcione para sua equipe/organização.

Uma primeira etapa pode ser escrever um runbook de plantão para a equipe com instruções sobre como responder a alertas. Como exemplo, este runbook de plantão fornece um modelo para pessoas que estão iniciando um turno de plantão.

Quem deve escrever os Runbooks?

A propriedade e a responsabilidade devem ficar com as equipes. Eles são responsáveis ​​por manter os runbooks atualizados e precisos. A equipe SRE pode fornecer um modelo para as equipes, mas elas são responsáveis ​​por isso e cada modificação é um esforço conjunto da equipe.

Onde os Runbooks devem ser armazenados?

Os Runbooks podem ser mantidos em um repositório GitHub (bom para automação) ou em uma página de confluência, página wiki etc. O importante aqui é que eles sejam fáceis de encontrar e pesquisar durante um incidente.

Com que frequência devo atualizar os Runbooks?

Um problema comum com runbooks é que eles ficam desatualizados. Um runbook deve ser constantemente atualizado e conter as informações mais atualizadas. Se uma nova dependência for adicionada, as informações sobre essa dependência devem ser adicionadas à documentação.

Recursos

Aqui estão alguns artigos que eu recomendo para leitura adicional sobre Runbooks.

https://gitlab.com/gitlab-com/runbooks

https://sre.google/workbook/on-call/

Se você achou isso útil, clique no botão de palmas e siga-me para obter mais artigos em seu feed.