From aaff5fbe2b82c724d8231a1b4b451c3e9d9e7838 Mon Sep 17 00:00:00 2001 From: Ezzio Moreira <enzziom@gmail.com> Date: Thu, 8 Aug 2024 14:17:01 -0300 Subject: [PATCH 1/5] feat: add localization observability primer --- .../pt/docs/concepts/observability-primer.md | 156 ++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 content/pt/docs/concepts/observability-primer.md diff --git a/content/pt/docs/concepts/observability-primer.md b/content/pt/docs/concepts/observability-primer.md new file mode 100644 index 000000000000..5199486ad00a --- /dev/null +++ b/content/pt/docs/concepts/observability-primer.md @@ -0,0 +1,156 @@ +--- +title: Introdução à Observabilidade +description: Conceitos essenciais de Observabilidade +weight: 9 +cSpell:ignore: webshop +default_lang_commit: 6e3124135e38e749cdda15271d891813d6bc43db +--- + +## O que é Observabilidade? + +Observabilidade permite que você compreenda um sistema de fora para dentro, +permitindo que você faça perguntas sobre ele sem precisar conhecer seu +funcionamento interno. Além disso, facilita a resolução de problemas e o +tratamento de novos problemas, ou seja, "problemas desconhecidos". Também ajuda +a responder à pergunta "Por que isso está acontecendo?" + +Para fazer essas perguntas sobre o seu sistema, sua aplicação deve estar +devidamente instrumentada. Ou seja, o código da aplicação deve emitir +[sinais](/docs/concepts/signals/) como +[rastros](/docs/concepts/signals/traces/), +[métricas](/docs/concepts/signals/metrics/) e +[logs](/docs/concepts/signals/logs/). Uma aplicação está devidamente +instrumentada quando a equipe de desenvolvimento não precisa adicionar mais +instrumentação para solucionar um problema, pois já tem todas as informações +necessárias. + +O [OpenTelemetry](/docs/what-is-opentelemetry/) é o mecanismo pelo qual o código +da aplicação é instrumentado para ajudar a tornar um sistema observável. + +## Confiabilidade e métricas + +**Telemetria** refere-se aos dados emitidos por um sistema e seu comportamento. +Esses dados podem vir na forma de [rastros](/docs/concepts/signals/traces/), +[métricas](/docs/concepts/signals/metrics/) e +[logs](/docs/concepts/signals/logs/). + +**Confiabilidade** responde a pergunta: "O serviço está fazendo o que os +usuários esperam que ele faça?" Um sistema pode estar ativo 100% do tempo, mas, +se quando um usuário clica em "Adicionar ao Carrinho" para adicionar um par de +sapatos pretos ao carrinho de compras, o sistema nem sempre adiciona sapatos +pretos, então o sistema pode ser **não** confiável. + +**Métricas** são dados numéricos sobre sua infraestrutura ou aplicação agregados +ao longo de um período de tempo. Exemplos incluem: taxa de erro do sistema, +utilização da CPU e taxa de requisições para um determinado serviço. Para mais +informações sobre métricas e como elas se relacionam com o OpenTelemetry, +consulte [Métricas](/docs/concepts/signals/metrics/). + +**SLI**, ou _Service Level Indicator_, representa uma medida do comportamento de +um serviço. Um bom SLI mede seu serviço do ponto de vista dos seus usuários. Um +exemplo de SLI pode ser a velocidade de carregamento de uma página web. + +**SLO**, ou _Service Level Objective_, representa a forma como confiabilidade é +comunicada para uma organização/outras equipes. Isso é feito associando um ou +mais SLIs ao valor de negócio. + +## Compreendendo rastreamento distribuído + +O rastreamento distribuído permite que você observe as requisições que se +propagam por sistemas complexos e distribuídos. O rastreamento distribuído +melhora a visibilidade da saúde da sua aplicação ou sistema, permitindo que você +faça depurações de comportamentos difíceis de reproduzir localmente. É essencial +para sistemas distribuídos, que costumam ter problemas não determinísticos ou +que são muito complicados de reproduzir localmente. + +Para entender o rastreamento distribuído, você precisa compreender a função de +cada um de seus componentes: logs, trechos e rastros. + +### Logs + +Um **log** é uma mensagem com registro de data e hora emitida por serviços ou +outros componentes. Ao contrário dos [rastros](#rastros-distribuídos), eles não +são necessariamente associados a uma requisição de usuário ou transação +específica. Você pode encontrar logs em praticamente todos os softwares. Logs +foram muito utilizados no passado tanto por equipes de desenvolvimento quanto de +operação para entender o comportamento de um sistema. + +Exemplo de log: + +```text +I, [2021-02-23T13:26:23.505892 #22473] INFO -- : [6459ffe1-ea53-4044-aaa3-bf902868f730] Started GET "/" for ::1 at 2021-02-23 13:26:23 -0800 +``` + +Logs não são suficientes para rastrear a execução do código, pois geralmente não +apresentam informações contextuais, como de onde foram chamados. + +Eles se tornam muito mais úteis quando incluídos como parte de um +[trecho](#trechos) ou quando são correlacionados com um rastro e um trecho. + +Para mais informações sobre logs e como eles se relacionam com o OpenTelemetry, +consulte [Logs](/docs/concepts/signals/logs/). + +### Trechos + +Um **trecho** representa uma unidade de trabalho ou operação. Trechos rastreiam +operações específicas que uma requisição realiza, mostrando o que aconteceu +durante o tempo em que essa operação foi executada. + +Um trecho contém nome, dados relacionados ao tempo, +[mensagens de log estruturadas](/docs/concepts/signals/traces/#span-events) e +[outros metadados (ou seja, Atributos)](/docs/concepts/signals/traces/#attributes) +para fornecer informações sobre a operação sendo rastreada. + +#### Atributos de trecho + +Os atributos de trechos são metadados anexados a um trecho. + +A tabela a seguir contém exemplos de atributos de trecho: + +| Chave | Valor | +| :-------------------------- | :--------------------------------------------------------------------------------- | +| `http.request.method` | `"GET"` | +| `network.protocol.version` | `"1.1"` | +| `url.path` | `"/webshop/articles/4"` | +| `url.query` | `"?s=1"` | +| `server.address` | `"example.com"` | +| `server.port` | `8080` | +| `url.scheme` | `"https"` | +| `http.route` | `"/webshop/articles/:article_id"` | +| `http.response.status_code` | `200` | +| `client.address` | `"192.0.2.4"` | +| `client.socket.address` | `"192.0.2.5"` (o cliente passa por um proxy) | +| `user_agent.original` | `"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0"` | + +Para mais informações sobre trechos e como eles se relacionam com o +OpenTelemetry, consulte [Trecho](/docs/concepts/signals/traces/#spans). + +### Rastros distribuídos + +Um **rastro distribuído**, mais comumente conhecido como um **rastro**, registra +os caminhos percorridos por requisições (feitas por uma aplicação ou usuário +final) enquanto se propagam por arquiteturas com múltiplos serviços, como +aplicações de microsserviços e _serverless_. + +Um rastro é composto de um ou mais trechos. O primeiro trecho representa o +trecho raiz. Cada trecho raiz representa uma requisição do início ao fim. Os +trechos abaixo do trecho raiz fornecem um contexto mais aprofundado do que +ocorre durante uma requisição (ou quais etapas compõem uma requisição). + +Sem rastreamento, encontrar a causa raiz de problemas de desempenho em um +sistema distribuído pode ser desafiador. O rastreamento torna a depuração e o +entendimento de sistemas distribuídos menos assustador, criando um passo a passo +do que acontece dentro de uma requisição à medida que ela flui por um sistema +distribuído. + +Muitos _backends_ de Observabilidade visualizam rastros como diagramas em +cascata que se parecem com isto: + + + +Os diagramas em cascata mostram a relação pai-filho entre um trecho raiz e seus +trechos filhos. Quando um trecho encapsula outro trecho, isso também representa +uma relação aninhada. + +Para mais informações sobre rastros e como eles se relacionam com o +OpenTelemetry, consulte [Rastros](/docs/concepts/signals/traces/). From b66178dd177bdf30208e0bdb976ab2ad6a801edd Mon Sep 17 00:00:00 2001 From: Ezzio Moreira <enzziom@gmail.com> Date: Tue, 13 Aug 2024 18:10:56 -0300 Subject: [PATCH 2/5] fix: update doc Co-authored-by: Severin Neumann <neumanns@cisco.com> --- content/pt/docs/concepts/observability-primer.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/pt/docs/concepts/observability-primer.md b/content/pt/docs/concepts/observability-primer.md index 5199486ad00a..2b94d56266f2 100644 --- a/content/pt/docs/concepts/observability-primer.md +++ b/content/pt/docs/concepts/observability-primer.md @@ -125,7 +125,7 @@ A tabela a seguir contém exemplos de atributos de trecho: Para mais informações sobre trechos e como eles se relacionam com o OpenTelemetry, consulte [Trecho](/docs/concepts/signals/traces/#spans). -### Rastros distribuídos +### Rastros distribuídos {#the-untranslated-english-title} Um **rastro distribuído**, mais comumente conhecido como um **rastro**, registra os caminhos percorridos por requisições (feitas por uma aplicação ou usuário From a1595aea645cb52caf1d73a5eceeab35bad48155 Mon Sep 17 00:00:00 2001 From: Ezzio Moreira <enzziom@gmail.com> Date: Tue, 13 Aug 2024 18:44:04 -0300 Subject: [PATCH 3/5] fix: ajuste hashes --- content/pt/docs/concepts/observability-primer.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/pt/docs/concepts/observability-primer.md b/content/pt/docs/concepts/observability-primer.md index 2b94d56266f2..e3f7a0e179e0 100644 --- a/content/pt/docs/concepts/observability-primer.md +++ b/content/pt/docs/concepts/observability-primer.md @@ -69,7 +69,7 @@ cada um de seus componentes: logs, trechos e rastros. ### Logs Um **log** é uma mensagem com registro de data e hora emitida por serviços ou -outros componentes. Ao contrário dos [rastros](#rastros-distribuídos), eles não +outros componentes. Ao contrário dos [rastros](#distributed-traces), eles não são necessariamente associados a uma requisição de usuário ou transação específica. Você pode encontrar logs em praticamente todos os softwares. Logs foram muito utilizados no passado tanto por equipes de desenvolvimento quanto de @@ -85,7 +85,7 @@ Logs não são suficientes para rastrear a execução do código, pois geralment apresentam informações contextuais, como de onde foram chamados. Eles se tornam muito mais úteis quando incluídos como parte de um -[trecho](#trechos) ou quando são correlacionados com um rastro e um trecho. +[trecho](#spans) ou quando são correlacionados com um rastro e um trecho. Para mais informações sobre logs e como eles se relacionam com o OpenTelemetry, consulte [Logs](/docs/concepts/signals/logs/). From 6b87cd1f616098ae4a787403d59a009370ae660b Mon Sep 17 00:00:00 2001 From: Ezzio Moreira <enzziom@gmail.com> Date: Fri, 16 Aug 2024 19:32:22 -0300 Subject: [PATCH 4/5] fix: update doc Co-authored-by: Severin Neumann <neumanns@cisco.com> --- content/pt/docs/concepts/observability-primer.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/pt/docs/concepts/observability-primer.md b/content/pt/docs/concepts/observability-primer.md index e3f7a0e179e0..867cc4b20b74 100644 --- a/content/pt/docs/concepts/observability-primer.md +++ b/content/pt/docs/concepts/observability-primer.md @@ -125,7 +125,7 @@ A tabela a seguir contém exemplos de atributos de trecho: Para mais informações sobre trechos e como eles se relacionam com o OpenTelemetry, consulte [Trecho](/docs/concepts/signals/traces/#spans). -### Rastros distribuídos {#the-untranslated-english-title} +### Rastros distribuídos {#distributed-traces} Um **rastro distribuído**, mais comumente conhecido como um **rastro**, registra os caminhos percorridos por requisições (feitas por uma aplicação ou usuário From 428f72131a66d2c3ac56931c8c8f1961bb167c91 Mon Sep 17 00:00:00 2001 From: Ezzio Moreira <enzziom@gmail.com> Date: Fri, 16 Aug 2024 19:45:02 -0300 Subject: [PATCH 5/5] feat: add localization signal log --- content/pt/docs/concepts/observability-primer.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/pt/docs/concepts/observability-primer.md b/content/pt/docs/concepts/observability-primer.md index 867cc4b20b74..e986b76ebb76 100644 --- a/content/pt/docs/concepts/observability-primer.md +++ b/content/pt/docs/concepts/observability-primer.md @@ -6,7 +6,7 @@ cSpell:ignore: webshop default_lang_commit: 6e3124135e38e749cdda15271d891813d6bc43db --- -## O que é Observabilidade? +## O que é Observabilidade? {#what-is-observability} Observabilidade permite que você compreenda um sistema de fora para dentro, permitindo que você faça perguntas sobre ele sem precisar conhecer seu @@ -90,7 +90,7 @@ Eles se tornam muito mais úteis quando incluídos como parte de um Para mais informações sobre logs e como eles se relacionam com o OpenTelemetry, consulte [Logs](/docs/concepts/signals/logs/). -### Trechos +### Trechos {#spans} Um **trecho** representa uma unidade de trabalho ou operação. Trechos rastreiam operações específicas que uma requisição realiza, mostrando o que aconteceu