Preparar-se para o grande evento da sua empresa é um desafio. Ele incentiva você e sua equipe a repensar a arquitetura do sistema do ponto de vista comercial e, em seguida, solicita que você faça uma série de julgamentos quando surgirem vários incidentes críticos. Como tornar o dia do jogo um sucesso quando não é possível priorizar tudo de uma vez? Como você descobre o que importa?
Nossa maior recomendação para qualquer equipe que vai a um evento é estabelecer um nível de serviço. Com o nível de serviço, você pode pegar componentes discretos do sistema e extrair dados comerciais valiosos sobre o seu dia de jogo. Enquanto uma equipe pensa em termos de hosts, serviços e aplicativos, o nível de serviço pede que você divida essas entidades nas partes necessárias.
Objetivos
Neste tutorial, você irá:
- Consulte a New Relic para determinar sua linha de base
- Criar nível de serviço informado baseline
Identifique suas prioridades
Se você geralmente pensa em termos de hosts, aplicativos e serviços, encontrar suas prioridades pode ser complicado, e o objetivo do planejamento de capacidade é priorizar as coisas certas. Recomendamos avaliar como os clientes interagem com seu aplicativo e, em seguida, identificar os recursos que potencializam os pontos de contato desses clientes.
Aqui está um exemplo de jornada do usuário em nosso site de demonstração New Relic Acme Telco Home:
Quantos recursos esse usuário toca? Eles navegam até uma página de lista de produtos e selecionam um produto. Quando estiverem na página do produto, eles rolam para baixo, inserem uma quantidade e adicionam o item ao carrinho. Cada uma dessas ações corresponde a um nível de serviço potencial, que pode ser monitorado em um dia de pico de demanda.
Para ajudar a identificar os recursos do seu próprio aplicativo, temos algumas perguntas preliminares que você pode fazer sobre sua arquitetura:
- Por quais jornadas seus clientes passam com mais frequência?
- Dessas jornadas, quais envolvem transação de compra?
Depois de identificar os recursos críticos para os negócios, você precisa descobrir qual cobertura de observabilidade eles precisam. Onde estão as lacunas de alerta nessas jornadas? Eles ainda precisam ser monitorados?
Ao responder a essas perguntas, você pode criar uma narrativa sobre a arquitetura do seu sistema que seja informada pelas necessidades do negócio. Os dados coletados sobre uma chamada de API, ação de clique ou transação podem ser transformados em um indicador da saúde do negócio.
Consulta para sua baseline
Depois de descobrir o que priorizar, a próxima etapa é descobrir como seu aplicativo se comporta em um dia normal. O comportamento normal do seu aplicativo é uma baseline, que é uma espécie de expectativa. Você pode pensar nisso como uma xícara de café da manhã: você tem uma expectativa sobre o sabor daquele café, então qualquer diferença no sabor pode indicar um problema com sua máquina.
Puxe todas as transações populares
Vá para one.newrelic.com > Query Your Data e insira a seguinte consulta:
Esta consulta extrai todos os dados sobre a transação do seu aplicativo e, em seguida, filtra para incluir apenas a transação quando uma solicitação é feita ao seu aplicativo. Na tabela de request.uri
s, vemos que /js/controllers/
é um request.uri
popular. Vamos trabalhar com este.
Encontre baseline de latência e baselinede sucesso
Focando em /js/controllers/
, atualize a consulta acima para:
Remova o
FACET
e concentre a consulta nesse URI específicoSubstitua o total
count(*)
porpercentile(duration, 95)
FROM Transaction SELECT percentile(duration, 95) AS 'Latency Baselines', percentage(count(*), WHERE error is false) AS 'Success Baseline' SINCE 1 WEEK AGO WHERE request.URI LIKE '/js/services/%'Esta consulta nos diz que a transação normalmente responde em 42ms e tem uma taxa de sucesso de 99,27%. Esta é a nossa baseline de latência.
Criar nível de serviço informado baseline
Agora que você tem uma linha de base, pode criar um nível de serviço significativo. Na página Query Your Data , volte para one.newrelic.com > APM & Services e clique em Service levels localizado em Reports.
Quando você adiciona um novo nível de serviço, o New Relic preenche automaticamente uma média de baseline de cada fonte de dados no seu aplicativo. Mas queremos priorizar uma baseline específica para uma capacidade específica.
Com a baseline extraída da seção anterior, podemos editar a caixa WHERE
. Adicione a seguinte string ao final da consulta preenchida para que a linha seja:
Depois de atualizar o campo WHERE
, confirme se sua duração no campo AND
corresponde ao tempo em milissegundos consultado na etapa 2. Nesse caso, a solicitação obtém uma resposta em cerca de 42(ms) e o AND
campo corresponde a .4 duração.