-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[fr] Move new observability primer page #5927
Open
iguitton
wants to merge
16
commits into
open-telemetry:main
Choose a base branch
from
iguitton:feature/issue-5913-move-new-observability-primer-page
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
32e5fea
Issue #5913 Move new observability primer page
iguitton 2c92ec7
Issue #5913: Move new observability primer page
iguitton dda9adc
Issue #5913 Move new observability primer page
iguitton be4b0b7
Results from /fix:format
opentelemetrybot 07f7135
Issue #5913 Move new observability primer page
iguitton 9779583
Issue #5913 Move new observability primer page
iguitton edb0baa
Issue #5913: Move new observability primer page
iguitton 2249f26
Issue #5913 Move the new observability primer page
iguitton 6eaf437
Issue #5013: Move new observability primer page
iguitton 8dfe8b9
Revert "Issue #5913 Move new observability primer page"
iguitton e51c25a
Merge branch 'main' into feature/issue-5913-move-new-observability-pr…
iguitton f137ff6
* Fixes [fr] Move new observability-primer page under docs #5913
iguitton 1879c72
* Fixes [fr] Move new observability-primer page under docs #5913
iguitton 552919a
Merge branch 'main' into feature/issue-5913-move-new-observability-pr…
iguitton daf65b0
* Fixes [fr] Move new observability-primer page under docs #5913
iguitton 4c74763
* Fixes [fr] Move new observability-primer page under docs #5913
iguitton File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,165 @@ | ||
--- | ||
title: Introduction à l'observabilité | ||
description: Concepts fondamentaux de l'observabilité | ||
weight: 9 | ||
default_lang_commit: 71833a5f8b84110dadf1e98604b87a900724ac33 | ||
cSpell:ignore: webshop | ||
--- | ||
|
||
## Qu'est-ce que l'observabilité ? | ||
|
||
L'observabilité est la capacité à comprendre l'état d'un système en examinant | ||
ses données sortantes, sans avoir besoin de connaître son fonctionnement | ||
interne. Elle permet non seulement de résoudre facilement les problèmes et | ||
d'appréhender les nouveaux "inconnus inconnus" mais également de répondre à la | ||
question "Pourquoi cela arrive-t-il ?" | ||
|
||
Pour pouvoir poser ce type de questions à votre système, votre application doit | ||
être correctement instrumentée, c'est-à-dire que votre code doit émettre : | ||
[des signaux](/docs/concepts/signals/) tels que | ||
[des traces](/docs/concepts/signals/traces/), | ||
[des métriques](/docs/concepts/signals/metrics/), et | ||
[des logs](/docs/concepts/signals/logs/). | ||
|
||
Une application est correctement instrumentée si les développeurs disposent de | ||
toutes les informations nécessaires pour corriger un problème et n'ont pas | ||
besoin d'ajouter une instrumentation supplémentaire. | ||
|
||
[OpenTelemetry](/docs/what-is-opentelemetry/) est le mécanisme permettant | ||
d'instrumenter le code des applications afin de rendre le système observable. | ||
|
||
## Fiabilité et métriques | ||
|
||
Le terme **télémétrie** fait référence aux données émises par un système et son | ||
comportement. Les données peuvent prendre la forme de | ||
[traces](/docs/concepts/signals/traces/), de | ||
[métriques](/docs/concepts/signals/metrics/), et de | ||
[logs](/docs/concepts/signals/logs/). | ||
|
||
La **fiabilité** répond à la question : "Est-ce que le service fait ce que les | ||
utilisateurs attendent de lui ?" Un système peut afficher un pourcentage de | ||
disponibilité de 100%, mais s'il ne répond pas à la demande de l'utilisateur | ||
(par exemple : ajouter une paire de chaussettes noires dans le panier à chaque | ||
fois qu'il clique sur "Ajouter au panier"), alors le système pourrait être | ||
considéré comme **peu** fiable. | ||
|
||
Les **métriques** sont un ensemble de données numériques collectées pour votre | ||
infrastructure ou votre application sur une période donnée. Le nombre d'erreurs | ||
système, le nombre d'erreurs sur les requêtes ainsi que l'utilisation mémoire | ||
d'un service donné sont quelques exemples de métriques. Pour plus d'informations | ||
sur les métriques et leur rôle dans OpenTelemetry, référez-vous à la page | ||
[Métriques](/docs/concepts/signals/metrics/). | ||
|
||
L'indicateur de niveau de service, également connu sous le nom de **SLI**, est | ||
un indicateur de fonctionnement d'un service qui est évalué côté utilisateur. La | ||
vitesse à laquelle une page Web se charge est un exemple de SLI. | ||
|
||
Les objectifs de niveau de service, communément appelés **SLO**, permettent de | ||
rendre compte à une organisation ou à d'autres équipes de la fiabilité d'un | ||
système. | ||
|
||
## Comprendre le traçage distribué | ||
|
||
Le traçage distribué vous permet d'observer les requêtes au fur et à mesure | ||
qu'elles se propagent au travers de systèmes distribués complexes. Il vous offre | ||
une meilleure visibilité sur la santé de votre application ou de votre système | ||
et vous permet de debugger un comportement qu'il est difficile de reproduire | ||
localement. Le traçage distribué est indispensable pour les systèmes distribués | ||
pour lesquels nous rencontrons souvent des problèmes aléatoires ou difficiles à | ||
reproduire localement. | ||
|
||
Pour comprendre le traçage distribué, vous devez comprendre le rôle de chacun de | ||
ses composants : les logs, les spans et les traces. | ||
|
||
### Logs | ||
|
||
Un **log** est un message horodaté émis par des services ou d'autres composants. | ||
Contrairement aux [traces](#les-traces-distribuées), ils ne sont pas | ||
nécessairement associés à une requête ou une transaction utilisateur en | ||
particulier. Presque tous les logiciels émettent des logs. Par le passé, les | ||
développeurs et les opérateurs se sont largement appuyés sur les logs pour | ||
comprendre le comportement des systèmes. | ||
|
||
Exemple 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 | ||
``` | ||
|
||
Les logs, à eux seuls, ne suffisent pas pour suivre précisément l'exécution du | ||
code, car ils manquent souvent de contexte, comme l'origine exacte de leur | ||
déclenchement. | ||
|
||
Ils sont nettement plus utiles lorsqu'ils font partie d'un [span](#spans) ou | ||
lorsqu'ils sont mis en corrélation avec une trace ou un span. | ||
|
||
Pour plus d'informations sur les logs et leur rôle dans OpenTelemetry, | ||
référez-vous à la page [Logs](/docs/concepts/signals/logs/). | ||
|
||
### Spans | ||
|
||
Un **span** représente une unité de travail ou d'opération. Il retrace les | ||
actions effectuées par une requête, offrant une vue détaillée des événements qui | ||
se sont déroulés pendant l'exécution de l'opération. | ||
|
||
Un span contient un nom, des données de temps, | ||
[des messages de log structurés](/docs/concepts/signals/traces/#span-events), et | ||
[autres métadonnées (les attributs)](/docs/concepts/signals/traces/#attributes) | ||
pour fournir des informations sur l'opération qu'il suit. | ||
|
||
#### Attributs de span | ||
|
||
Les attributs de span sont des métadonnées attachées à un span. | ||
|
||
La table suivante liste des exemples d'attributs de span : | ||
|
||
| Clé | Valeur | | ||
| :-------------------------- | :--------------------------------------------------------------------------------- | | ||
| `http.request.method` | `"GET"` | | ||
| `network.protocol.version` | `"1.1"` | | ||
| `url.path` | `"/webshop/articles/4"` | | ||
| `url.query` | `"?s=1"` | | ||
| `server.address` | `"exemple.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"` (le client passe par un proxy) | | ||
| `user_agent.original` | `"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0"` | | ||
|
||
Pour plus d'informations sur les spans et leur rôle dans OpenTelemetry, | ||
référez-vous à la page [Spans](/docs/concepts/signals/traces/#spans). | ||
|
||
### Les traces distribuées | ||
|
||
Une **trace distribuée**, plus communément connu sous le nom de **trace**, | ||
enregistre les chemins pris par les requêtes (lancées par une application ou un | ||
utilisateur final) au fur et à mesure qu'elles se propagent au travers | ||
d'architectures multiservices, tels que des microservices ou des applications | ||
serverless. | ||
|
||
Une trace se compose d'un ou de plusieurs spans. Le premier span représente le | ||
span racine. | ||
|
||
Chaque span racine représente une requête, depuis son origine jusqu'à son | ||
aboutissement. Les spans présents sous le parent fournissent plus d'informations | ||
sur ce qui se passe pendant une requête (ou les étapes qui composent une | ||
requête). | ||
|
||
Sans traçage, il peut être difficile d'identifier pour un système distribué la | ||
cause première de problèmes de performance. Le traçage simplifie le débogage et | ||
la compréhension des systèmes distribués en décomposant le parcours des requêtes | ||
au fil de leur exécution dans le système. | ||
|
||
De nombreuses plateformes d'observabilité représentent les traces sous forme de | ||
diagrammes en cascade comme celui-ci : | ||
|
||
![Exemple de trace](/img/waterfall-trace.svg 'Diagramme en cascade de traces') | ||
|
||
Les diagrammes en cascade permettent de visualiser la relation parent-enfant | ||
entre un span racine et ses spans enfants. Lorsqu'un span encapsule un autre | ||
span, on parle de relation imbriquée. | ||
|
||
Pour plus d'informations sur les traces et leur rôle dans OpenTelemetry, | ||
référez-vous à la page [Traces](/docs/concepts/signals/traces/). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This, and similar changes in this page that remove
#what-is-observability
from links, need to be undone.