Agentic SOC Summit: o novo padrão para defesa autônomaInscreva-se

No DevOps moderno, a observabilidade e o monitoramento são dois termos geralmente mencionados e, às vezes, usados como sinônimos. Em muitos casos, eles parecem ser conceitos semelhantes, separados por uma linha tênue. No entanto, há diferenças claras entre os dois.

Monitoramento refere-se à prática realizada por equipes de engenharia ou operações para monitorar e compreender o estado atual dos sistemas. Ele depende da coleta de métricas predefinidas e tem uma longa história que é tão antiga quanto a da própria computação.

A observabilidade é um conceito muito mais recente. Embora seja um pouco difícil de definir, tem um objetivo claro associado. Não é apenas um clichê vazio de DevOps.

Nesta postagem, você aprenderá o que esses dois termos significam e como eles se relacionam um com o outro. Também vamos examinar mais de perto algumas das ferramentas disponíveis para implementar a observabilidade e o monitoramento.

Vamos começar analisando mais a fundo nossa definição de monitoramento.

O que é monitoramento?

A finalidade do monitoramento é promover uma comunicação eficaz. Na TI moderna, o monitoramento diz às equipes de DevOps e de Engenharia de confiabilidade do website (SRE) se o sistema observável está fazendo bem o seu trabalho.

Antes de implementar um processo de monitoramento, é necessário definir as métricas que você deseja monitorar. A partir daí, você pode coletar esse conjunto de métricas predefinidas (e, possivelmente, logs) dos sistemas relevantes monitorados. Em seguida, você precisará agregar os dados, determinar e destacar as tendências e indicar interrupções, problemas e outros erros.

Quais problemas podem gerar um aviso das suas ferramentas de monitoramento? Há várias possibilidades, mas estes são alguns exemplos:

  • Latência da rede
  • Baixo tempo de resposta da aplicação
  • Desempenho de E/S reduzido
  • Falhas nas operações de banco de dados

As aplicações Web modernas usam dois tipos de monitoramento: sintético e monitoramento de usuários reais (RUM). O monitoramento sintético é geralmente usado para monitorar tendências de curto prazo, enquanto o RUM é mais adequado para o longo prazo. O sintético usa ferramentas de automação para mensurar a funcionalidade de um sistema. Por exemplo, ele usa valores de amostra para decidir se uma aplicação Web está tendo o desempenho esperado. O RUM envolve registrar a interação real do usuário com a aplicação e descobrir se a aplicação está desempenhando ou funcionando conforme o esperado.

O monitoramento não é uma prática ou conceito novo. Sempre foi parte de um cenário moderno de computação, desde o início da era de computação pessoal. Um exemplo de monitoramento inicial foi o Norton Disk Doctor. O programa fazia uma varredura nas unidades de disco de um computador e relatava os problemas encontrados.

No ambiente de DevOps atual, as equipes de SRE usam o monitoramento para verificar a integridade geral de servidores, redes e armazenamentos de dados individuais. O monitoramento funciona como um subconjunto dos objetivos gerais de observabilidade de um ambiente.

O que é observabilidade?

De acordo com a Wikipédia, "observabilidade" é a medida de quão bem os estados internos de um sistema podem ser inferidos do conhecimento de suas saídas externas".

Imagine isso como um paciente recebendo cuidados médicos de rotina depois de sentir uma dor incômoda. Sob a perspectiva de TI, a finalidade da observabilidade é analisar saídas externas (como os sintomas) que fornecem uma visão de como o sistema está funcionando internamente. A observabilidade examina os efeitos e os correlaciona a uma causa específica.

Por que a observabilidade se tornou um conceito tão popular no mundo da TI? Desde 2005, a computação em nuvem — e o uso de aplicações distribuídas — teve um salto em popularidade. Já se foram os dias em que era possível monitorar um único cluster de VMs e só isso. No mundo moderno de TI, uma aplicação pode abranger várias nuvens com o uso de containers e microsserviços. Esses serviços podem ser tanto distribuídos quanto multicamadas.

Essa é a principal diferença entre a necessidade de um monitoramento simples e observabilidade. Ter um ambiente multicamadas requer uma visão holística da infraestrutura geral, algo que somente a observabilidade pode fornecer.

O objetivo da observabilidade é entregar uma visão abrangente da infraestrutura, mais do que o monitoramento de um sistema individual pode fazer. Ela ajuda a determinar a causa raiz de um problema com muito mais certeza, particularmente em um sistema distribuído e complexo.

As saídas externas de um sistema observável incluem métricas, eventos, rastreios e logs. Estes são alguns exemplos de como os engenheiros de DevOps podem aproveitar a observabilidade:

  • Detecção de anomalias de segurança
  • Análise de custos de recursos na nuvem
  • Análise de rastreamento de chamadas para determinar como valores de entrada específicos estão afetando a falha do programa
  • Identificação de picos sazonais na carga do sistema e vinculação disso a um balanceador de carga abaixo do ideal

A maioria das plataformas de observabilidade fornecem informações detalhadas de que um usuário precisa para identificar facilmente a causa raiz de um problema. Algumas também podem sugerir correções para o problema. E algumas até vão além, tomando as medidas corretivas por conta própria.

Por que a observabilidade e o monitoramento se parecem?

Então o que leva à confusão entre observabilidade e monitoramento? Em primeiro lugar, os próprios termos são semelhantes e têm finalidades parecidas. Ambos tentam melhorar a confiabilidade do sistema e identificar a causa de um problema para melhorar o desempenho geral.

Eles também usam os mesmos dados. Independentemente de você estar buscando criar um sistema observável ou monitorado, precisará primeiro capturar as saídas certas. Isso requer a instalação de coletores e agentes, e possivelmente a instrumentação do código da aplicação.

As duas tarefas também podem coexistir. Conforme mencionado anteriormente, o monitoramento é um subconjunto da observabilidade. Na verdade, muitas plataformas de observabilidade possuem ferramentas de monitoramento inseridas em sua interface. Isso significa que você não precisa de dois conjuntos de ferramentas separados para trabalhar com monitoramento e observação — está tudo incluído junto.

A diferença entre observabilidade e monitoramento

Apesar de seus pontos em comum, há várias distinções cruciais entre a observabilidade e o monitoramento. Primeiro, o monitoramento é mais uma função operacional. Ele examina o desempenho interno de um sistema e relata problemas. O monitoramento não relata os vários fatores que podem estar causando o problema. Ele apenas alerta a equipe de DevOps sobre a existência desse problema.

Por exemplo, o monitoramento pode avisar as suas equipes de SRE sobre um servidor sem resposta. Ele pode fornecer dados sobre a memória do sistema, o desempenho da rede e as métricas da CPU, mas não o que causou esses picos. Já uma plataforma de observabilidade dá um passo além. Ela examina os logs do servidor, rastreios, eventos e métricas e os correlaciona aos dados, talvez determinando que um processo fora de controle esteja levando a um pico no uso da CPU. Em seguida, a plataforma de observabilidade relata esse processo.

O monitoramento diz a você que algo está errado. A observabilidade usa a coleta de dados para dizer a você o que está errado e por que isso aconteceu.

Embora o monitoramento colete métricas, as equipes de DevOps ainda devem analisar essas informações manualmente, correlacioná-las ao problema e localizar o erro. A observabilidade automatiza essas tarefas complicadas, deixando tudo mais fácil para a equipe que tenta localizar e corrigir um problema.

Ela vem com funções avançadas como correlação de dados, às vezes usando IA para oferecer suporte à indicação contextual, rastreamento distribuído e detecção avançada de anomalias.

Outra diferença importante é que a observabilidade pode destacar "desconhecidos desconhecidos". Esses são problemas que a equipe de DevOps pode nem ter percebido, considerando que o monitoramento se concentra mais em encontrar o status de um sistema.

Saiba mais

Neste artigo, vamos explorar os processos de registro em log e monitoramento, analisando o motivo de sua importância para o gerenciamento de aplicações. Também vamos abordar as práticas recomendadas para integrar o registro em log ao monitoramento para obter uma visibilidade robusta e acessibilidade em toda uma aplicação.

Registro em log vs monitoramento

Como a observabilidade e o monitoramento podem trabalhar juntos

Embora as duas funções sejam diferentes e tenham finalidades distintas, esta não é uma discussão do tipo "um ou outro". Eles podem (e devem) coexistir, complementando um ao outro para proporcionar uma experiência robusta de solução de problemas.

O monitoramento pode capturar e relatar problemas conhecidos e secundários. Ele pode destacar esses problemas por meio de alertas, dando às equipes de SRE as informações básicas necessárias para abordá-los antes que se tornem mais graves.

O monitoramento também pode ajudar a confirmar alterações planejadas em um sistema. Imagine um cenário em que um servidor fica sem espaço em disco. O monitoramento pode destacar isso. A equipe de DevOps pode implementar alterações planejadas para adicionar espaço ao disco, o que deve fazer os alertas do sistema de monitoramento pararem. Nesse caso, a correção pode ser considerada concluída, sem a necessidade de uma observação mais aprofundada.

No entanto, o que acontece quando há incidentes repetidos do mesmo problema sem uma causa raiz clara? Isso pode precisar de observação e uma análise mais profunda, uma área em que o monitoramento é insuficiente. Uma ferramenta de observabilidade pode identificar uma — e até várias — causas raiz. Assim que isso é concluído, os engenheiros de DevOps podem reconfigurar a ferramenta de monitoramento para um conjunto extra de métricas, enviar alertas adicionais ou até mesmo ignorar condições específicas de alarme.

A observabilidade é ótima para auxiliar em operações como planejamento de capacidade, otimização de custos, correção, atualizações ou desenvolvimento de correções. O monitoramento pode não ser capaz de realizar essas mesmas tarefas, mas pode confirmar se os resultados das ações tiveram sucesso.

Descubra a plataforma nativa de IA de liderança mundial para SIEM e gerenciamento de log de última geração

Eleve sua cibersegurança com o CrowdStrike Falcon®, a principal plataforma nativa de IA para SIEM e gerenciamento de log. Experimente registro de log de segurança em uma escala de petabytes, optando por nativo em nuvem ou implementação auto-hospedada. Registre seus dados com uma arquitetura avançada e livre de índices, sem gargalos e que permite investigação de ameaças com mais de 1 PB de ingestão de dados por dia. Assegure capacidades de pesquisa em tempo real para superar os adversários, atingindo latência de menos de um segundo para consultas complexas. Beneficie-se de uma visibilidade de 360 graus, consolidando os dados para eliminar silos e possibilitar que as equipes de segurança, TI e DevOps investiguem ameaças, monitorem o desempenho e garantam a conformidade perfeitamente em 3 bilhões de eventos e em menos de um segundo.

Arfan Sharif é líder de marketing de produtos para o portfólio de observabilidade na CrowdStrike. Ele tem mais de 15 anos de experiência em gerenciamento de log, ITOps, observabilidade, segurança e soluções de CX para empresas como Splunk, Genesys e Quest Software. Arfan formou-se em Ciência da Computação na Universidade Bucks and Chilterns e sua carreira abrange as áreas de Marketing de Produtos e Engenharia de Vendas.