Skip to content

Commit 3b91491

Browse files
committed
feat: run lint
1 parent 0e5a219 commit 3b91491

File tree

1 file changed

+174
-32
lines changed
  • content/pt/docs/concepts/signals

1 file changed

+174
-32
lines changed

content/pt/docs/concepts/signals/logs.md

+174-32
Original file line numberDiff line numberDiff line change
@@ -2,45 +2,75 @@
22
title: Logs
33
description: Uma gravação de um evento.
44
weight: 3
5-
cSpell:ignore: filelogreceiver semistructured transformprocessor
5+
default_lang_commit: ebc9a3a9f07278110677f4f8f69291a02704746b
66
---
77

8-
Um **log** é um registro de texto com um carimbo de data e hora, seja estruturado (recomendado) ou não estruturado, com metadados opcionais. Dentre os sinais de telemetria, os logs têm uma história mais consolidada. A maioria das linguagens de programação possui recursos de logging embutidas ou bibliotecas de logging bem conhecidas e amplamente utilizadas.
9-
10-
## Logs do OpenTelemetry
11-
12-
O OpenTelemetry não possui uma especificação de API ou SDK específica para gerar logs. Em vez disso, os logs no OpenTelemetry são os logs existentes que você já possui de um framework de logging ou componente de infraestrutura. Os SDKs e a autoinstrumentação do OpenTelemetry utilizam vários componentes para correlacionar automaticamente logs com [rastros](/docs/concepts/signals/traces).
13-
14-
O suporte do OpenTelemetry para logs é projetado para ser totalmente compatível ao que você já possui, oferecendo a capacidade de adicionar contextos a esses logs e uma série de ferramentas para analisar e manipular logs em um formato comum, abrangendo diversas fontes.
15-
16-
### Logs do OpenTelemetry no OpenTelemetry Collector
17-
18-
O [OpenTelemetry Collector](/docs/collector) fornece várias ferramentas para trabalhar com logs:
19-
20-
- Vários _receivers_ que analisam logs de fontes específicas e conhecidas de dados de logs.
21-
- O `filelogreceiver`, que lê logs de qualquer arquivo e fornece recursos para analisá-los a partir de diferentes formatos ou usar uma expressão regular.
22-
- _Processors_ como o `transformprocessor`, permite analisar dados aninhados, simplificar estruturas complexas, adicionando/removendo/atualizando valores e mais.
8+
Um **log** é um registro de texto com uma marcação de data e hora, seja
9+
estruturado (recomendado) ou não estruturado, com metadados opcionais. Dentre os
10+
sinais de telemetria, os logs têm uma história mais consolidada. A maioria das
11+
linguagens de programação possui recursos de logging embutidas ou bibliotecas de
12+
logging bem conhecidas e amplamente utilizadas.
13+
14+
## Logs do OpenTelemetry {#opentelemetry-logs}
15+
16+
O OpenTelemetry não possui uma especificação de API ou SDK própria para gerar
17+
logs. Em vez disso, os logs no OpenTelemetry são os logs existentes que você já
18+
possui de um framework de logging ou componente de infraestrutura. Os SDKs e a
19+
autoinstrumentação do OpenTelemetry utilizam vários componentes para
20+
correlacionar automaticamente logs com [rastros](/docs/concepts/signals/traces).
21+
22+
O suporte do OpenTelemetry para logs é projetado para ser totalmente compatível
23+
ao que você já possui, oferecendo a capacidade de adicionar contextos a esses
24+
logs e uma série de ferramentas para analisar e manipular logs em um formato
25+
comum, abrangendo diversas fontes.
26+
27+
### Logs do OpenTelemetry no OpenTelemetry Collector {#opentelemetry-logs-in-the-opentelemetry-collector}
28+
29+
O [OpenTelemetry Collector](/docs/collector) fornece várias ferramentas para
30+
trabalhar com logs:
31+
32+
- Vários _receivers_ que analisam logs de fontes específicas e conhecidas de
33+
dados de logs.
34+
- O `filelogreceiver`, que lê logs de qualquer arquivo e fornece recursos para
35+
analisá-los a partir de diferentes formatos ou usar uma expressão regular.
36+
- _Processors_ como o `transformprocessor`, permite analisar dados aninhados,
37+
simplificar estruturas complexas, adicionando/removendo/atualizando valores e
38+
mais.
2339
- _Exporters_ permitem emitir dados de log em um formato não OpenTelemetry.
2440

25-
O primeiro passo na adoção do OpenTelemetry frequentemente envolve implantar um Collector como um agente de logging de propósito geral.
41+
O primeiro passo na adoção do OpenTelemetry frequentemente envolve implantar um
42+
Collector como um agente de logging de propósito geral.
2643

27-
### Logs do OpenTelemetry para aplicações
44+
### Logs do OpenTelemetry para aplicações {#opentelemetry-logs-for-applications}
2845

29-
Em aplicações, logs do OpenTelemetry são criados com qualquer biblioteca de logging ou recursos integrados de logging. Quando você adiciona autoinstrumentação ou ativa um SDK, o OpenTelemetry automaticamente correlaciona seus logs com os rastros e trechos, incluindo no corpo do log seus IDs. Em outras palavras, o OpenTelemetry automaticamente correlaciona seus logs e rastros.
46+
Em aplicações, logs do OpenTelemetry são criados com qualquer biblioteca de
47+
logging ou recursos integrados de logging. Quando você adiciona
48+
autoinstrumentação ou ativa um SDK, o OpenTelemetry automaticamente correlaciona
49+
seus logs com os rastros e trechos, incluindo no corpo do log seus IDs. Em
50+
outras palavras, o OpenTelemetry automaticamente correlaciona seus logs e
51+
rastros.
3052

31-
### Suporte a Linguagens
53+
### Suporte a linguagens {#language-support}
3254

33-
Logs é um sinal [estável](/docs/specs/otel/versioning-and-stability/#stable) na especificação do OpenTelemetry. Para as implementações específicas de cada linguagem da API e SDK de Logs, temos o seguinte estado:
55+
Log é um sinal [estável](/docs/specs/otel/versioning-and-stability/#stable) na
56+
especificação do OpenTelemetry. Para as implementações específicas de cada
57+
linguagem da API e SDK de Logs, temos o seguinte estado:
3458

3559
{{% signal-support-table "logs" %}}
3660

37-
## Logs estruturados, não estruturados e semiestruturados
61+
## Logs estruturados, não estruturados e semiestruturados {#structured-unstructured-and-semistructured-logs}
3862

39-
Tecnicamente o OpenTelemetry não distingue entre logs estruturados e não estruturados. Você pode usar qualquer log que tiver com o OpenTelemetry. No entanto, nem todos os formatos de log são igualmente úteis! Logs estruturados, em particular, são recomendados para observabilidade em produção porque são fáceis de analisar e interpretar em escala. A seção a seguir explica as diferenças entre logs estruturados, não estruturados e semiestruturados.
63+
Tecnicamente o OpenTelemetry não distingue entre logs estruturados e não
64+
estruturados. Você pode usar qualquer log que tiver com o OpenTelemetry. No
65+
entanto, nem todos os formatos de log são igualmente úteis! Logs estruturados,
66+
em particular, são recomendados para observabilidade em produção porque são
67+
fáceis de analisar e interpretar em escala. A seção a seguir explica as
68+
diferenças entre logs estruturados, não estruturados e semiestruturados.
4069

41-
### Logs estruturados
70+
### Logs estruturados {#structured-logs}
4271

43-
Um log estruturado é aquele que segue um formato consistente e legível por máquina. Para aplicações, um dos formatos mais comuns é o JSON:
72+
Um log estruturado é aquele que segue um formato consistente e legível por
73+
máquina. Para aplicações, um dos formatos mais comuns é o JSON:
4474

4575
```json
4676
{
@@ -79,25 +109,39 @@ Um log estruturado é aquele que segue um formato consistente e legível por má
79109
}
80110
```
81111

82-
e para componentes de infraestrutura, o _Common Log Format (CLF)_ é frequentemente usado:
112+
e para componentes de infraestrutura, o _Common Log Format (CLF)_ é
113+
frequentemente usado:
83114

84115
```text
85116
127.0.0.1 - johndoe [04/Aug/2024:12:34:56 -0400] "POST /api/v1/login HTTP/1.1" 200 1234
86117
```
87118

88-
Também é comum ter logs estruturados em diferentes formatos juntos. Por exemplo, um log no formato _Extended Log Format (ELF)_ pode combinar JSON com os dados separados por espaços em um log CLF.
119+
Também é comum ter logs estruturados em diferentes formatos juntos. Por exemplo,
120+
um log no formato _Extended Log Format (ELF)_ pode combinar JSON com os dados
121+
separados por espaços em um log CLF.
89122

90123
```text
91124
192.168.1.1 - johndoe [04/Aug/2024:12:34:56 -0400] "POST /api/v1/login HTTP/1.1" 200 1234 "http://example.com" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" {"transactionId": "abcd-efgh-ijkl-mnop", "responseTime": 150, "requestBody": {"username": "johndoe"}, "responseHeaders": {"Content-Type": "application/json"}}
92125
```
93126

94-
Para aproveitar ao máximo este log, analise tanto as partes relacionadas ao JSON quanto ao ELF em um formato compartilhado para facilitar a análise em um backend de observabilidade. O `filelogreceiver` no [OpenTelemetry Coletor](/docs/collector) contém maneiras padronizadas de analisar logs como estes.
127+
Para aproveitar ao máximo este log, analise tanto os dados em formato JSON
128+
quanto os em formato ELF, utilizando um formato compartilhado para facilitar a
129+
análise em um backend de observabilidade. O `filelogreceiver` no
130+
[OpenTelemetry Coletor](/docs/collector) contém maneiras padronizadas de
131+
analisar logs como estes.
95132

96-
Logs estruturados são a melhor forma de usar logs. Por serem emitidos em um formato consistente, os logs são analisados diretamente, o que facilita o pré-processamento no OpenTelemetry Coletor, a correlação com outros dados e, por fim, a análise em um backend de Observabilidade.
133+
Logs estruturados são a melhor forma de usar logs. Por serem emitidos em um
134+
formato consistente, os logs são analisados diretamente, o que facilita o
135+
pré-processamento no OpenTelemetry Coletor, a correlação com outros dados e, por
136+
fim, a análise em um backend de Observabilidade.
97137

98-
### Logs não estruturados
138+
### Logs não estruturados {#unstructured-logs}
99139

100-
Logs não estruturados são logs que não seguem uma estrutura consistente. Eles podem ser mais legíveis para humanos e são frequentemente usados em desenvolvimento. No entanto, não é aconselhável usar logs não estruturados para fins de observabilidade em produção, pois são muito mais difíceis de analisar e interpretar em escala.
140+
Logs não estruturados são logs que não seguem uma estrutura consistente. Eles
141+
podem ser mais legíveis para humanos e são frequentemente usados em
142+
desenvolvimento. No entanto, não é aconselhável usar logs não estruturados para
143+
fins de observabilidade em produção, pois são muito mais difíceis de analisar e
144+
interpretar em escala.
101145

102146
Exemplos de logs não estruturados:
103147

@@ -109,4 +153,102 @@ System reboot initiated at 2024-08-04 03:00:00 by user: admin. Reason: Scheduled
109153
DEBUG - 2024-08-04 09:30:15 - User johndoe performed action: file_upload. Filename: report_Q3_2024.pdf, Size: 2.3 MB, Duration: 5.2 seconds. Result: Success
110154
```
111155

112-
É possível armazenar e analisar logs não estruturados em produção, embora você possa precisar fazer um trabalho substancial para analisá-los ou processa-los previamente de outra forma para que sejam legíveis por máquina. Por exemplo, os três logs acima exigirão uma expressão regular para analisar a marcação de data e hora e personalizar analisadores para extrair consistentemente os corpos da mensagem de log. Isso geralmente será necessário para que um backend de logging saiba como classificar e organizar os logs por data e hora. Embora seja possível processar logs não estruturados para análise, fazer isso pode dar mais trabalho do que mudar para logs estruturados, através de um framework de logging padrão em suas aplicações.
156+
É possível armazenar e analisar logs não estruturados em produção, embora seja
157+
necessário realizar um trabalho significativo para analisá-los ou processa-los
158+
antes de serem legíveis por máquinas. Por exemplo, os três logs acima exigirão
159+
uma expressão regular para analisar a marcação de data e hora e personalizar
160+
analisadores para extrair de forma consistente os campos da mensagem de log.
161+
Isso geralmente é necessário para que um _backend_ de logging saiba como
162+
classificar e organizar os logs por data e hora. Embora seja possível processar
163+
logs não estruturados para análise, fazer isso pode dar mais trabalho do que
164+
mudar para logs estruturados, através de um framework de logging padrão em suas
165+
aplicações.
166+
167+
### Logs Semiestruturados {#semistructured-logs}
168+
169+
Um log semiestruturado é um log que utiliza alguns padrões autoconsistentes para
170+
distinguir dados de forma que sejam legíveis por máquinas, mas pode não usar o
171+
mesmo formato e delimitadores entre os dados em diferentes sistemas.
172+
173+
Exemplo de um log semiestruturado:
174+
175+
```text
176+
2024-08-04T12:45:23Z level=ERROR service=user-authentication userId=12345 action=login message="Failed login attempt" error="Invalid password" ipAddress=192.168.1.1 userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36"
177+
```
178+
179+
Embora sejam legíveis por máquinas, logs semiestruturados podem precisar de
180+
diferentes tipos de analisadores para permitir a interpretação em grande escala.
181+
182+
## Componentes de logging do OpenTelemetry {#opentelemetry-logging-components}
183+
184+
A seguir estão listados os conceitos e componentes que sustentam o suporte de
185+
logging do OpenTelemetry.
186+
187+
### Conector / Ponte de Log {#log-appender--bridge}
188+
189+
Como desenvolvedor de aplicações, você não deve chamar diretamente a **Logs
190+
Bridge API**, pois é destinada a desenvolvedores de bibliotecas de logging para
191+
construir conectores ou pontes de log. Em vez disso, você deve usar sua
192+
biblioteca de logging preferida e configurá-la para utilizar um conector de log
193+
(ou ponte de log) capaz de emitir logs para um OpenTelemetry
194+
_LogRecordExporter_.
195+
196+
Os SDKs do OpenTelemetry oferecem essa funcionalidade.
197+
198+
### Logger Provider
199+
200+
> A parte da **Logs Bridge API** deve ser usada apenas por aqueles que
201+
> desenvolvem uma biblioteca de logging.
202+
203+
O Logger Provider (às vezes chamado de _LoggerProvider_) é uma fábrica de
204+
`Logger`s. Na maioria dos casos, o Logger Provider é inicializado uma vez, e seu
205+
ciclo de vida coincide com o ciclo de vida da aplicação. A inicialização do
206+
Logger Provider também inclui a inicialização do Resource e Exporter.
207+
208+
### Logger
209+
210+
> A parte da **Logs Bridge API** deve ser usada apenas por aqueles que
211+
> desenvolvem uma biblioteca de logging.
212+
213+
Um Logger cria registros de log. Loggers são criados a partir do Log Providers.
214+
215+
### Log Record Exporter
216+
217+
Os Log Record Exporters enviam registros de log para um consumidor. Esse
218+
consumidor pode ser a saída padrão para depuração de desenvolvimento,
219+
OpenTelemetry Collector ou qualquer backend de código aberto ou de fornecedor de
220+
sua escolha.
221+
222+
### Log Record
223+
224+
Um log record representa a gravação de um evento. No OpenTelemetry, um log
225+
record contém dois tipos de campos:
226+
227+
- Campos nomeados de nível superior com tipo e significado específicos
228+
- Campos de recurso e atributos com valor e tipo variáveis
229+
230+
Os campos de nível superior são:
231+
232+
| Nome do Campo | Descrição |
233+
| -------------------- | --------------------------------------------------------- |
234+
| Timestamp | Momento em que o evento ocorreu. |
235+
| ObservedTimestamp | Momento em que o evento foi observado. |
236+
| TraceId | ID de rastreamento da solicitação. |
237+
| SpanId | ID do trecho da solicitação. |
238+
| TraceFlags | Flag de rastreamento W3C. |
239+
| SeverityText | Texto de severidade (também conhecido como nível de log). |
240+
| SeverityNumber | Valor numérico da severidade. |
241+
| Body | O corpo do registro de log. |
242+
| Resource | Descreve a origem do log. |
243+
| InstrumentationScope | Descreve o escopo que emitiu o log. |
244+
| Attributes | Informações adicionais sobre o evento. |
245+
246+
Para mais detalhes sobre registros de log e campos de log, consulte
247+
[Modelo de Dados de Logs](/docs/specs/otel/logs/data-model/).
248+
249+
### Especificação {#specification}
250+
251+
Para saber mais sobre logs no OpenTelemetry, consulte a [especificação
252+
de logs][].
253+
254+
[especificação de logs]: /docs/specs/otel/overview/#log-signal

0 commit comments

Comments
 (0)