diff --git a/content/pt-br/_index.md b/content/pt-br/_index.md new file mode 100644 index 0000000000..f618767c46 --- /dev/null +++ b/content/pt-br/_index.md @@ -0,0 +1,36 @@ ++++ +title = "Workshops de Observabilidade" +hero_title = "Workshops de *Observabilidade*." +description = "Aprenda a criar soluções de observabilidade com a Splunk" +weight = "1" +noautocards = true + +[[cta]] +label = "Ver Rookies" +href = "/splunk4rookies/" +style = "primary" + +[[cta]] +label = "Ver Ninjas" +href = "/ninja-workshops/" +style = "ghost" ++++ + +{{< lead >}} +Tenha visibilidade em tempo real das suas aplicações e da sua infraestrutura com os recursos de monitoramento, análise e resposta do Splunk Observability Cloud. +Estes workshops mostram, na prática, como usar uma plataforma de observabilidade de ponta para ingerir, monitorar, visualizar e analisar métricas, traces e logs. +{{< /lead>}} + +{{< divider >}} + +{{< cards >}} +{{< card title="Recursos" href="/resources/" hero-icon="book-text" >}} +Materiais para ajudar você a aproveitar melhor o Splunk Observability Cloud. +{{< /card >}} +{{< card title="Cenários" href="/scenarios/" hero-icon="rocket" >}} +Workshops guiados para você experimentar, na prática, o valor do Splunk Observability Cloud. +{{< /card >}} +{{< card title="Workshops de Campo sem Suporte Oficial" href="/unsupported-field-workshops/" hero-icon="users" >}} +Workshops criados para ajudar você a extrair mais valor do Splunk Observability Cloud. +{{< /card >}} +{{% /cards %}} diff --git a/content/pt-br/browse/_index.md b/content/pt-br/browse/_index.md new file mode 100644 index 0000000000..c0ba60c622 --- /dev/null +++ b/content/pt-br/browse/_index.md @@ -0,0 +1,10 @@ +--- +title: Ver *Workshops* +linkTitle: Ver Workshops +description: Todos os workshops em um só lugar. +layout: browse +weight: 5 +menu: + main: + weight: 5 +--- diff --git a/content/pt-br/ninja-workshops/_index.md b/content/pt-br/ninja-workshops/_index.md new file mode 100644 index 0000000000..a84daa7808 --- /dev/null +++ b/content/pt-br/ninja-workshops/_index.md @@ -0,0 +1,10 @@ +--- +title: Ninja Workshops +hero_title: Splunk4*Ninjas*. +layout: "hero" +weight: 2 +description: Já se sente confortável com o Splunk Observability Cloud? Vá mais fundo. Estes workshops avançados abordam descoberta automática, troubleshooting com apoio de IA, detalhes internos do OpenTelemetry e processamento de ingestão. +params: + images: + - images/s4n-featured.png +--- diff --git a/content/pt-br/ninja-workshops/images/s4n-featured.png b/content/pt-br/ninja-workshops/images/s4n-featured.png new file mode 100644 index 0000000000..f47e2f3411 Binary files /dev/null and b/content/pt-br/ninja-workshops/images/s4n-featured.png differ diff --git a/content/pt-br/resources/_index.md b/content/pt-br/resources/_index.md new file mode 100644 index 0000000000..1256890690 --- /dev/null +++ b/content/pt-br/resources/_index.md @@ -0,0 +1,6 @@ +--- +title: Recursos +weight: 4 +layout: "hero" +description: Conceitos, convenções e perguntas frequentes para ajudar você a aproveitar melhor o Splunk Observability Cloud. +--- diff --git a/content/pt-br/scenarios/_index.md b/content/pt-br/scenarios/_index.md new file mode 100644 index 0000000000..6bb226759a --- /dev/null +++ b/content/pt-br/scenarios/_index.md @@ -0,0 +1,7 @@ +--- +title: Cenários +weight: 3 +layout: "hero" +hidden: false +description: "Cenários reais que conectam o Splunk Observability Cloud a trabalhos específicos: depurar microsserviços, otimizar monitoramento em nuvem, melhorar a experiência do usuário final e correlacionar eventos de rede." +--- diff --git a/content/pt-br/splunk4rookies/_index.md b/content/pt-br/splunk4rookies/_index.md new file mode 100644 index 0000000000..7966408f87 --- /dev/null +++ b/content/pt-br/splunk4rookies/_index.md @@ -0,0 +1,11 @@ ++++ +title = "Splunk4Rookies" +hero_title = "Splunk4*Rookies*." +weight = "1" +description = "Novo no Splunk Observability Cloud? Comece por aqui. Estes workshops curtos e guiados percorrem a plataforma de ponta a ponta sem presumir experiência anterior." +layout = "hero" +[params] + images = ["images/s4r-featured.png"] ++++ + +{{% children type="card" description="true" image="true" %}} diff --git a/content/pt-br/splunk4rookies/images/s4r-featured.png b/content/pt-br/splunk4rookies/images/s4r-featured.png new file mode 100644 index 0000000000..a22757322b Binary files /dev/null and b/content/pt-br/splunk4rookies/images/s4r-featured.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/1-login/_index.md b/content/pt-br/splunk4rookies/observability-cloud-short/1-login/_index.md new file mode 100644 index 0000000000..6ab67fc804 --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/1-login/_index.md @@ -0,0 +1,24 @@ +--- +title: Login +linkTitle: 1. Login +weight: 1 +archetype: chapter +time: 5 minutos +description: Esta seção ajuda você a entender como usar o Splunk RUM para monitorar o desempenho das suas aplicações pela perspectiva do usuário final. +--- + +Vamos analisar os dados de usuários reais fornecidos pela telemetria recebida das sessões de navegador de todos os participantes do workshop. O objetivo é encontrar uma sessão de navegador, celular ou tablet com baixo desempenho e começar o processo de troubleshooting. + +{{% exercise title="Login" %}} + +* Você deve ter recebido um e-mail da Splunk convidando você para a Workshop Org. Se não encontrar o e-mail, confira as pastas Spam/Lixo eletrônico ou avise o instrutor. +* Para continuar, clique no botão Join Now ou no link fornecido no e-mail. +* Se você já concluiu o processo de cadastro, pode pular o restante e acessar diretamente o Splunk Observability Cloud para fazer login: + * **[https://app.eu0.signalfx.com](https://app.eu0.signalfx.com (EMEA))** + * **[https://app.us1.signalfx.com](https://app.us1.signalfx.com (APAC/AMER))** + +![login](images/login-password.png) + +* Você chegará à página inicial do Splunk Observability Cloud. + +{{% /exercise %}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/1-login/images/login-password.png b/content/pt-br/splunk4rookies/observability-cloud-short/1-login/images/login-password.png new file mode 100644 index 0000000000..1377bde435 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/1-login/images/login-password.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/2-online-boutique/_index.md b/content/pt-br/splunk4rookies/observability-cloud-short/2-online-boutique/_index.md new file mode 100644 index 0000000000..bc504f3ab3 --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/2-online-boutique/_index.md @@ -0,0 +1,44 @@ +--- +title: Vamos às compras 💶 +linkTitle: 2. Compras no Online Boutique +weight: 2 +time: 5 minutos +description: Interaja com a aplicação web Online Boutique para gerar dados no Splunk Observability Cloud. +--- + +{{< presenter title="Timing" >}} +Reserve cerca de 10 minutos para os participantes concluírem esta seção. +{{< /presenter >}} + +{{% notice icon="user" style="orange" title="Persona" %}} + +Você é uma pessoa **profissional urbana e descolada**, querendo comprar seus próximos itens diferentes na famosa loja Online Boutique. Você ouviu dizer que a Online Boutique é o lugar certo para todas as suas necessidades hipster. + +{{% /notice %}} + +{{% exercise title="Terapia de varejo" %}} + +* A aplicação já está implantada. O instrutor vai fornecer um link para o site Online Boutique (por exemplo, `http://.show:81/`). As portas 80 e 443 também estão disponíveis se a porta 81 não estiver acessível. +* Navegue pelo Online Boutique, adicione alguns itens ao carrinho e conclua uma compra. +* Repita isso pelo menos 3 a 5 vezes para expor os problemas de desempenho criados de propósito na aplicação. + +{{< tabs >}} +{{% tab title="Pergunta" %}} + +**Todo o processo de checkout deveria levar apenas milissegundos. Você notou algo no processo de checkout?** + +{{% /tab %}} +{{% tab title="Resposta" %}} + +**Às vezes fica lento!** 🐌 + +{{% /tab %}} +{{< /tabs >}} + +* Quando o processo de checkout fica lento, ele cria uma experiência frustrante para o usuário. Como isso impacta diretamente a satisfação do cliente, devemos priorizar a investigação e a correção do problema. + +{{% image src="images/shop.png" align="center" %}} + +{{% /exercise %}} + +Vamos para a próxima página, onde começaremos a usar o Splunk Observability Cloud e veremos como os dados aparecem no **Splunk Real User Monitoring (RUM)**. diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/2-online-boutique/images/shop.png b/content/pt-br/splunk4rookies/observability-cloud-short/2-online-boutique/images/shop.png new file mode 100644 index 0000000000..5c2d3f6665 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/2-online-boutique/images/shop.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/1-rum-overview.md b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/1-rum-overview.md new file mode 100644 index 0000000000..db9a2c5ded --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/1-rum-overview.md @@ -0,0 +1,27 @@ +--- +title: Visão geral do RUM +linkTitle: 1. Visão geral do RUM +weight: 1 +time: 5 minutos +--- + +{{% exercise title="Filtrar para sua loja" %}} + +* No Splunk Observability Cloud, no menu principal, passe o mouse sobre **Digital Experience** e clique em **Overview** **(1)** na seção **Real User Monitoring**, como mostrado abaixo. + +![RUM](../images/rum-de.png) + +* Isso abrirá o **Application Summary Dashboard**. Esta seção mostra uma visão rápida de **todas** as aplicações monitoradas. + +* O dashboard Real User Monitoring (RUM) Overview no Splunk Observability Cloud oferece visibilidade sobre como usuários reais experimentam suas aplicações web. Ele captura métricas de desempenho do navegador, erros de JavaScript e falhas em requisições de rede conforme ocorrem em sessões reais de usuários. O dashboard destaca Core Web Vitals (LCP, INP, CLS) para medir o desempenho de carregamento das páginas, exibe tendências de erro ao longo do tempo e mostra alertas recentes, dando às equipes de front-end os insights necessários para identificar e corrigir problemas que afetam a experiência do usuário final. + +* Para garantir que estamos vendo os dados corretos, confira as seguintes configurações **(2)**: + * O **Time frame** está definido como **-15m**. + * O **Environment** selecionado é **[NAME OF WORKSHOP]-workshop**. + * O **App** selecionado é **[NAME OF WORKSHOP]-store**. + * O **Source** está definido como **Browser**. +* Em seguida, clique em **[NAME OF WORKSHOP]-store** **(3)** acima do gráfico **Page Views / JavaScript Errors**. + +![main page](../images/rum-dashboard.png) + +{{% /exercise %}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/2-rum-app-view.md b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/2-rum-app-view.md new file mode 100644 index 0000000000..a5d708638d --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/2-rum-app-view.md @@ -0,0 +1,44 @@ +--- +title: 2. Visualização da aplicação +weight: 2 +--- + +{{% exercise title="Explorar o dashboard de RUM" %}} + +* Agora você verá uma visualização de dashboard que detalha as métricas por **UX Metrics**, **Front-end Health**, **Back-end Health**, **Custom Events**, **Network Requests**, **Pages** e uma **Map View**, comparando tudo com métricas históricas (1 hora por padrão). + +![RUM Dashboard](../images/rum-metric-map-charts.png) + +* As abas disponíveis nesta página incluem: + * **UX Metrics** Métricas de Page Views, Page Load e Web Vitals + * **Front-end Health** Detalhamento de JavaScript Errors e duração/contagem de Long Tasks + * **Back-end Health** Network Errors, Requests e Time to First Byte + * **Custom Events** Métricas RED (Rate, Error e Duration) para eventos customizados + * **Network Requests** Agrupamento de URLs de rede e métricas principais + * **Pages** Agrupamento de URLs, métricas principais e Web Vitals + * **Map View** Requisições geográficas por localização + +* Clique em cada uma das abas e examine os dados. + +{{< tabs >}} +{{% tab title="Perguntas" %}} + +1. Ao examinar os gráficos na aba **Custom Events**, qual gráfico mostra claramente os picos de latência? +2. Na aba **Map View**, de onde vem o maior volume de requisições? + +{{% /tab %}} +{{% tab title="Respostas" %}} + +1. **Custom Event Latency P75** +2. **Ireland** + +{{% /tab %}} +{{< /tabs >}} + +* Garanta que você esteja na aba **Custom Events**. +* Para identificar sessões de usuário problemáticas, vamos usar os picos de latência no gráfico **Custom Event Latency P75**. +* No gráfico **Custom Event Latency**, clique no link **see all** **(1)** abaixo do título do gráfico. + +![RUM See All](../images/rum-see-all.png) + +{{% /exercise %}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/3-tag-spotlight.md b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/3-tag-spotlight.md new file mode 100644 index 0000000000..d544cad63d --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/3-tag-spotlight.md @@ -0,0 +1,22 @@ +--- +title: 3. Tag Spotlight +weight: 3 +--- + +{{% exercise title="Filtrar para sessões PlaceOrder lentas" %}} + +* Este dashboard exibe todas as tags associadas aos dados de RUM, pares chave-valor gerados automaticamente pela instrumentação de RUM. Tags são usadas para filtrar dados e criar gráficos e tabelas. A visualização Tag Spotlight permite aprofundar a análise em sessões individuais de usuários. + +![RUM Tag Spotlight](../images/rum-tag-spotlight.png) + +* Altere o período para **Last 1 hour** **(1)**. + +* Encontre o gráfico **Operation**, localize **PlaceOrder** na lista, clique nele e selecione **Add to filter** **(2)**. +* Clique na aba **User Sessions** **(3)**. +* Clique duas vezes no cabeçalho **Duration** para ordenar as sessões por duração (as mais longas no topo) **(4)**. + +* Agora temos uma tabela de User Sessions ordenada pela maior duração (decrescente), mostrando usuários que estiveram comprando no site. Poderíamos aplicar mais filtros para refinar ainda mais os dados, por exemplo versão do sistema operacional, versão do navegador etc. + +![RUM Tag Spotlight](../images/rum-user-sessions.png) + +{{% /exercise %}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/4-user-sessions.md b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/4-user-sessions.md new file mode 100644 index 0000000000..d826950372 --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/4-user-sessions.md @@ -0,0 +1,25 @@ +--- +title: 4. User Sessions +weight: 4 +--- + +Uma **User Session** no RUM representa a interação completa de um único usuário com sua aplicação web, desde o momento em que ele chega até sair ou ficar inativo. Cada sessão captura uma linha do tempo com todas as visualizações de página, interações do usuário (cliques, rolagens, envios de formulário), requisições de rede, erros e métricas de desempenho. + +As sessões são identificadas por um Session ID único e incluem metadados como tipo de navegador, dispositivo, localização geográfica e tags customizadas. Isso permite reproduzir e analisar a experiência exata de um usuário específico, o que é muito valioso para troubleshooting, entendimento do comportamento do usuário e identificação de gargalos de desempenho. + +{{% exercise title="Investigar a sessão mais longa" %}} + +* Na tabela **User Sessions**, clique no **Session ID** com a maior **Duration** (mais de 15 segundos ou mais). Isso levará você para a visualização RUM Session. +* Observe a duração do span **PlaceOrder**. Esse é o tempo que levou para concluir o pedido. Nada bom! + +![RUM Session](../images/rum-waterfall-place-order.png) + +* Procure pelo **Fetch** **(1)**, que estará acima ou abaixo do span **PlaceOrder**. + * Ele será parecido com `POST https://labob...y.com/cart/checkout`. +* Passe o mouse sobre o **APM** azul **(2)**. Depois de alguns segundos, um pop-up aparecerá. +* Você verá que **paymentservice** e **checkoutservice** estão em estado de erro, como na captura de tela acima. +* Em **Workflow Name**, clique em `front-end:/cart/checkout` **(3)**. Isso abrirá o **APM Service Map**. Aqui vamos investigar os serviços de back-end e suas dependências para identificar a causa raiz do problema. + +![RUM Session](../images/rum-waterfall.png) + +{{% /exercise %}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/5-rum-to-apm.md b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/5-rum-to-apm.md new file mode 100644 index 0000000000..a66efe9ccf --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/5-rum-to-apm.md @@ -0,0 +1,18 @@ +--- +title: 5. RUM para APM +weight: 5 +--- + +{{% exercise title="Localizar o serviço com falha" %}} + +* No **APM Service Map**, você consegue ver claramente que há um problema com o `paymentservice`. + +![RUM to APM](../images/rum-to-apm.png) + +{{% /exercise %}} + +Agora navegamos com sucesso de **RUM** para **APM**, obtendo uma visão de ponta a ponta da experiência do usuário. Essa integração permite rastrear problemas de desempenho desde o front-end até os serviços de back-end, tornando o troubleshooting e a otimização mais eficazes. + +As métricas de RUM inicialmente apontaram o Checkout Service como a origem do problema. Sem **APM**, as equipes poderiam perder tempo investigando esse serviço sem necessidade. Com **APM**, porém, conseguimos identificar rapidamente que a causa raiz está no `paymentservice`, economizando tempo e reduzindo significativamente o MTTx. + +Vamos pedir aos nossos amigos de desenvolvimento back-end que continuem a investigação. diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/_index.md b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/_index.md new file mode 100644 index 0000000000..c347a7ba8e --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/_index.md @@ -0,0 +1,27 @@ +--- +title: Digital Experience (RUM) +linkTitle: 3. Digital Experience (RUM) +weight: 3 +archetype: chapter +time: 15 minutos +description: Esta seção ajuda você a entender como usar o Splunk RUM para monitorar o desempenho das suas aplicações pela perspectiva do usuário final. +--- + +{{% notice icon="user" style="orange" title="Persona" %}} + +Você é uma pessoa **engenheira de front-end**, ou uma pessoa **SRE** responsável pela primeira triagem de um problema de desempenho. Pediram que você investigue um possível problema de satisfação do cliente na aplicação Online Boutique. + +{{% /notice %}} + +>[!IMPORTANT] +> Vamos analisar os dados de *Real User Monitoring* (**RUM**) gerados por você e pelos demais participantes enquanto usam o Online Boutique. O objetivo é encontrar uma sessão de navegador, celular ou tablet com baixo desempenho e começar o processo de troubleshooting. + +{{< webex chat="Bill Grant" date="Hoje • 28/01/2026" seenby="PH" >}} +{{< webex-msg from="BG" name="Bill Grant" time="09:42" >}} +Oi! Estamos recebendo relatos de um possível problema de satisfação do cliente com a aplicação Online Boutique. Você pode fazer a primeira triagem e ver o que está acontecendo? +{{< /webex-msg >}} + +{{< webex-msg me=true time="09:43" >}} +Claro, vou começar verificando o RUM no Splunk Observability para entender o que os usuários estão experimentando. 👍 +{{< /webex-msg >}} +{{< /webex >}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/messages.png b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/messages.png new file mode 100644 index 0000000000..aa57c0d632 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/messages.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-dashboard.png b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-dashboard.png new file mode 100644 index 0000000000..35b229ea4e Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-dashboard.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-de.png b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-de.png new file mode 100644 index 0000000000..b9e6404031 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-de.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-metric-map-charts.png b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-metric-map-charts.png new file mode 100644 index 0000000000..837db5b06e Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-metric-map-charts.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-see-all.png b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-see-all.png new file mode 100644 index 0000000000..c009beb111 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-see-all.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-tag-spotlight.png b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-tag-spotlight.png new file mode 100644 index 0000000000..18321ed5b7 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-tag-spotlight.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-to-apm.png b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-to-apm.png new file mode 100644 index 0000000000..38ec31551f Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-to-apm.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-user-sessions.png b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-user-sessions.png new file mode 100644 index 0000000000..8461a1920c Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-user-sessions.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-waterfall-place-order.png b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-waterfall-place-order.png new file mode 100644 index 0000000000..2300435512 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-waterfall-place-order.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-waterfall.png b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-waterfall.png new file mode 100644 index 0000000000..dada479e09 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/3-rum/images/rum-waterfall.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/1-apm-service-map.md b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/1-apm-service-map.md new file mode 100644 index 0000000000..2c27a84bdd --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/1-apm-service-map.md @@ -0,0 +1,30 @@ +--- +title: 1. APM Service Map +weight: 1 +--- + +O APM Service Map exibe as dependências e conexões entre seus serviços instrumentados e inferidos em APM. O mapa é gerado dinamicamente com base nas suas seleções de intervalo de tempo, ambiente, transação de negócio, serviço e filtros de tags. + +Quando clicamos no link de APM no waterfall de RUM, filtros foram adicionados automaticamente à visualização do service map para mostrar os serviços envolvidos naquela **Transaction** (`frontend:/cart/checkout`). + +Você pode ver os serviços envolvidos no workflow no **Service Map**. No painel lateral, são exibidos gráficos para a transação selecionada. Quando você seleciona um serviço no **Service Map**, os gráficos no painel lateral são atualizados para mostrar métricas do serviço selecionado. + +{{% exercise title="Inspecionar paymentservice no mapa" %}} + +* Clique no **paymentservice** no Service Map para selecioná-lo. + +![APM Explore](../images/apm-business-workflow.png) + +{{< tabs >}} +{{% tab title="Pergunta" %}} +**Com o `paymentservice` selecionado, o que você pode concluir a partir do gráfico Service Requests & Errors no painel lateral?** **(1)** +{{% /tab %}} +{{% tab title="Resposta" %}} +**O percentual de Errors está muito alto.** +{{% /tab %}} +{{< /tabs >}} + +* O Splunk APM também oferece **Service Centric Views** integradas para ajudar você a ver problemas em tempo real e determinar rapidamente se o problema está associado a um serviço, um endpoint específico ou à infraestrutura subjacente. Vamos olhar mais de perto. +* No painel à direita, clique em **paymentservice** em azul **(2)**. + +{{% /exercise %}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/2-apm-service-view.md b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/2-apm-service-view.md new file mode 100644 index 0000000000..e49c71530b --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/2-apm-service-view.md @@ -0,0 +1,21 @@ +--- +title: 2. APM Service View +weight: 2 +--- +{{% notice title="Service View" style="info" %}} + +Como responsável por um serviço, você pode usar a service view no Splunk APM para obter uma visão completa da saúde do seu serviço em um único painel. A service view inclui um indicador em nível de serviço (SLI) para disponibilidade, dependências, métricas de request, error e duration (RED), métricas de runtime, métricas de infraestrutura, Tag Spotlight, endpoints e logs para um serviço selecionado. Você também pode navegar rapidamente para code profiling e memory profiling do seu serviço a partir da service view. + +{{% /notice %}} + +{{% exercise title="Ampliar o período para expor erros" %}} + +* Confira a caixa **Time**. Você pode ver que os dashboards mostram apenas dados relevantes ao tempo que o trace de APM selecionado anteriormente levou para concluir (observe que os gráficos são estáticos). +* Na caixa **Time**, altere o período para **-1h** **(1)**. + +![Service Dashboard](../images/apm-service-dashboard.png) + +* Você consegue ver claramente que a **Success rate** não é 100%, porque temos erros em nosso serviço. +* Precisamos entender se existe um padrão nessa taxa de erro. Temos uma ferramenta prática para isso: clique na aba **Tag Spotlight** **(2)**. + +{{% /exercise %}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/3-apm-tag-spotlight.md b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/3-apm-tag-spotlight.md new file mode 100644 index 0000000000..e6acfda128 --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/3-apm-tag-spotlight.md @@ -0,0 +1,26 @@ +--- +title: 3. APM Tag Spotlight +weight: 3 +--- + +{{% exercise title="Encontrar a versão ruim no Tag Spotlight" %}} + +* Ao entrar em **Tag Spotlight**, garanta que o toggle **Show tags with no values** esteja desligado. + +![APM Tag Spotlight](../images/apm-tag-spotlight.png) + +* Esta visualização exibe uma série de cards, cada um representando uma tag indexada (como Endpoint, Environment, Version ou tags customizadas como tenant.level). Dentro de cada card, você vê a distribuição dos valores da tag junto com métricas principais, incluindo contagem de requisições, contagem de erros, erros de causa raiz e percentis de latência (P50, P90, P99). + +{{< tabs >}} +{{% tab title="Pergunta" %}} +**Qual card expõe a tag que identifica qual é o problema?** +{{% /tab %}} +{{% tab title="Resposta" %}} +**O card *version*. O número de requisições contra `v350.10` corresponde ao número de erros, ou seja, 100%.** +{{% /tab %}} +{{< /tabs >}} + +* Agora que identificamos a tag que indica o problema, vamos ver se conseguimos encontrar mais informações sobre o erro. +* Clique no link **APM** acima de **paymentservice** no topo da página para voltar para o **APM Overview**. +* Em **APM Overview**, clique em **Service Map** no painel à direita. +{{% /exercise %}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/4-apm-service-breakdown.md b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/4-apm-service-breakdown.md new file mode 100644 index 0000000000..6524f13feb --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/4-apm-service-breakdown.md @@ -0,0 +1,28 @@ +--- +title: 4. APM Service Breakdown +weight: 4 +--- + +{{% exercise title="Detalhar o serviço por versão" %}} + +* Selecione o **paymentservice** no Service Map. +* No painel à direita, clique em {{% button style="grey" %}}Breakdown{{% /button %}}. +* Selecione `version` na lista. +{{< tabs >}} +{{% tab title="Pergunta" %}} +**O que você pode concluir a partir do que está vendo?** +{{% /tab %}} +{{% tab title="Resposta" %}} +**Não há erros para `v350.9`, mas `v350.10` claramente tem um problema.** +{{% /tab %}} +{{< /tabs >}} + +![APM Service Breakdown](../images/apm-service-breakdown.png) + +{{% notice title="Span Tags" style="info" %}} +Usar span tags para detalhar serviços é um recurso muito poderoso. Ele permite ver como seus serviços se comportam para diferentes clientes, versões, regiões etc. Neste exercício, determinamos que a versão `v350.10` do **paymentservice** está causando problemas. +{{% /notice %}} + +* Agora precisamos aprofundar em um trace para ver o que está acontecendo. Clique no círculo vermelho de `v350.10` **(1)** no **paymentservice** e depois clique na aba **Traces** **(2)** no painel à direita. + +{{% /exercise %}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/5-apm-trace-analyzer.md b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/5-apm-trace-analyzer.md new file mode 100644 index 0000000000..3d95a72780 --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/5-apm-trace-analyzer.md @@ -0,0 +1,29 @@ +--- +title: 5. APM Trace Analyzer +weight: 5 +--- + +Chegamos ao **Trace Analyzer**. + +O **Trace Analyzer** é uma ferramenta poderosa do Splunk APM para explorar e analisar traces distribuídos em escala. Como o Splunk APM captura todos os traces com fidelidade completa (NoSample), você tem visibilidade total de todas as transações que passam pelos seus serviços. + +O Trace Analyzer permite: + +* **Pesquisar com tags de alta cardinalidade**: filtre traces usando qualquer span tag indexada, como IDs de cliente, IDs de pedido ou atributos customizados de negócio. +* **Visualizar padrões de trace**: veja contagens de traces e erros ao longo do tempo para identificar tendências e anomalias. +* **Analisar a distribuição de latência**: use a visualização de heatmap para entender padrões de duração dos traces e localizar outliers. +* **Aprofundar em traces específicos**: encontre rapidamente o trace exato de que você precisa, seja para investigar uma reclamação de cliente ou depurar uma transação específica. + +Isso torna o Trace Analyzer ideal para investigar problemas desconhecidos, pesquisar transações específicas e fazer análise de causa raiz quando você precisa encontrar uma agulha no palheiro. + +{{% exercise title="Encontrar um trace de checkout com falha" %}} + +![APM Trace Analyzer](../images/apm-trace-analyzer.png) + +* Encontre um trace com: + * um erro no **checkoutservice** e no **paymentservice** **(1)** + * e uma **Initiating Operation** de `frontend: POST /cart/checkout` + * então selecione o **Trace ID** azul **(2)** para continuar +* Isso abrirá o **Trace Waterfall** desse trace específico. + +{{% /exercise %}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/6-apm-waterfall.md b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/6-apm-waterfall.md new file mode 100644 index 0000000000..496125f05e --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/6-apm-waterfall.md @@ -0,0 +1,27 @@ +--- +title: 6. APM Waterfall +weight: 6 +--- + +A visualização **Trace Waterfall** mostra todos os spans de um trace como uma linha do tempo hierárquica. Cada span aparece como uma barra horizontal, em que o comprimento da barra representa sua duração e sua posição mostra quando ele ocorreu em relação aos outros spans. + +Um trace é uma coleção de spans que compartilham o mesmo trace ID, representando uma transação única processada pela sua aplicação e pelos serviços que a compõem. + +Um span representa uma única unidade de trabalho dentro de um trace, capturando informações sobre uma operação específica, como uma chamada de API, consulta a banco de dados ou requisição de serviço. Cada span inclui metadados como nome da operação, horário de início, duração e tags ou atributos associados que fornecem contexto sobre o trabalho executado. + +{{% exercise title="Abrir o span com falha" %}} + +* Clique no {{% button style="red" %}}!{{% /button %}} ao lado de qualquer um dos spans `paymentservice:grpc.hipstershop.PaymentService/Charge` no waterfall. + +![Trace Waterfall](../images/apm-trace-waterfall.png) + +{{< tabs >}} +{{% tab title="Pergunta" %}} +**Qual mensagem de erro e qual versão são reportadas em Span Details?** +{{% /tab %}} +{{% tab title="Resposta" %}} +**`Invalid request` e `v350.10`**. +{{% /tab %}} +{{< /tabs >}} + +{{% /exercise %}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/7-apm-to-logs.md b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/7-apm-to-logs.md new file mode 100644 index 0000000000..601514d876 --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/7-apm-to-logs.md @@ -0,0 +1,25 @@ +--- +title: 7. APM para Logs +weight: 7 +--- + +{{% exercise title="Ir de APM para Related Logs" %}} + +Agora que identificamos a versão do **paymentservice** que está causando o problema, vamos ver se conseguimos encontrar mais informações sobre o erro. É aqui que entram os **Related Logs**. + +Related Content depende de metadados específicos que permitem que APM, Infrastructure Monitoring e Log Observer passem filtros entre áreas do Observability Cloud. Para que logs relacionados funcionem, você precisa ter os seguintes metadados nos seus logs: + +* `service.name` +* `deployment.environment` +* `host.name` +* `trace_id` +* `span_id` + +* Bem no final do **Trace Waterfall**, clique em **Logs**. Isso destaca que existem **Related Logs** para este trace. +* Clique na entrada **Logs for trace xxx** no pop-up. Isso abrirá os logs do trace completo em **Logs**. + +![Related Logs](../images/apm-related-logs.png) + +* Agora vamos descobrir mais sobre o erro nos logs. + +{{% /exercise %}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/_index.md b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/_index.md new file mode 100644 index 0000000000..146bcd8ad9 --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/_index.md @@ -0,0 +1,31 @@ +--- +title: Application Performance Monitoring (APM) +linkTitle: 4. APM +weight: 4 +archetype: chapter +time: 20 minutos +description: Nesta seção, usaremos APM para aprofundar a investigação e identificar onde está o problema. +--- + +{{% notice icon="user" style="orange" title="Persona" %}} + +Você é uma pessoa **desenvolvedora back-end** e foi chamada para ajudar a investigar um problema encontrado pela pessoa SRE. A SRE identificou uma experiência ruim para o usuário e pediu que você investigue o problema. + +{{% /notice %}} + +> [!IMPORTANT] +> RUM é a visão do lado do cliente; APM é a visão do lado do servidor. Seguir um trace de RUM até o trace correspondente em APM mostra visibilidade de ponta a ponta na prática - e é assim que vamos aprofundar a investigação até o problema no back-end. + +{{< webex chat="Pieter Hagen" date="Hoje • 28/01/2026" seenby="RC" >}} +{{< webex-msg from="PH" name="Pieter Hagen" time="09:42" color="#571bc0" >}} +Oi Robert, fiz a triagem de um problema de satisfação do cliente no Online Boutique. O RUM mostra tempos ruins de carregamento de página. Segui uma sessão de usuário até o backend usando Related Content - a latência está vindo do **paymentservice**. +{{< /webex-msg >}} + +{{< webex-msg from="PH" name="Pieter Hagen" time="09:43" color="#571bc0" >}} +Você consegue investigar o back-end e encontrar a causa raiz? Vou te enviar um link para o trace. +{{< /webex-msg >}} + +{{< webex-msg me=true time="09:43" >}} +Estou nisso. Vou verificar o APM e o service map. 👍 +{{< /webex-msg >}} +{{< /webex >}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-business-workflow.png b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-business-workflow.png new file mode 100644 index 0000000000..4245ea895a Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-business-workflow.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-related-logs.png b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-related-logs.png new file mode 100644 index 0000000000..6eafcaab6e Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-related-logs.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-service-breakdown.png b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-service-breakdown.png new file mode 100644 index 0000000000..d0cee23512 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-service-breakdown.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-service-dashboard.png b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-service-dashboard.png new file mode 100644 index 0000000000..0a7541526a Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-service-dashboard.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-tag-spotlight.png b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-tag-spotlight.png new file mode 100644 index 0000000000..fc45834de2 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-tag-spotlight.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-trace-analyzer.png b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-trace-analyzer.png new file mode 100644 index 0000000000..b9d4bbd755 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-trace-analyzer.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-trace-waterfall.png b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-trace-waterfall.png new file mode 100644 index 0000000000..ba83a29a3e Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/apm-trace-waterfall.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/messages.png b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/messages.png new file mode 100644 index 0000000000..841ccc5df1 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/4-apm/images/messages.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/1-introduction.md b/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/1-introduction.md new file mode 100644 index 0000000000..77ce1f2aac --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/1-introduction.md @@ -0,0 +1,25 @@ +--- +title: 1. Introdução a Logs +weight: 1 +--- + +Agora você navegou diretamente de um trace de **APM** para **Logs** usando o link de **Related Content**. **Logs** é a interface no-code do Splunk Observability Cloud para explorar e analisar dados de logs. + +A principal vantagem, assim como na integração entre **RUM** e **APM**, é que você está vendo seus logs no contexto das ações anteriores. Neste caso, esse contexto inclui o intervalo de tempo correspondente **(1)** do trace e um filtro **(2)** aplicado automaticamente ao `trace_id`. + +![Trace Logs](../images/log-observer-trace-logs.png) + +Esta visualização incluirá **todas** as linhas de log de **todos** os serviços que participaram da transação de back-end iniciada pela interação do usuário final com o Online Boutique. + +Mesmo em uma aplicação pequena como a nossa Online Boutique, a quantidade de logs encontrados pode dificultar a visualização das linhas específicas que realmente importam para o incidente que estamos investigando. + +Antes de avançar, vamos recapitular rapidamente o que fizemos até aqui e por que estamos aqui, com base nos 3 pilares da Observabilidade: + +| Métricas | Traces | Logs | +| :-------: | :------: | :----: | +| _**Tenho um problema?**_ | _**Onde está o problema?**_ | _**Qual é o problema?**_ | + +* Usando métricas de **RUM**, identificamos que **temos um problema** em nossa aplicação. Isso ficou claro pelas métricas de duração das sessões de usuário. +* Usando traces e span tags, descobrimos **onde está o problema**. O **paymentservice** tem duas versões, `v350.9` e `v350.10`, e a taxa de erro era **100%** para `v350.10`. +* Vimos que esse erro do **paymentservice** `v350.10` causou múltiplas tentativas e um atraso longo na resposta do checkout do Online Boutique. +* A partir do trace, usando o poder do **Related Content**, chegamos às entradas de log da versão com falha do **paymentservice**. Agora podemos determinar **qual é o problema**. diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/2-log-filtering.md b/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/2-log-filtering.md new file mode 100644 index 0000000000..34cc1c5fe2 --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/2-log-filtering.md @@ -0,0 +1,20 @@ +--- +title: 2. Filtro de Logs +weight: 2 +--- + +{{% exercise title="Filtrar para logs de erro" %}} + +* Precisamos focar apenas nas mensagens de Error nos logs: +* Clique no menu suspenso **Group By** **(1)** e use o filtro para encontrar **severity**. +* Depois de selecionar, clique no botão {{% button style="blue" %}}Apply{{% /button %}} (observe que a legenda do gráfico muda para mostrar debug, error e info). + +![legend](../images/severity-logs.png) + +* Para selecionar apenas os logs de erro, clique na palavra error **(2)** na legenda e selecione **Add to filter**. Em seguida, clique em {{% button style="blue" %}}Run Search{{% /button %}} no topo da página. + +![Error Logs](../images/log-observer-errors.png) + +{{% /exercise %}} + +Em seguida, veremos as entradas de log em detalhe. diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/3-log-entry.md b/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/3-log-entry.md new file mode 100644 index 0000000000..e0b8e92364 --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/3-log-entry.md @@ -0,0 +1,31 @@ +--- +title: 3. Visualizar entradas de log +weight: 3 +--- + +{{% exercise title="Abrir um log de erro" %}} + +* Clique em uma entrada de erro na tabela de logs (garanta que ela diga `hostname: "paymentservice-xxxx"`, caso também apareça algum erro raro de outro serviço na lista). +{{< tabs >}} +{{% tab title="Pergunta" %}} +**Com base na mensagem, o que você diria à equipe de desenvolvimento para fazer e resolver o problema?** +{{% /tab %}} +{{% tab title="Resposta" %}} +**A equipe de desenvolvimento precisa reconstruir e implantar o container com um API Token válido ou fazer rollback para `v350.9`**. +{{% /tab %}} +{{< /tabs >}} + + ![Log Message](../images/log-observer-log-message.png) +* Clique no **X** no painel da mensagem de log para fechá-lo. + +{{% /exercise %}} + +{{% notice style="blue" title="Parabéns" icon="wine-bottle" %}} + +Você usou o Splunk Observability Cloud com **sucesso** para entender por que teve uma experiência ruim ao comprar no Online Boutique. Você usou RUM, APM e logs para entender o que aconteceu no seu conjunto de serviços e, em seguida, encontrou a causa subjacente, tudo com base nos 3 pilares da Observabilidade: **métricas**, **traces** e **logs**. + +Você também aprendeu a usar a **marcação e análise inteligentes** da Splunk com **Tag Spotlight** para detectar padrões no comportamento das suas aplicações, além do poder de **correlação full stack** do **Related Content** para mover rapidamente entre diferentes componentes mantendo o contexto do problema. + +{{% /notice %}} + +Na próxima parte do workshop, vamos sair do **modo de descoberta de problemas** e entrar nos modos de **mitigação**, **prevenção** e **melhoria de processo**. diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/_index.md b/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/_index.md new file mode 100644 index 0000000000..523d7d5764 --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/_index.md @@ -0,0 +1,26 @@ +--- +title: Logs +linkTitle: 5. Logs +weight: 5 +archetype: chapter +time: 20 minutos +description: Nesta seção, usaremos Log Observer para aprofundar a investigação e identificar qual é o problema. +--- + +{{% notice icon="user" style="orange" title="Persona" %}} + +Permanecendo no papel de **desenvolvedor back-end**, você precisa inspecionar os logs da aplicação para determinar a causa raiz do problema. + +{{% /notice %}} + +> [!IMPORTANT] +> Usando o conteúdo relacionado ao trace de **APM** (logs), agora vamos usar **Logs** para aprofundar a investigação e entender exatamente qual é o problema. Related Content é um recurso poderoso que permite saltar de um componente para outro e está disponível para **métricas**, **traces** e **logs**. + +{{< webex chat="Robert Castley" date="Hoje • 28/01/2026" seenby="PH" >}} +{{< webex-msg from="RC" name="Robert Castley" time="09:42" color="#ef950d" >}} +Verifiquei o APM e confirmei que o problema está no paymentservice. Há um pico significativo de latência nos traces. +{{< /webex-msg >}} +{{< webex-msg from="RC" name="Robert Castley" time="09:43" color="#ef950d">}} +Vou usar Related Content para ir aos logs e ver se encontro erros ou anomalias que expliquem esse pico de latência. +{{< /webex-msg >}} +{{< /webex >}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/images/log-observer-errors.png b/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/images/log-observer-errors.png new file mode 100644 index 0000000000..ac692e6776 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/images/log-observer-errors.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/images/log-observer-log-message.png b/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/images/log-observer-log-message.png new file mode 100644 index 0000000000..fb94d72988 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/images/log-observer-log-message.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/images/log-observer-trace-logs.png b/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/images/log-observer-trace-logs.png new file mode 100644 index 0000000000..e5c2b83ea5 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/images/log-observer-trace-logs.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/images/messages.png b/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/images/messages.png new file mode 100644 index 0000000000..92a57cf292 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/images/messages.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/images/severity-logs.png b/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/images/severity-logs.png new file mode 100644 index 0000000000..af8ff4c89f Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/5-logs/images/severity-logs.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/1-synthetics-dashboard.md b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/1-synthetics-dashboard.md new file mode 100644 index 0000000000..d1529d0623 --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/1-synthetics-dashboard.md @@ -0,0 +1,23 @@ +--- +title: 1. Dashboard de Synthetics +weight: 1 +--- + +{{% exercise title="Encontrar uma execução com falha em Synthetics" %}} + +* No Splunk Observability Cloud, no menu principal, clique em **Digital Experience → Synthetics tests**. Clique em **All** ou **Browser tests** para ver a lista de testes ativos. + +* Durante nossa investigação na seção de RUM, encontramos um problema com a Transaction **Place Order**. Vamos ver se também conseguimos confirmar isso pelo teste de Synthetics. + +--- + +* Na caixa **Search**, digite **[NAME OF WORKSHOP]** para filtrar os testes deste workshop. +* Selecione o teste. +* Clique em **Go to all run results**. +* Altere **All** para **Failure** **(1)**. + + ![Transaction Filter](../images/failed-run-results.png) + +* Clique em um dos resultados com falha. + +{{% /exercise %}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/2-synthetics-detail.md b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/2-synthetics-detail.md new file mode 100644 index 0000000000..7722666919 --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/2-synthetics-detail.md @@ -0,0 +1,18 @@ +--- +title: 2. Detalhe do teste de Synthetics +weight: 2 +--- + +{{% exercise title="Inspecionar o playback do teste" %}} + +* Agora estamos olhando para o resultado de um único Synthetic Browser Test. + +![waterfall](../images/synth-waterfall.png) + +* Por padrão, Splunk Synthetics fornece capturas de tela e gravação em vídeo do teste. Isso é útil para depurar problemas. Você pode ver, por exemplo, o carregamento lento de imagens grandes, a renderização lenta de uma página etc. + +* Use o mouse para rolar para a esquerda e para a direita pela filmstrip e ver como o site estava sendo renderizado durante a execução do teste. +* No painel Video, pressione o botão de play **▶** **(1)** para ver o playback do teste. +* Usando o filtro acima da filmstrip, abaixo do cabeçalho **Filter by a synthetic transaction, page, or step** **(2)**, clique em **Place Order** em **Synthetic transactions**. + +{{% /exercise %}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/3-synthetics-to-apm.md b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/3-synthetics-to-apm.md new file mode 100644 index 0000000000..43ce9007e4 --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/3-synthetics-to-apm.md @@ -0,0 +1,22 @@ +--- +title: 3. Synthetics para APM +weight: 3 +--- + +{{% exercise title="Ir de Synthetics para APM" %}} + +* No waterfall, encontre uma entrada que começa com **POST checkout**. Se você não vir essa entrada, volte e selecione outro resultado com falha na página **Run results**. + +![Place Order](../images/run-results-place-order.png) + +* Clique em **>** **(1)** para abrir a seção de metadados. Observe os metadados coletados e repare no header **server-timing** em **Response Headers**. Esse header é o que nos permite correlacionar a execução do teste com um trace de back-end. +* Clique no link azul {{% icon icon="link" %}} **APM** **(2)** na linha **POST checkout** do waterfall. + +![APM trace](../images/apm-trace.png) + +* Valide que você vê um ou mais erros para o **paymentservice** **(1)**. +* Para validar que é o mesmo erro, clique no related content de **Logs** **(2)**. +* Repita o exercício anterior para filtrar apenas os erros. +* Visualize o log de erro para validar a falha no pagamento causada por um token inválido. + +{{% /exercise %}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/4-synthetics-detector.md b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/4-synthetics-detector.md new file mode 100644 index 0000000000..1017a8f98d --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/4-synthetics-detector.md @@ -0,0 +1,10 @@ +--- +title: 4. Detector de Synthetics +weight: 4 +--- + +Como você pode executar esses testes 24/7, eles são uma ferramenta ideal para receber avisos cedo quando seus testes estão falhando ou começando a demorar mais do que o SLA combinado, em vez de descobrir por redes sociais ou sites de uptime. + +![Social media](../images/social-media-post.png) + +Para evitar que isso aconteça, vamos detectar se nosso teste está levando mais de 50 segundos. diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/5-create-detector.md b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/5-create-detector.md new file mode 100644 index 0000000000..32d5cff533 --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/5-create-detector.md @@ -0,0 +1,24 @@ +--- +title: 5. Criar Detector +weight: 5 +--- + +{{% exercise title="Receber alertas" %}} + +* Vá para **Digital Experience → Synthetics tests** no menu principal. +* Selecione o teste do workshop **[NAME OF WORKSHOP]**. +* Clique no teste. +* Clique no botão {{% button %}}**Create Detector**{{% /button %}} no topo da página: +* Altere os critérios de alerta para que a métrica seja **Run Duration** **(1)** (em vez de Uptime) e a condição seja **Static Threshold**. +* Defina o **Trigger threshold** **(2)** para algo em torno de `50000` ms. +* Defina **Split by location** **(3)** como **No**. +* Observe que agora há uma linha de triângulos vermelhos e brancos aparecendo abaixo dos picos no gráfico. +* Os triângulos vermelhos indicam que o detector encontrou seu teste acima do limite definido, e o triângulo branco indica que o resultado voltou para baixo do limite. Cada triângulo vermelho disparará um alerta. + +> [!WARNING] Não adicionaremos um destinatário nem ativaremos o detector, pois não queremos inundar seu e-mail com alertas. + +![Detector](../images/synth-detector.png) + +* Esta aplicação foi projetada para falhar constantemente, por isso a grande quantidade de alertas que seria gerada. Em um cenário real, você ajustaria o threshold para evitar falsos positivos. + +{{% /exercise %}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/_index.md b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/_index.md new file mode 100644 index 0000000000..97a104ab58 --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/_index.md @@ -0,0 +1,26 @@ +--- +title: Digital Experience (Synthetics) +linkTitle: 6. Digital Experience (Synthetics) +archetype: chapter +weight: 6 +time: 15 minutos +description: Nesta seção, você aprenderá a usar Splunk Synthetics para monitorar o desempenho e a disponibilidade das suas aplicações. +--- + +{{% notice icon="user" style="orange" title="Persona" %}} + +Colocando novamente o chapéu de **SRE**, pediram que você configure o monitoramento do Online Boutique. Você precisa garantir que a aplicação esteja disponível e com bom desempenho 24 horas por dia, 7 dias por semana. + +{{% /notice %}} + +> [!IMPORTANT] +> Não seria ótimo monitorar nossa aplicação 24/7 e receber um alerta quando houver um problema? É aqui que entra Synthetics. Vamos mostrar um teste simples que roda a cada 1 minuto e verifica o desempenho e a disponibilidade de uma jornada típica de usuário pelo Online Boutique. + +{{< webex chat="Bill Grant" date="Hoje • 28/01/2026" seenby="BG" >}} +{{< webex-msg from="RC" name="Robert Castley" time="09:42" color="#ef950d" >}} +Oi, Bill, agora que resolvemos o problema do `paymentservice`, acho que devemos configurar algum monitoramento para garantir que vamos capturar problemas futuros antes que eles impactem nossos clientes. +{{< /webex-msg >}} +{{< webex-msg from="RC" name="Robert Castley" time="09:43" color="#ef950d">}} +Sugiro usarmos Synthetics para configurar um teste que roda a cada minuto e verifica o desempenho e a disponibilidade de uma jornada típica de usuário pelo Online Boutique. Assim, podemos ser alertados imediatamente se houver qualquer problema. +{{< /webex-msg >}} +{{< /webex >}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/apm-trace.png b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/apm-trace.png new file mode 100644 index 0000000000..1a988c5e47 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/apm-trace.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/failed-run-results.png b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/failed-run-results.png new file mode 100644 index 0000000000..70d45434f4 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/failed-run-results.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/messages.png b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/messages.png new file mode 100644 index 0000000000..3bb122ce48 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/messages.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/run-results-place-order.png b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/run-results-place-order.png new file mode 100644 index 0000000000..cd588cc58b Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/run-results-place-order.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/social-media-post.png b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/social-media-post.png new file mode 100644 index 0000000000..313a4b5298 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/social-media-post.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/synth-detector.png b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/synth-detector.png new file mode 100644 index 0000000000..1f2f5f3f02 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/synth-detector.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/synth-waterfall.png b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/synth-waterfall.png new file mode 100644 index 0000000000..b7c1959f92 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/6-synthetics/images/synth-waterfall.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/7-wrap-up/_index.md b/content/pt-br/splunk4rookies/observability-cloud-short/7-wrap-up/_index.md new file mode 100644 index 0000000000..5f9823a1a7 --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/7-wrap-up/_index.md @@ -0,0 +1,14 @@ +--- +title: Encerramento do workshop 🎁 +linkTitle: 7. Encerramento do workshop +weight: 7 +archetype: chapter +time: 1 minuto +description: Parabéns, você concluiu o workshop. +--- + +{{< checkpoint "Parabéns, você concluiu o **Splunk4Rookies - Workshop de Observability Cloud**. Hoje, você se familiarizou com o uso do Splunk Observability Cloud para monitorar suas aplicações e infraestrutura." >}} + +>[!IMPORTANT]Celebre sua conquista adicionando este certificado ao seu perfil no {{< badge style="blue" icon="linkedin" >}}{{< linkedin color="#0a66c2" >}}{{< /badge >}}." + +{{% image src="images/champagne.png" align="center" height="50vh" %}} diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/7-wrap-up/images/champagne.png b/content/pt-br/splunk4rookies/observability-cloud-short/7-wrap-up/images/champagne.png new file mode 100644 index 0000000000..98c0014827 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/7-wrap-up/images/champagne.png differ diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/_index.md b/content/pt-br/splunk4rookies/observability-cloud-short/_index.md new file mode 100644 index 0000000000..279d83ec4c --- /dev/null +++ b/content/pt-br/splunk4rookies/observability-cloud-short/_index.md @@ -0,0 +1,28 @@ +--- +title: Observability Cloud (1 hora) +weight: 1 +authors: ["Robert Castley", "Pieter Hagen"] +time: 60 minutos +description: "A versão condensada. Troubleshooting prático em uma aplicação de microsserviços em Kubernetes totalmente instrumentada: a experiência essencial do Splunk Observability Cloud em uma hora." +show_toc: false +params: + images: + - images/featured-o11y.png +difficulty: Iniciante +--- + +## Introdução + +Ganhe experiência prática investigando problemas com o Splunk Observability Cloud. Você vai trabalhar com uma aplicação de microsserviços em Kubernetes totalmente instrumentada, enviando métricas, traces e logs para análise em tempo real. + +## Visão geral do workshop + +Nesta sessão prática de 1 hora, você vai cobrir: + +- **Gerar dados de usuários reais** - Navegue pelo site Online Boutique para gerar métricas, traces e logs +- **RUM** - Identifique sessões de navegador com baixo desempenho e comece a investigação +- **APM** - Conecte traces de RUM do front-end a traces de APM do back-end para detectar anomalias e erros +- **Log Observer** - Use "Related Content" para ir de traces de APM aos logs relacionados +- **Synthetics** - Configure monitoramento 24/7 com testes sintéticos executados a cada minuto + +>**Usando o Online Boutique, precisamos gerar alguns dados. Vamos às compras!** diff --git a/content/pt-br/splunk4rookies/observability-cloud-short/images/featured-o11y.png b/content/pt-br/splunk4rookies/observability-cloud-short/images/featured-o11y.png new file mode 100644 index 0000000000..fa17ad8944 Binary files /dev/null and b/content/pt-br/splunk4rookies/observability-cloud-short/images/featured-o11y.png differ diff --git a/content/pt-br/unsupported-field-workshops/_index.md b/content/pt-br/unsupported-field-workshops/_index.md new file mode 100644 index 0000000000..a4f78932e9 --- /dev/null +++ b/content/pt-br/unsupported-field-workshops/_index.md @@ -0,0 +1,9 @@ +--- +title: Workshops de Campo sem Suporte Oficial +linkTitle: Workshops de Campo +layout: "hero" +description: Workshops práticos criados por engenheiros de campo da Splunk. São mantidos pela comunidade, sem suporte oficial, e cobrem temas úteis e profundos em produtos como APM, IM, OnCall e tracing com Lambda. +weight: 20 +--- + +{{% children type="card" description="true" %}} diff --git a/hugo.toml b/hugo.toml index fc2ee70695..aa56b8781b 100644 --- a/hugo.toml +++ b/hugo.toml @@ -35,6 +35,11 @@ disableKinds = ["taxonomy", "term"] weight = 2 hasCJKLanguage = true contentDir = "content/ja" + [languages.pt-br] + label = "Português (Brasil)" + locale = "pt-BR" + weight = 3 + contentDir = "content/pt-br" # Markup configuration — Goldmark with attributes & raw HTML enabled for rich content [markup] diff --git a/i18n/pt-br.yaml b/i18n/pt-br.yaml new file mode 100644 index 0000000000..3d95ca14d7 --- /dev/null +++ b/i18n/pt-br.yaml @@ -0,0 +1,148 @@ +- id: home + translation: "Início" +- id: workshops + translation: "Workshops" +- id: previous + translation: "Anterior" +- id: next + translation: "Próximo" +- id: onThisPage + translation: "Nesta página" +- id: skipToContent + translation: "Ir para o conteúdo" +- id: editOnGitHub + translation: "Editar esta página no GitHub" +- id: searchPlaceholder + translation: "Buscar workshops..." +- id: searchTrigger + translation: "Buscar" +- id: searchHint + translation: "Pressione / para buscar" +- id: searchEmpty + translation: "Nenhum resultado" +- id: keyboardShortcuts + translation: "Atalhos de teclado" +- id: categoryOther + translation: "Outros" +- id: recentlyUpdated + translation: "Atualizados recentemente" +- id: updatedLabel + translation: "Atualizado" +- id: newLabel + translation: "Novo" +- id: browseFilter + translation: "Filtrar workshops por nome, tema ou dificuldade..." +- id: browseCount + translation: "{{ .Workshops }} workshops · {{ .Categories }} categorias" +- id: workshopsCount + translation: + one: "{{ .Count }} workshop" + other: "{{ .Count }} workshops" +- id: pagesCount + translation: + one: "{{ .Count }} página" + other: "{{ .Count }} páginas" +- id: copyCode + translation: "Copiar" +- id: copied + translation: "Copiado" +- id: completed + translation: "Concluído" +- id: chapter + translation: "Capítulo" +- id: notFoundTitle + translation: "Esta página não tem trace." +- id: notFoundLead + translation: "Buscamos em todas as métricas, logs e spans por esta URL, mas nada apareceu. A lista de workshops, porém, está bem instrumentada." +- id: notFoundEyebrow + translation: "404 · Nenhum span encontrado" +- id: notFoundQueryLabel + translation: "consulta" +- id: notFoundResultLabel + translation: "resultado" +- id: notFoundResultValue + translation: "0 eventos nos últimos 30 dias" +- id: takeMeHome + translation: "Voltar ao início" +- id: browseWorkshops + translation: "Ver workshops" +- id: viewOnGitHub + translation: "Ver no GitHub" +- id: builtWithHugo + translation: "Criado com Hugo" +- id: theme + translation: "Tema" +- id: languageSwitcher + translation: "Idioma" +- id: overview + translation: "Visão geral" +- id: openMenu + translation: "Abrir menu" +- id: yourPosition + translation: "Progresso de leitura" +- id: tip + translation: "Dica" +- id: note + translation: "Nota" +- id: info + translation: "Informação" +- id: warning + translation: "Aviso" +- id: danger + translation: "Perigo" +- id: success + translation: "Sucesso" +- id: exercise + translation: "Exercício" +- id: solution + translation: "Mostrar solução" +- id: checkpoint + translation: "Checkpoint" +- id: quickCheck + translation: "Checagem rápida" +- id: quizQuestion + translation: "Pergunta" +- id: exerciseDefault + translation: "Tente agora" +- id: objectivesTitle + translation: "O que você vai aprender" +- id: prerequisitesTitle + translation: "Antes de começar" +- id: acknowledge + translation: "Confirmação" +- id: acknowledgeDefault + translation: "Confirme para continuar" +- id: iUnderstand + translation: "Entendi" +- id: expand + translation: "Expandir" +- id: details + translation: "Detalhes" +- id: presenterNote + translation: "Nota do apresentador" +- id: slidesKicker + translation: "Apresentação" +- id: slidesOpen + translation: "Abrir apresentação" +- id: slidesSlide + translation: "slide" +- id: slidesSlides + translation: "slides" +- id: lastModified + translation: "Última modificação" +- id: author + translation: "Autor" +- id: authors + translation: "Autores" +- id: workshopVersion + translation: "Versão do workshop" +- id: difficultyBeginner + translation: "Iniciante" +- id: difficultyEasy + translation: "Fácil" +- id: difficultyIntermediate + translation: "Intermediário" +- id: difficultyAdvanced + translation: "Avançado" +- id: difficultyExpert + translation: "Especialista"