8000 [fr] Translation of Zero Code Python docs (#7387) · open-telemetry/opentelemetry.io@5077159 · GitHub
[go: up one dir, main page]

Skip to content

Commit 5077159

Browse files
[fr] Translation of Zero Code Python docs (#7387)
1 parent 3574925 commit 5077159

File tree

8 files changed

+1004
-0
lines changed

8 files changed

+1004
-0
lines changed

.cspell/fr-mots.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
extensibilité
22
observabilité
3+
réexécuté
34
télémétrie
45
traçage
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
---
2+
title: Instrumentation sans code Python
3+
linkTitle: Python
4+
weight: 30
5+
aliases: [/docs/languages/python/automatic]
6+
default_lang_commit: 3d179dbe1270b83aafff0d3b6aa3311afd482649
7+
cSpell:ignore: distro myapp
8+
---
9+
10+
L'instrumentation automatique avec Python utilise un agent Python qui peut être
11+
attaché à n'importe quelle application Python. Cet agent utilise principalement
12+
le [monkey patching](https://fr.wikipedia.org/wiki/Monkey_patch) (ou
13+
"réouverture des classes") pour modifier les fonctions des bibliothèques à
14+
l'exécution, permettant la capture de données de télémétrie de nombreuses
15+
bibliothèques et frameworks populaires.
16+
17+
## Installation {#setup}
18+
19+
Exécutez les commandes suivantes pour installer les paquets appropriés.
20+
21+
```sh
22+
pip install opentelemetry-distro opentelemetry-exporter-otlp
23+
opentelemetry-bootstrap -a install
24+
```
25+
26+
Le paquet `opentelemetry-distro` installe l'API, le SDK, et les outils
27+
`opentelemetry-bootstrap` et `opentelemetry-instrument`.
28+
29+
{{% alert title="Note" %}}
30+
31+
Vous devez installer un paquet de distribution (distro) pour que
32+
l'instrumentation automatique fonctionne. Le paquet `opentelemetry-distro`
33+
contient la distribution par défaut pour configurer automatiquement certaines
34+
des options communes pour les utilisateurs. Pour plus d'informations, voir
35+
[Distribution OpenTelemetry](/docs/languages/python/distro/).
36+
37+
{{% /alert %}}
38+
39+
La commande `opentelemetry-bootstrap -a install` parcourt la liste des paquets
40+
installés dans votre dossier `site-packages` actif, et installe les
41+
bibliothèques d'instrumentation correspondantes pour ces paquets, le cas
42+
échéant. Par exemple, si vous avez déjà installé le paquet `flask`, l'exécution
43+
de `opentelemetry-bootstrap -a install` installera
44+
`opentelemetry-instrumentation-flask` pour vous. L'agent Python OpenTelemetry
45+
utilisera le monkey patching pour modifier les fonctions de ces bibliothèques à
46+
l'exécution.
47+
48+
L'exécution de `opentelemetry-bootstrap` sans arguments liste les bibliothèques
49+
d'instrumentation recommandées à installer. Pour plus d'informations, voir
50+
[`opentelemetry-bootstrap`](https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/opentelemetry-instrumentation#opentelemetry-bootstrap).
51+
52+
{{% alert title="Vous utilisez <code>uv</code> ?" color="warning" %}} Si vous
53+
utilisez le gestionnaire de paquets [uv](https://docs.astral.sh/uv/), vous
54+
pourriez rencontrer des difficultés lors de l'exécution de
55+
`opentelemetry-bootstrap -a install`. Pour plus de détails, voir
56+
[Bootstrap avec uv](troubleshooting/#bootstrap-using-uv). {{% /alert %}}
57+
58+
{#configuring-the-agent}
59+
60+
## Configuration de l'agent {#configuring-the-agent}
61+
62+
L'agent est hautement configurable.
63+
64+
Une option est de configurer l'agent via des propriétés de configuration depuis
65+
l'interface de ligne de commande (CLI) :
66+
67+
```sh
68+
opentelemetry-instrument \
69+
--traces_exporter console,otlp \
70+
--metrics_exporter console \
71+
--service_name votre-nom-de-service \
72+
--exporter_otlp_endpoint 0.0.0.0:4317 \
73+
python myapp.py
74+
```
75+
76+
Alternativement, vous pouvez utiliser des variables d'environnement pour
77+
configurer l'agent :
78+
79+
```sh
80+
OTEL_SERVICE_NAME=votre-nom-de-service \
81+
OTEL_TRACES_EXPORTER=console,otlp \
82+
OTEL_METRICS_EXPORTER=console \
83+
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=0.0.0.0:4317
84+
opentelemetry-instrument \
85+
python myapp.py
86+
```
87+
88+
Pour voir la gamme complète des options de configuration, voir
89+
[Configuration de l'agent](configuration).
90+
91+
## Bibliothèques et frameworks supportés {#supported-libraries-and-frameworks}
92+
93+
Un certain nombre de bibliothèques Python populaires sont auto-instrumentées, y
94+
compris
95+
[Flask](https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-flask)
96+
et
97+
[Django](https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-django).
98+
Pour la liste complète, voir le
99+
[Registre](/ecosystem/registry/?language=python&component=instrumentation).
100+
101+
## Dépannage {#troubleshooting}
102+
103+
Pour les étapes de dépannage générales et les solutions à des problèmes
104+
spécifiques, voir [Dépannage](./troubleshooting/).
Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
---
2+
title: Configuration de l'agent
3+
linkTitle: Configuration
4+
weight: 10
5+
aliases:
6+
- /docs/languages/python/automatic/configuration
7+
- /docs/languages/python/automatic/agent-config
8+
default_lang_commit: 3d179dbe1270b83aafff0d3b6aa3311afd482649
9+
cSpell:ignore: healthcheck instrumentor myapp pyproject Starlette urllib
10+
---
11+
12+
L'agent est hautement configurable, soit par :
13+
14+
- Le passage de propriétés de configuration depuis l'interface de ligne de
15+
commande (CLI)
16+
- La définition de
17+
[variables d'environnement](/docs/specs/otel/configuration/sdk-environment-variables/)
18+
19+
## Propriétés de configuration {#configuration-properties}
20+
21+
Voici un exemple de configuration de l'agent via des propriétés de configuration
22+
:
23+
24+
```sh
25+
opentelemetry-instrument \
26+
--traces_exporter console,otlp \
27+
--metrics_exporter console \
28+
--service_name votre-nom-de-service \
29+
--exporter_otlp_endpoint 0.0.0.0:4317 \
30+
python myapp.py
31+
```
32+
33+
Voici une explication de ce que chaque configuration fait :
34+
35+
- `traces_exporter` spécifie quel exportateur de traces utiliser. Dans ce cas,
36+
les traces sont exportées vers la `console` (stdout) et avec `otlp`. L'option
37+
`otlp` indique à `opentelemetry-instrument` d'envoyer les traces à un point de
38+
terminaison qui accepte OTLP via gRPC. Pour utiliser HTTP au lieu de gRPC,
39+
ajoutez `--exporter_otlp_protocol http/protobuf`. La liste complète des
40+
options disponibles pour `traces_exporter`, consulter la contribution Python
41+
[Instrumentation OpenTelemetry](https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/opentelemetry-instrumentation).
42+
- `metrics_exporter` spécifie quel exportateur de métriques utiliser. Dans ce
43+
cas, les métriques sont exportées vers la `console` (stdout). Il est
44+
actuellement nécessaire de spécifier un exportateur de métriques. Si vous
45+
n'exportez pas de métriques, spécifiez `none` comme valeur à la place.
46+
- `service_name` définit le nom du service associé à votre télémétrie, et est
47+
envoyé à votre [solution d'observabilité](/ecosystem/vendors/).
48+
- `exporter_otlp_endpoint` définit le point de terminaison où la télémétrie est
49+
envoyée. Si omis, le point de terminaison par défaut du
50+
[Collecteur](/docs/collector/) sera utilisé, qui est `0.0.0.0:4317` pour gRPC
51+
et `0.0.0.0:4318` pour HTTP.
52+
- `exporter_otlp_headers` est requis en fonction de votre solution
53+
d'observabilité choisi. Pour plus d'informations sur les en-têtes de
54+
l'exportateur OTLP, voir
55+
[OTEL_EXPORTER_OTLP_HEADERS](/docs/languages/sdk-configuration/otlp-exporter/#otel_exporter_otlp_headers).
56+
57+
## Variables d'environnement {#environment-variables}
58+
59+
Dans certains cas, la configuration via des
60+
[variables d'environnement](/docs/languages/sdk-configuration/) est préférable.
61+
Tout paramètre configurable avec un argument de ligne de commande peut également
62+
être configuré avec une variable d'environnement.
63+
64+
Vous pouvez appliquer les étapes suivantes pour déterminer le mappage de nom
65+
correct de la propriété de configuration souhaitée :
66+
67+
- Convertissez la propriété de configuration en majuscules.
68+
- Préfixez la variable d'environnement avec `OTEL_`
69+
70+
Par exemple, `exporter_otlp_endpoint` est converti en
71+
`OTEL_EXPORTER_OTLP_ENDPOINT`.
72+
73+
## Configuration spécifique à Python {#python-specific-configuration}
74+
75+
Il existe des options de configuration spécifiques à Python que vous pouvez
76+
définir en préfixant les variables d'environnement avec `OTEL_PYTHON_`.
77+
78+
### URLs à exclure {#excluded-urls}
79+
80+
Utilisez une liste d'expressions régulières séparées par des virgules
81+
représentant les URLs à exclure dans toutes les instrumentations avec:
82+
83+
- `OTEL_PYTHON_EXCLUDED_URLS`
84+
85+
Vous pouvez également exclure des URLs pour des instrumentations spécifiques en
86+
utilisant une variable `OTEL_PYTHON_<library>_EXCLUDED_URLS`, où `library` est
87+
la version majuscule de l'un des noms suivants : Django, Falcon, FastAPI, Flask,
88+
Pyramid, Requests, Starlette, Tornado, urllib, urllib3.
89+
90+
Exemples :
91+
92+
```sh
93+
export OTEL_PYTHON_EXCLUDED_URLS="client/.*/info,healthcheck"
94+
export OTEL_PYTHON_URLLIB3_EXCLUDED_URLS="client/.*/info"
95+
export OTEL_PYTHON_REQUESTS_EXCLUDED_URLS="healthcheck"
96+
```
97+
98+
### Noms d'attributs de requête {#request-attribute-names}
99+
100+
Utilisez une liste de noms séparés par des virgules qui seront extraits de la
101+
requête et définis comme attributs sur les spans.
102+
103+
- `OTEL_PYTHON_DJANGO_TRACED_REQUEST_ATTRS`
104+
- `OTEL_PYTHON_FALCON_TRACED_REQUEST_ATTRS`
105+
- `OTEL_PYTHON_TORNADO_TRACED_REQUEST_ATTRS`
106+
107+
Exemples :
108+
109+
```sh
110+
export OTEL_PYTHON_DJANGO_TRACED_REQUEST_ATTRS='path_info,content_type'
111+
export OTEL_PYTHON_FALCON_TRACED_REQUEST_ATTRS='query_string,uri_template'
112+
export OTEL_PYTHON_TORNADO_TRACED_REQUEST_ATTRS='uri,query'
113+
```
114+
115+
### Journalisation {#logging}
116+
117+
Il existe des options de configuration utilisables pour contrôler les journaux
118+
qui sont générés.
119+
120+
- `OTEL_PYTHON_LOG_CORRELATION` : pour activer l'injection de contexte de trace
121+
dans les journaux (true, false)
122+
- `OTEL_PYTHON_LOG_FORMAT` : pour indiquer à l'instrumentation d'utiliser un
123+
format de journalisation personnalisé
124+
- `OTEL_PYTHON_LOG_LEVEL` : pour définir un niveau de journalisation
125+
personnalisé (info, error, debug, warning)
126+
- `OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED` : pour activer
127+
l'auto-instrumentation des journaux. Attache le gestionnaire OTLP au logger
128+
racine de Python. Pour un exemple, voir
129+
[Auto-instrumentation des journaux](/docs/zero-code/python/logs-example/).
130+
131+
Exemples :
132+
133+
```sh
134+
export OTEL_PYTHON_LOG_CORRELATION=true
135+
export OTEL_PYTHON_LOG_FORMAT="%(msg)s [span_id=%(span_id)s]"
136+
export OTEL_PYTHON_LOG_LEVEL=debug
137+
export OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED=true
138+
```
139+
140+
### Autre {#other}
141+
142+
Il existe d'autres options de configuration qui peuvent être définies et qui
143+
n'entrent pas dans une catégorie spécifique.
144+
145+
- `OTEL_PYTHON_DJANGO_INSTRUMENT` : mettre à `false` pour désactiver l'état
146+
activé par défaut pour l'instrumentation Django
147+
- `OTEL_PYTHON_ELASTICSEARCH_NAME_PREFIX` : modifie les préfixes par défaut pour
148+
les noms d'opération Elasticsearch de "Elasticsearch" à ce qui est utilisé
149+
dans cette option
150+
- `OTEL_PYTHON_GRPC_EXCLUDED_SERVICES` : liste de services spécifiques séparés
151+
par des virgules à exclure pour l'instrumentation gRPC
152+
- `OTEL_PYTHON_ID_GENERATOR` : pour spécifier quel générateur d'ID utiliser pour
153+
le fournisseur global de traces
154+
- `OTEL_PYTHON_INSTRUMENTATION_SANITIZE_REDIS` : pour activer l'offuscation des
155+
valeurs dans les requêtes
156+
157+
Exemples :
158+
159+
```sh
160+
export OTEL_PYTHON_DJANGO_INSTRUMENT=false
161+
export OTEL_PYTHON_ELASTICSEARCH_NAME_PREFIX=mon-prefixe-personnalise
162+
export OTEL_PYTHON_GRPC_EXCLUDED_SERVICES="GRPCTestServer,GRPCHealthServer"
163+
export OTEL_PYTHON_ID_GENERATOR=xray
164+
export OTEL_PYTHON_INSTRUMENTATION_SANITIZE_REDIS=true
165+
```
166+
167+
## Désactivation d'instrumentations spécifiques {#disabling-specific-instrumentations}
168+
169+
Par défaut, l'agent Python détectera les paquets d'un programme Python et
170+
instrumentera tous les paquets qu'il peut. Cela facilite l'instrumentation, mais
171+
peut entraîner des données trop nombreuses ou non désirées.
172+
173+
Vous pouvez omettre des paquets spécifiques de l'instrumentation en utilisant la
174+
variable d'environnement `OTEL_PYTHON_DISABLED_INSTRUMENTATIONS`. La variable
175+
d'environnement peut être définie sur une liste de noms de points d'entrée
176+
d'instrumentations séparés par des virgules à exclure de l'instrumentation. La
177+
plupart du temps, le nom du point d'entrée est le même que le nom du paquet et
178+
il est défini dans la table `project.entry-points.opentelemetry_instrumentor` du
179+
fichier `pyproject.toml` du paquet.
180+
181+
Par exemple, si votre programme Python utilise les paquets `redis`,
182+
`kafka-python` et `grpc`, par défaut, l'agent utilisera les paquets
183+
`opentelemetry-instrumentation-redis`,
184+
`opentelemetry-instrumentation-kafka-python` et
185+
`opentelemetry-instrumentation-grpc` pour les instrumenter. Pour désactiver
186+
cela, vous pouvez définir
187+
`OTEL_PYTHON_DISABLED_INSTRUMENTATIONS=redis,kafka,grpc_client`.

0 commit comments

Comments
 (0)
0