Help build the future of open source observability software Open positions

Check out the open source projects we support Downloads

We cannot remember your choice unless you click the consent notice at the bottom.

De várias linhas de consultasa investigações sem código: encontre os usuários da Grafana onde eles estiverem

De várias linhas de consultasa investigações sem código: encontre os usuários da Grafana onde eles estiverem

2024-10-22 9 min

Quando o assunto é observabilidade, as pessoas apresentam diferentes níveis de especialização. Alguns conseguem produzir consultas PromQL de 50 linhas com facilidade, que incluem o uso de funções avançadas como group_left e label_replace. Outros não vão muito além de digitar um nome de métrica e clicar em “Executar consulta”.

Contudo, independentemente do nível de experiência, todos buscam o mesmo objetivo: aproveitar os grandes volumes de dados de telemetria que coletam para manter o software em funcionamento e, acima de tudo, gerar valor para os usuários finais.

Há muito tempo atendemos à comunidade de especialistas e early adopters, mas, à medida que mais organizações adotam a observabilidade, vimos a necessidade de evoluir a nossa stack LGTM da Grafana (Loki para logs, Grafana para visualização, Tempo para rastros e Mimir para métricas) para atender a um grupo mais abrangente de usuários. Uma das nossas primeiras tentativas de resolver isso foi a criação do gerador de consultas Prometheus, que lançamos no Grafana 9, há mais de dois anos.

Desde então, fizemos inúmeras melhorias para que nossa stack de observabilidade seja mais acessível para quem não tem tanta experiência. No mês passado, atingimos nossa maior conquista nessa jornada, com o lançamento de experiências de exploração de telemetria sem consulta para todos os quatro pilares da observabilidade: métricas, registros, rastros e perfis.

Nós os chamamos de aplicativos Explore e, nesta publicação, mostrarei como eles nos ajudam a encontrar os usuários onde estiverem para que todos, de iniciantes a especialistas, possam se beneficiar dos seus dados de telemetria para aproveitar todo o potencial da observabilidade.

O espectro completo de abordagens para investigações de telemetria

Com o lançamento dos nossos aplicativos Explore para todos os quatro pilares da observabilidade, os usuários agora podem escolher entre três opções diferentes na Grafana para ajudá-los a obter insights da telemetria armazenada no Prometheus (ou Mimir), Loki, Tempo ou Pyroscope.

Código. Linguagens de consulta como PromQL, LogQL e TraceQL são incrivelmente eficazes. Usuários que possuem expertise nelas conseguem escrever consultas que respondem a perguntas extremamente específicas e complexas sobre a situação dos seus sistemas. Porém, pode ser difícil dar o primeiro passo, já que, nesse caso, a primeira experiência é apenas uma caixa de texto vazia com um cursor piscando.

Pouco código. O modo Construtor fornece uma experiência de programação mais visual. Essa é uma ótima forma de escolher as linguagens de consulta para quem tem pouca experiência e tem curiosidade de aprender. Ele permite que você aponte e clique para encadear várias operações e fornece mecanismos de proteção para ajudar a evitar erros comuns (por exemplo, ele não permite que você aplique uma soma antes de uma taxa!).

Sem código. É aqui que os aplicativos Explore se destacam. Ao abrir essas UIs, você não encontrará nenhuma linguagem de consulta. Em vez disso, você entrará em telas com gráficos já preenchidos. A partir daí, você pode clicar pela tela para adicionar mais critérios de filtragem e formar grupos com base em atributos de interesse.

Você tem total liberdade para escolher qualquer um dos três! Acreditamos que a experiência de início simplificado e sem código dos aplicativos Explore é particularmente interessante para novos usuários. Porém, até mesmo alguns dos nossos desenvolvedores internos mais experientes estão migrando para os aplicativos Explore porque eles consideram que esses aplicativos são uma forma mais rápida de responder a muitas das questões mais frequentes que eles precisam fazer sobre seus sistemas.

Veja mais detalhes dos aplicativos Explore

Fazer com que os desenvolvedores aprendam linguagens de consulta de observabilidade é um dos maiores obstáculos para a adoção da observabilidade. Os desenvolvedores querem os benefícios da observabilidade, mas não querem aprender uma linguagem totalmente nova para isso. São pessoas ocupadas, com muitas outras coisas para fazer (como criar novos recursos!).

Isso também é um grande obstáculo para alternar entre as ferramentas de observabilidade. As equipes de observabilidade podem estar empolgadas com o conjunto de recursos de um novo banco de dados de observabilidade, mas pensar em ter que ensinar a toda a equipe de P&D uma nova linguagem de consulta é algo intimidador.

Com os aplicativos Explore, eliminamos a necessidade de qualquer conhecimento de linguagens de consulta, assim, qualquer pessoa pode começar a usá-los imediatamente e a entender a integridade dos seus sistemas de software e infraestrutura.

Explore Metrics e Explore Logs

Anunciamos o Explore Metrics e Explore Logs no início deste ano. Eles permitem que você navegue pelos dados armazenados no Prometheus ou em qualquer back-end compatível com o Prometheus, como Grafana Mimir (via Explore Metrics) ou Grafana Loki (via Explore Logs), sem precisar escrever nenhuma linha de PromQL ou LogQL.

Temos visto muito interesse e aceitação desde então e, no mês passado, eles foram promovidos ao status de Disponibilidade Geral para todos os nossos modos de implementação: Grafana Cloud, Grafana Enterprise e Grafana open source.

A transição para Disponibilidade Geral veio com algumas atualizações importantes. Por exemplo, melhoramos a seção “Métricas relacionadas” no Explore Metrics, facilitando a filtragem por prefixos comuns em nomes de métricas.

Aba de métricas relacionadas no Explore Metrics

No Explore Logs, adicionamos a capacidade de visualizar automaticamente os atributos armazenados nos metadados estruturados do Loki na aba “Campos”. Isso é útil principalmente para quem usa o registro de OpenTelemetry, já que certos atributos OTel são melhor armazenados como metadados estruturados do que no índice.

Explore Logs UI

Também ajustamos a funcionalidade de detecção de padrões do Explore Logs para exibir rapidamente os padrões mais comuns em suas linhas de registro e permitir que você veja quais mostraram as mudanças mais significativas na frequência de ocorrência.

Aba de padrões no Explore Logs

E continuaremos desenvolvendo novas melhorias nos próximos meses. No Explore Metrics, adicionaremos suporte para histogramas nativos de alta resolução e atualizaremos a experiência para trabalhar com métricas no formato OTel. No Explore Logs, estamos adicionando suporte a streaming de gráficos de volume de registro ao longo do tempo e de painéis de linha de registro, assim, você receberá os resultados com mais rapidez.

Explore Traces e Explore Profiles

Após o sucesso do Explore Metrics e Explorer Logs, estendemos essa mesma experiência a todos os pilares da observabilidade. O Explore Traces e o Explore Profiles agora estão disponíveis para Prévia Pública no Grafana Cloud, Grafana Enterprise e Grafana OSS.

Essas novas opções no pacote de aplicativos Explore trazem a mesma navegação sem consulta para os rastros e perfis, permitindo que os usuários avaliem rapidamente o que está errado. Isso é importante principalmente para esses dois sinais, já que, com base na nossa experiência, o engenheiro médio possui menos familiaridade com esses tipos de sinais em relação a registros e métricas. Como resultado, os usuários se beneficiarão ainda mais com uma UI intuitiva, de “apontar e clicar”, para ajudá-los a começar.

A página inicial do Explore Traces, por exemplo, traz uma visualização familiar que segue o método RED para mostrar a taxa de solicitações, a taxa de erros e a latência em todos os rastros recebidos. A aba “Detalhamento” agrupa esses mesmos volumes por serviço para que você possa ver como eles diferem de serviço para serviço.

Explore Traces UI

Uma das partes mais interessantes do Explore Traces é a aba “Comparação”. Ela permite comparar um conjunto de intervalos de interesse com um conjunto de linha de base por atributo. Você pode analisar rapidamente a página para escolher quais atributos mostram a maior variação entre o conjunto de linha de base e o conjunto da seleção. Esta é uma ferramenta de depuração incrível, já que muitas vezes você precisa responder a perguntas como: “Qual é a diferença entre intervalos lentos e/ou com erros e intervalos normais?”

Confira, por exemplo, a captura de tela abaixo. Neste exemplo, os intervalos de “seleção” são todos os intervalos de erro para o productcatalogservice observados nos últimos cinco minutos, e os intervalos de “linha de base” são todos os intervalos sem erros para esse mesmo serviço durante esse mesmo período.

Aba de comparação no Explore Traces

Em um só lugar, você pode conferir uma comparação dos intervalos de “seleção” e “linha de base” para todos os atributos nesses intervalos, como “product.id”, “instrumentation.version” e “deployment.environment”. E, melhor ainda, os atributos que mostram as maiores diferenças são posicionados na parte superior. Ao olhar para o painel mais à esquerda no nível superior, é possível observar facilmente que todos os intervalos de erro têm o mesmo ID de produto (OLJCESPC72). Essa seria uma informação extremamente útil durante um processo de depuração, pois demonstra que os erros estão localizados em um ID de produto específico, enquanto todos os outros IDs de produto parecem estar se comportando conforme o esperado.

O Explore Profiles traz a mesma IU sem consulta para navegar pelos perfis armazenados no Grafana Pyroscope, nosso banco de dados de rastreamento distribuído de código aberto e altamente escalável. Ainda que os usuários da Grafana Cloud tenham acesso a uma interface de usuário sem consulta desde o lançamento original do Grafana Cloud Profiles em agosto de 2023, fizemos várias melhorias nos últimos meses. Primeiro, reformulamos a página de destino para fornecer uma visão que prioriza o serviço, usando o mesmo design do Explore Logs e Explore Traces.

Explore Profiles UI

A partir daí, facilitamos o detalhamento dos tipos de perfil disponíveis de um determinado serviço (por exemplo, CPU, memória) e rótulos (por exemplo, região, service_version, nomenclatura). Você também pode ir direto para o gráfico de chamas, que você pode usar para fazer interpretações rapidamente com a ajuda da nossa IA de gráfico de chamas.

Página de análise do flame graph

E, por último, disponibilizamos isso para nossa comunidade Pyroscope de código aberto. Dessa forma, agora todos os aplicativos do Explore estão disponíveis em todas as nossas ofertas Cloud, Enterprise e de código aberto.

O que o futuro reserva

Trabalharemos duro nos próximos meses para testar e incorporar seu feedback para deixar o Explore Traces e Explore Profiles prontos ficarem Disponíveis para o Público (GA). Nesse ponto, todos os quatro aplicativos possuirão o status GA.

Mas, para nós, o status GA é só o início da nossa jornada! Sabemos que há muito mais a se fazer para melhorar a experiência de navegação dos seus dados de telemetria e para ajudar a separar o que é ruído e o que é sinal de forma muito mais rápida.

Você tem algum comentário ou ideia que deseja compartilhar para nos ajudar a alcançar nossos objetivos? Entre em contato com a nossa comunidade no Slack ou abra um chamado no GitHub (Explore Metrics, Explore Logs, Explore Traces, Explore Profiles).

O Grafana Cloud é a maneira mais fácil de começar a usar perfis contínuos, métricas, registros, rastreamentos e painéis. Temos um pacote repleto de benefícios que continuará gratuito para sempre, além de planos disponíveis para cada caso de uso. Inscreva-se grátis agora!