← AWS DevOps Engineer Professional: operação e entrega
11 / 18 · 75 MIN

Sinais fiáveis e lacunas de observabilidade

Interpreta o que uma métrica demonstra, reconhece dados em falta e prepara a aceitação operacional dos alertas.

Começar pela decisão operacional

Num serviço fictício de liquidação, uma linha verde pode significar pedidos sem falhas, ausência de pedidos ou ausência de telemetria. Antes de escolher um limiar, escreve a decisão que o sinal deve apoiar: chamar APS, interromper uma promoção ou investigar perda de visibilidade. Identifica quem produz os dados, em que intervalo chegam e qual a população medida. Uma contagem de entregas de logs não é necessariamente uma contagem de operações de negócio únicas. Correlaciona identificadores sem expor dados sensíveis e conserva evidência suficiente para explicar uma decisão na passagem de turno. A pergunta inicial é o que foi observado e o que permanece desconhecido; a cor do dashboard vem depois.

Desenhar a métrica antes do gráfico

Um metric filter processa eventos novos; criá-lo depois do incidente não reconstrói os pontos da hora anterior. Os logs preservados continuam úteis para investigação histórica. Num filtro sem dimensões, defaultValue=0 pode representar um período com ingestão e sem correspondências; sem ingestão, não aparece esse ponto. Com dimensões, esse defaultValue não está disponível. Escolhe dimensões que permitam decisões úteis, como serviço ou ambiente, com cardinalidade controlada. Um requestId diferente em cada pedido fragmentaria as séries; mantém esse detalhe pesquisável nos logs. Documenta unidade, população, janela e significado de ausência. Assim, uma equipa que recebe o serviço consegue distinguir configuração incompleta de comportamento esperado.

Calcular taxas com a população certa

Se A falha 2 de 10 pedidos e B falha 18 de 990, a taxa conjunta é 20/1000, ou 2%. A média simples das percentagens daria peso igual a volumes diferentes. O exercício local calcula a taxa agregada e devolve None quando não existem pedidos: essa escolha mantém a distinção entre zero observado e taxa indefinida. Em CloudWatch metric math, uma divisão por zero elimina o ponto; não confirma sucesso. Antes de usar o resultado para um SLA, confirma que numeradores e denominadores medem a mesma operação, intervalo e âmbito. Uma repetição de transporte não deve aumentar silenciosamente o denominador de operações únicas. O código ensina aritmética; não substitui reconciliação de negócio.

Avaliar atraso e dados em falta

Uma métrica que chega tarde pode deixar o período mais recente sempre preenchido artificialmente. FILL com zero num alarme que exige todos os pontos acima do limiar pode mantê-lo em OK. Mede o atraso e experimenta padrões de falha; um M-de-N com M menor que N pode ser adequado, mas exige uma decisão sobre tolerância e deteção. Conhece também a janela: a avaliação deslizante pode usar pontos reais adicionais mais antigos quando há lacunas recentes. Uma janela wall clock usa o intervalo alinhado e não consulta esses pontos anteriores. Regista a configuração e os dados efetivamente avaliados antes de concluir que treatMissingData foi ignorado incorretamente.

Suprimir notificações sem esconder o estado

Durante manutenção, a supressão pode impedir ações de um alarme composto enquanto este continua em ALARM. A equipa deve saber que o silêncio foi intencional e quando termina. WaitPeriod dá tempo para o suppressor acompanhar a transição inicial; ExtensionPeriod permite recuperação após o suppressor sair de ALARM. Ajusta estes tempos ao comportamento observado, preservando um responsável e uma forma de identificar condições que persistem depois da janela. Não declares o serviço recuperado apenas porque deixou de notificar. Na aceitação operacional, demonstra tanto a notificação quando devida como a sua supressão controlada e o regresso à elegibilidade. Regista quem recebe e quem assume a ação.

Recuperar continuidade de evidência

Subscriptions podem entregar logs repetidos; um consumidor com efeitos precisa de idempotência. Uma falha como AccessDenied pode desativar temporariamente o filtro e deixar logs ignorados durante esse intervalo. Corrigir a permissão demonstra que o caminho voltou a funcionar, mas não prova que o destino tem todo o histórico. No caso prático, a origem conserva os quinze minutos em falta. Delimita o intervalo, recupera os eventos com identidade preservada e compara cobertura, duplicados e resultado esperado. Se não for possível recuperar tudo, declara a lacuna e o impacto. O resumo para RUN deve indicar dados observados, limites da evidência, alarmes testados e condições de escalada.

# Original local exercise: aggregate observations, no cloud calls.
def error_rate(samples):
    for errors, requests in samples:
        if not (isinstance(errors, int) and isinstance(requests, int)):
            raise ValueError("Counts must be integers")
        if errors < 0 or requests < errors:
            raise ValueError("Invalid population")
    total = sum(requests for _, requests in samples)
    return None if total == 0 else 100 * sum(e for e, _ in samples) / total

assert error_rate([(2, 10), (18, 990)]) == 2
assert error_rate([(0, 0)]) is None
assert error_rate([(0, 100)]) == 0
try:
    error_rate([(3, 2)])
    raise AssertionError("Invalid count accepted")
except ValueError:
    pass
NA PRÁTICA

APS encontra um alarme OK apesar de 20 falhas em 1000 pedidos. A revisão separa a taxa de 2%, o atraso da métrica e o efeito de FILL antes de decidir a aceitação.

Armadilhas comuns

Usar médias de percentagens com volumes diferentes; interpretar silêncio como zero; declarar o histórico completo após corrigir permissões; esquecer que supressão afeta ações.

Tópicos relacionados: Recuperação de eventos e efeitos de negócio

Leva esta ideia contigo

Um sinal operacional fiável tem população, tempo e tratamento de ausência explícitos. A recuperação de evidência requer reconciliação.

Criar conta

Referência: CloudWatch Logs metric filters · DOP-C02

AWS é uma marca comercial da Amazon.com, Inc. ou das suas afiliadas. A dr.pt é uma plataforma de preparação independente e não está afiliada, associada, patrocinada, autorizada nem aprovada por AWS. Os conteúdos e as perguntas são originais, não são perguntas oficiais de exame, e concluir os nossos testes não atribui nem garante qualquer certificação. Os nomes são usados apenas para identificar o tema. Todas as outras marcas pertencem aos respetivos titulares.