Olá! Sejam bem-vindas e bem-vindos ao curso de Observabilidade com Prometheus e Grafana. Antes de mais nada, vou me apresentar. Meu nome é Mário.
Audiodescrição: Mário é um homem branco, de cabelo escuro. Ele está no sótão de sua casa, em um espaço apertado, com um teto baixo que quase encosta em sua cabeça.
Neste curso, vamos aprender em mais detalhes quais são as ferramentas frequentemente mencionadas no contexto de observabilidade e que são essenciais para construirmos uma observabilidade robusta e funcional.
Antes de mais nada, vamos entender melhor as diferenças entre monitoramento e observabilidade, para então nos aprofundarmos nessas ferramentas. Precisamos compreender a estrutura da observabilidade e organizá-la, para que possamos entender as ferramentas que proporcionarão observabilidade. Isso faz sentido. Vamos prosseguir.
Nos vemos no próximo vídeo.
No vídeo anterior, dissemos que mostraríamos quais são os pilares da observabilidade, o que são exatamente e como podemos registrá-los. Vamos mostrar na nossa tela, que estamos compartilhando, quais são esses três pilares.
Os três pilares são: métricas, logs (registros) e traces (rastreamentos). Vamos entender cada um deles e como podem nos ajudar a obter uma boa observabilidade.
Em relação a métricas — que é onde vamos trabalhar mais neste curso, porque o Prometheus está muito focado nessa parte e, por isso, é bastante robusto para entregar métricas — que tipos de informação elas fornecem? Exemplos:
Há muitas informações, e falaremos mais sobre isso adiante, incluindo alguns antipadrões que devemos evitar. Este é o primeiro pilar dos três pilares.
O próximo pilar são os logs (registros): eles registram eventos da aplicação. Para explicar logs, gostamos de usar a analogia do avião. Quando viajamos de avião, o piloto se comunica com a torre de controle informando: “Estamos indo nesta direção, nesta posição; o avião subirá em 5 minutos e estamos prontos para decolar.” A torre de controle responde: “Autorizado a voar.” Assim, ficam determinados todos os passos que serão executados para efetuar a decolagem.
Da mesma forma, os logs registram os eventos da aplicação. Por exemplo, quando a aplicação realiza uma transação, registramos:
Os logs fornecem sinais e eventos que podem ser negativos ou positivos para a aplicação. São uma base fundamental; sem eles faltará muita informação na observabilidade.
Quando falamos do terceiro pilar da observabilidade, falamos de traces (rastros de execução). São muito importantes; podemos usar a analogia de um serviço de entregas, no qual rastreamos um pacote. Ao comprar um produto eletrônico para entrega, conseguimos rastreá-lo e ver exatamente para onde vai, onde parou e por que parou. Da mesma forma, a trace (rastro de execução) nos fornece o caminho, o percurso pelo qual a request (requisição) passa até chegar ao seu ponto final, que pode ser a pessoa cliente ou outra aplicação. Obtemos todos esses dados e essas informações cruciais, fundamentais para determinar um problema.
Vamos apresentar um exemplo. Vamos imaginar que, por alguma razão, fazemos uma request (requisição) a um banco de dados. Nesse banco de dados, a request (requisição) começou a demorar muito para responder. Vemos que ela passou pela nossa aplicação, chegou ao banco de dados, demorou a responder e, depois, finalizamos. O processamento da nossa aplicação levou, digamos, alguns milissegundos, mas a resposta do banco de dados levou dois segundos, um tempo enorme. Isso provocou o acúmulo de muitas solicitações.
Por alguma razão, devido a esse acúmulo de requests (requisições), o uso de CPU aumentou. Existe uma conexão muito forte entre as métricas e as traces (rastros de execução). Por exemplo, identificamos que esse banco de dados está demorando muito, e começaram a se acumular muitas solicitações na nossa aplicação. Vimos que as métricas de CPU estão aumentando muito e isso coincide exatamente com aquela request (requisição) lenta ao banco de dados. Ao observar e analisar, percebemos que uma coisa coincide com a outra.
Nossa aplicação começa a usar mais CPU, passa a sofrer limitação de taxa (throttling), e as solicitações passam a demorar mais do que o esperado, causando indisponibilidade no serviço ou uma experiência ruim para a pessoa cliente.
Assim, esses três pilares sempre convergem para que possamos identificar o problema o mais rápido possível.
No vídeo anterior, falamos sobre entender a estrutura da observabilidade e a diferença entre monitoramento e observabilidade.
Vamos fazer uma analogia. Imagine que você é responsável por um sistema ou uma aplicação e precisa cuidar dessa aplicação. Ela está sendo executada em um servidor ou em dois. Em determinado momento, percebemos que clientes que acessam esse app (aplicativo) começaram a relatar que ele não funcionava. Ao revisar a aplicação, constatamos que, de fato, ela não estava funcionando durante o teste. Em seguida, analisamos as métricas, os logs (registros) e as traces (rastros de execução) e tudo parecia estar em ordem. Havia métricas de CPU, RAM e vários outros tipos de métricas e, aparentemente, tudo funcionava. Nesse caso, temos monitoramento.
A observabilidade é diferente. A observabilidade nos ajuda a identificar qual é o problema que estamos enfrentando. O monitoramento apresenta indícios de que algo está acontecendo; a observabilidade explicita o problema em si. Assim, conseguimos definir com clareza o que é monitoramento e o que é observabilidade.
Vamos trazer outra analogia para entendermos melhor monitoramento e observabilidade. Vamos criar uma analogia com hospitais, por exemplo. Digamos que o monitoramento tradicional seria um exame anual.
Temos dados de vários sinais vitais do corpo, como a pressão, sinais e informações do coração e dos pulmões. São indicadores que mostram se estamos bem em determinado ano ou se há algum indício de problema.
Na observabilidade, o cenário é diferente. Teríamos, por exemplo, uma UTI (Unidade de Terapia Intensiva) em casa funcionando 24 horas por dia (24/7).
Em um modelo tradicional de monitoramento, não identificaríamos se estivéssemos sofrendo um ataque cardíaco, porque contaríamos apenas com indícios anuais. E se o ataque cardíaco acontecesse agora, por exemplo? Esses dados não ajudariam muito.
Na observabilidade, por outro lado, teríamos diversos relatórios e até vários aparelhos conectados a nós 24 horas por dia. Assim, teríamos informações sobre o corpo o tempo todo, com dados que mostrariam quando começou a oscilar e quando começou a aumentar o sinal que pode nos prejudicar e causar um ataque cardíaco.
Essa é a analogia que queremos compartilhar com vocês sobre a diferença entre monitoramento e observabilidade. Mas, Mário, isso quer dizer que não precisamos de monitoramento? Não. Precisamos de ambos.
No próximo vídeo, vamos mostrar, na prática, com mais detalhes, o que queremos dizer com essas diferenças e por que isso é importante. Vamos ver isso na prática.
O curso Observabilidade: Prometheus e Grafana para sistemas distribuídos possui 267 minutos de vídeos, em um total de 84 atividades. Gostou? Conheça nossos outros cursos de SRE em DevOps, ou leia nossos artigos de DevOps.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
O Plano Plus evoluiu: agora com Luri para impulsionar sua carreira com os melhores cursos e acesso à maior comunidade tech.
2 anos de Alura
Matricule-se no plano PLUS 24 e garanta:
Jornada de estudos progressiva que te guia desde os fundamentos até a atuação prática. Você acompanha sua evolução, entende os próximos passos e se aprofunda nos conteúdos com quem é referência no mercado.
Programação, Data Science, Front-end, DevOps, Mobile, Inovação & Gestão, UX & Design, Inteligência Artificial
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
Acesso à inteligência artificial da Alura.
No Discord, você participa de eventos exclusivos, pode tirar dúvidas em estudos colaborativos e ainda conta com mentorias em grupo com especialistas de diversas áreas.
Catálogo de tecnologia para quem é da área de Marketing
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
20% de desconto na Pós Tech
Luri Vision chegou no Plano Pro: a IA da Alura que enxerga suas dúvidas, acelera seu aprendizado e conta também com o Alura Língua que prepara você para competir no mercado internacional.
2 anos de Alura
Todos os benefícios do PLUS 24 e mais vantagens exclusivas:
Acesso ao catálogo da Casa do Código e leitura dentro da plataforma
Chat, busca, exercícios abertos, revisão de aula, geração de legenda para certificado.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Para quem quer atingir seus objetivos mais rápido: Luri Vision ilimitado, vagas de emprego exclusivas e mentorias para acelerar cada etapa da jornada.
2 anos de Alura
Todos os benefícios do PRO 24 e mais vantagens exclusivas:
Catálogo de tecnologia para quem é da área de Marketing
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais de forma ilimitada.
Conecte-se ao mercado com mentoria individual personalizada, vagas exclusivas e networking estratégico que impulsionam sua carreira tech para o próximo nível.