Surveillance de Python

Surveillez vos applications Python en installant le package Python Instana (également appelé Python Tracer ou collecteur intégré) après avoir installé l'agent hôte Instana. Ce module recueille des indicateurs de performance et des traces distribuées provenant de vos applications Python, ce qui permet d'identifier les goulots d'étranglement et d'optimiser les performances des applications. Vous pouvez consulter ces métriques et ces traces dans l'interface utilisateur d' Instana.

Stan adore l' Python

Pour plus d'informations, consultez la page « Agent hôte » sur Instana.

Utilisation

Le package Instana Python est un outil automatique (zéro configuration) qui collecte automatiquement les métriques clés et les traces distribuées de vos processus Python.

Remarque : les versions Instana, Python, 3.0.0 et les versions ultérieures prennent en charge le traçage personnalisé via les API OpenTelemetry. Pour plus d'informations, consultez Python OpenTelemetry.

Méthodes d'installation

Vous pouvez opter pour une installation automatique ou une installation manuelle, comme décrit dans les sections suivantes :

Installation automatique

Instana L'installation de vos applications Python s'effectue automatiquement à distance via Instana AutoTrace™. Toutefois, si vous préférez installer le paquet manuellement, consultez la section « Installation manuelle » ci-dessous.

Kubernetes

Le webhook Instana AutoTrace est une implémentation d'un contrôleur d'admission de webhooks de type « Mutating » ( Kubernetes ) qui configure automatiquement tout ce qui est nécessaire pour surveiller les applications Python à l'aide de Instana, sur l'ensemble d'un cluster Kubernetes.

Si vous installez le webhook Instana AutoTrace sur vos clusters Kubernetes, vous n'avez aucune opération manuelle à effectuer pour surveiller vos applications Python qui s'exécutent sur ces clusters.

Si votre application Python et l'agent Instana sont gérés par Kubernetes, consultez la documentation relative à l'accès réseau à l'adresse Kubernetes pour obtenir des informations sur la configuration requise dans ce cas de figure.

Remarque : le webhook Instana AutoTrace n'installe que la version Python du capteur 2.0.0 et les versions ultérieures, et ne prend pas en charge les environnements d'exécution hérités tels que Python 2.7.

Pour savoir quelles versions des composants associés sont prises en charge, consultez la section Composants et versions pris en charge. Si vous devez travailler avec des environnements d'exécution existants, consultez ce qui suit Installation manuelle section.

Installation manuelle

Remarque : pour savoir comment installer le package Instana Python prenant en charge les API obsolètes de OpenTracing, consultez la page PythonOpenTracing (obsolète).

Vous pouvez installer manuellement le paquet Instana Python dans virtualenv, pipenv ou un conteneur en exécutant la commande suivante :

pip install instana

Pour mettre à jour une installation existante, exécutez la commande suivante :

pip install -U instana

Continuez ensuite à effectuer les actions dans l'une des deux sections suivantes en fonction des besoins de votre organisation.

Activation sans modification de code

Instana offre un moyen d'activer le package Instana Python sans modifier une seule ligne de code dans votre application. Cela vous permet d'éviter un grand nombre de processus impliqués dans les changements de code d'application de type demandes d'extraction, assurance qualité, transfert et déploiement en environnement de production.

Pour activer le package Instana sans modification de code, définissez simplement la variable d'environnement suivante pour votre application Python :

export AUTOWRAPT_BOOTSTRAP=instana

Le package Instana Python se charge automatiquement au démarrage de l'application et peut ensuite instrumenter votre application Python.

Remarque : cette méthode d'activation ne fonctionne pas avec les applications basées sur `gevent`, car `gevent` doit être activé et la fonction ` monkey.patch_all ()` doit être appelée avant que l'activation puisse avoir lieu. Pour utiliser la variable d'environnement `AUTOWRAPT_BOOTSTRAP` avec Python 3.12 et les versions ultérieures, il est nécessaire d'installer le paquet `setuptools`.

Activation avec modification de code

Pour importer manuellement le package instana à l'intérieur de votre code d'application Python, ajoutez la commande suivante dans votre code d'application :

import instana

Pour plus d'informations sur Django, Flask, la surveillance de l'expérience utilisateur (EUM) et bien d'autres sujets, consultez la section « Frameworks ».

Configuration

Aucune configuration n'est requise pour les métriques prédéfinies et le traçage distribué. Cependant, il est possible de configurer des composants individuels. Pour plus d'informations, consultez la configuration de l' Python.

Cloud Foundry

Remarque : cette section part du principe que l'agent « Instana » est en cours d'exécution sur les nœuds Diego de l'infrastructure « Cloud Foundry ». Si aucun agent ne s'exécute sur la cellule Diego sous-jacente, la surveillance des applications Cloud Foundry n'est pas prise en charge.

Par ailleurs, depuis la vignette version 1.177.0, le pack de construction instana_buildpack automatise la configuration des applications Python sur Cloud Foundry. Pour plus d'informations, consultez la documentation relative au Buildpack « Instana ».

Pour savoir comment configurer les agents d' Instana, ainsi que les fonctionnalités associées d' Cloud Foundry ou de Pivotal Platform, consultez notre documentation sur Cloud Foundry et Pivotal Platform.

La surveillance des applications Python Cloud Foundry requiert les étapes suivantes :

  • Ajouter le package instana Python au fichier requirements.txt
  • Ajoutez une variable d'environnement AUTOWRAPT_BOOTSTRAP avec la valeur instana au manifeste d'application comme suit:
  • Envoyer l'application à Cloud Foundry avec la commande cf push
---
applications:
- name: test-python-flask
  buildpacks:
    - python_buildpack
  env:
    AUTOWRAPT_BOOTSTRAP: instana

Kits de développement logiciel (SDK)

Vous pouvez utiliser les SDK d' Instana s pour une intégration transparente avec d'autres outils et services.

SDK Instana natif

Le package de traçage « Python » disponible sur Instana comprend un SDK de traçage pour Python. Le SDK se présente sous la forme d'une licence Open Source publique ( API ). Pour plus d'informations sur le code source complet et CodeForge, consultez le package « tracer » de l' Python, disponible sur Instana. Pour plus d'informations sur l'installation du SDK de traçage d' Python, consultez la section « Méthodes d'installation ». Pour des exemples sur la manière d'instrumenter votre application Python, consultez la page Python Tracing SDK.

OpenTelemetry

Instana Python 3.0.0 et les versions ultérieures prennent en charge le traçage personnalisé via les API de l' OpenTelemetry ( OTel ). OTel est un cadre d'observabilité qui vous permet d'instrumenter, de collecter et d'analyser les données de télémétrie, telles que les métriques, les journaux et les traces, provenant de vos applications. Pour plus d'informations, consultez le portail OpenTelemetry.

OpenTracing

Instana Python 2.5.3 et les versions antérieures prennent en charge le traçage personnalisé via les API obsolètes de l' OpenTracing. Pour plus d'informations, consultez Python OpenTracing.

Mises en production

Pour consulter l'historique des versions du paquet « Instana » ( Python ), y compris les modifications apportées au paquet, rendez-vous sur la page des versions à l'adresse GitHub.