Traitement des incidents

Vous pourriez rencontrer les problèmes suivants avec l'observabilité de l'IA générative.

Erreurs de connexion

Problème : les journaux d'application indiquent des erreurs de connexion à Instana.

Solution :

Pour le mode agent :

  • Vérifiez que l'agent d' Instana est en cours d'exécution.
  • Vérifiez les journaux de l'agent pour détecter les erreurs.
  • Assurez-vous que l'hôte et le port de l'agent sont corrects.
  • Vérifiez la connectivité réseau entre votre application et l'agent.

Pour le mode sans agent :

  • Vérifiez que le point de terminaison backend URL est correct.
  • Vérifiez que le port 4317 est accessible.
  • Vérifiez que les règles du pare-feu autorisent les connexions sortantes.
  • Assurez-vous x-instana-key que est correct.

Vérifiez les paramètres d' TLS :

  • Pour le mode agent : En général OTEL_EXPORTER_OTLP_INSECURE=true
  • Pour le mode sans agent : En général OTEL_EXPORTER_OTLP_INSECURE=false
  • Vérifiez que ces paramètres correspondent à la configuration de votre Instana

Les mesures de coût ne sont pas affichées

Problème : les traces et autres métriques s'affichent, mais les métriques de coût sont manquantes.

Solution :

  1. Vérifiez que les tarifs sont configurés dans le tableau de bord :

    • Go à GenAI observability > Configuration des tarifs.
    • Vérifiez que les prix sont bien définis pour les modèles que vous utilisez.
    • Les identifiants des modèles doivent correspondre exactement (sensible à la casse).
  2. Vérifiez le format de l'identifiant du modèle :

    • Assurez-vous que votre application communique les identifiants de modèle corrects.
    • Les identifiants de modèle doivent correspondre au format utilisé dans la configuration des prix, par exemple « gpt-4 » et non « GPT-4 » ou « gpt4 ».
  3. Si vous avez défini des tarifs spécifiques à la plateforme, vérifiez si la plateforme correspond.

    • Assurez-vous que le prix défini s'applique à toutes les plateformes ou à une plateforme spécifique.
  4. Attendez que les données se propagent :

    • Une fois la tarification configurée, quelques minutes peuvent être nécessaires avant que les indicateurs de coût n'apparaissent.
    • Générez de nouvelles requêtes pour voir les mesures mises à jour.
Remarque : d'autres indicateurs (latence, nombre de jetons, taux d'erreur) seront visibles même sans configuration tarifaire.

Les traces et les métriques ne s'affichent pas

Problème : les traces ou les métriques ne s'affichent pas dans le tableau de bord d'observabilité d' GenAI.

Résolution :

  1. Vérifiez si OTEL_RESOURCE_ATTRIBUTES="INSTANA_PLUGIN=genai" est correctement défini.

    • C'est le problème le plus courant : sans cet attribut, Instana ne reconnaîtra pas vos données comme des données télémétriques générées par une IA.
    • Vérifiez vos variables d'environnement ou vos fichiers de configuration.
    • Redémarrez votre application après avoir ajouté cette variable.
  2. Vérifiez la configuration du point de terminaison Instana

    • Vérifiez si TRACELOOP_BASE_URL pointe vers l'agent ou le backend Instana correct.
    • Pour le mode agent, assurez-vous que l'agent est en cours d'exécution et accessible.
    • Pour le mode sans agent, vérifiez que le point de terminaison backend URL est correct.
  3. Vérifier l'authentification

    • Vérifiez si x-instana-key dans TRACELOOP_HEADERS est correct.
    • Assurez-vous que la clé dispose des autorisations nécessaires pour votre environnement.
  4. Consulter les journaux d'application :

    • Recherchez les erreurs de connexion d' OpenTelemetry.
    • Vérifiez les échecs d'authentification.
    • Vérifiez qu'il n'y a pas de problèmes de connectivité réseau.

Conflit avec le capteur Python d' Instana

Problème : lorsque le capteur Instana Python et Traceloop sont utilisés ensemble, l'erreur suivante peut se produire.

AttributeError: 'SimpleSpanProcessor' object has no attribute 'record_span'

Cause possible : le capteur Instana Python et Traceloop utilisent des approches d'instrumentation différentes qui entrent en conflit les unes avec les autres. L'exécution simultanée des deux éléments provoque des conflits d'instrumentation.

Pour les applications d'IA générative, utilisez uniquement Traceloop et n'activez pas le capteur Instana Python.

Pour résoudre ce problème, procédez comme suit :

  1. Supprimez ou commentez l'importation Instana.
    # import instana # Remove this line
  2. Conservez uniquement l'initialisation Traceloop.
    from traceloop.sdk import Traceloop
    Traceloop.init(
        disable_batch=True
    )
  3. Redémarrez votre application.
Remarque : vous devez uniquement utiliser Traceloop pour instrumenter les applications d'IA générative. N'activez pas le traçage de l' Python via le capteur Instana pour ces applications.

Python La version n'est pas compatible

Problème : lorsque vous installez les paquets IBM watsonx (tels que ibm-watsonx-ai ou ibm-watson-machine-learning), vous pouvez rencontrer une erreur de compilation avec pandas :
error: too few arguments to function '_PyLong_AsByteArray'

Raison possible : Python 3.13 a introduit des modifications importantes dans C API qui ne sont pas encore compatibles avec pandas et les dépendances associées utilisées par IBM watsonx packages. Certains de ces paquets ont une dépendance interne à pandas, et cette version de pandas nécessite Python 3.11 ou 3.12 pour fonctionner correctement.

Pour résoudre ce problème, procédez comme suit :

  • Installez Python 3.11 ou 3.12
    • Pour Ubuntu / Debian :
      sudo apt update
      sudo apt install software-properties-common -y
      sudo add-apt-repository ppa:deadsnakes/ppa -y
      sudo apt update
      sudo apt install python3.11 python3.11-venv python3.11-dev -y
    • Pour l' Fedora/RHEL/CentOS ion (à l'aide de dnf) :
      sudo dnf install python3.11 python3.11-devel -y
    • Pour les systèmes plus anciens (utilisant yum) :
      sudo yum install epel-release -y
      sudo yum install https://repo.ius.io/ius-release-el7.rpm -y
      sudo yum install python311 python311-devel -y
    • Créer un environnement virtuel avec Python 3.11. Après avoir installé Python 3.11 ou 3.12, créez un environnement virtuel.
      # Create virtual environment with Python 3.11
      python3.11 -m venv venv
      
      # Activate the virtual environment
      source venv/bin/activate
      
      # Upgrade pip
      pip install --upgrade pip
      
      # Install IBM Watson packages
      pip install ibm-watsonx-ai ibm-watson-machine-learning langchain-ibm traceloop-sdk
    • Vérifiez la version d' Python. Pour vérifier que vous utilisez la bonne version d' Python :
      python --version

      La version de l' Python doit être 3.11.x ou 3.12.x.

OTel Le collecteur de données est toujours utilisé

Le collecteur de données pour l'IA générative (ODCG) d' OTel n n'est plus pris en charge. L'ODCG n'est plus nécessaire. Pour supprimer ODCG, procédez comme suit :

  1. Mettez à jour la configuration de votre application

    Le changement principal consiste à ajouter l'attribut INSTANA_PLUGIN=genai resource et à supprimer le point de terminaison distinct pour les métriques.

    • Pour le mode agent (envoi de données via un agent d' Instana )
      L'ancienne configuration est illustrée dans l'exemple suivant.
      export TRACELOOP_BASE_URL=<instana-agent-host>:4317
      export TRACELOOP_HEADERS="x-instana-key=<agent-key>,x-instana-host=<host>"
      export TRACELOOP_METRICS_ENDPOINT=<odcg-host>:8000
      export TRACELOOP_METRICS_ENABLED=trueexport TRACELOOP_LOGGING_ENABLED=true
      export OTEL_EXPORTER_OTLP_INSECURE=true
      La nouvelle configuration est illustrée dans l'exemple suivant.
      export OTEL_RESOURCE_ATTRIBUTES="INSTANA_PLUGIN=genai"
      export TRACELOOP_BASE_URL=<instana-agent-host>:4317
      export TRACELOOP_HEADERS="x-instana-key=<agent-key>,x-instana-host=<host>"
      export TRACELOOP_METRICS_ENABLED=trueexport TRACELOOP_LOGGING_ENABLED=true
      export OTEL_EXPORTER_OTLP_INSECURE=true
      Les éléments suivants ont été modifiés.
      • OTEL_RESOURCE_ATTRIBUTES="INSTANA_PLUGIN=genai" est ajouté pour traiter vos données en tant que télémétrie IA générative

      • TRACELOOP_METRICS_ENDPOINT est supprimé pour que les métriques transitent par le même point de terminaison que les traces

    • Pour le mode sans agent (envoi direct des données vers le backend d' Instana )

      L'ancienne configuration est illustrée dans l'exemple suivant.
      export TRACELOOP_BASE_URL=<instana-otlp-endpoint>:4317 
      export TRACELOOP_HEADERS="x-instana-key=<agent-key>,x-instana-host=<host>" 
      export TRACELOOP_METRICS_ENDPOINT=<odcg-host>:8000 
      export TRACELOOP_METRICS_ENABLED=true export TRACELOOP_LOGGING_ENABLED=true 
      export OTEL_EXPORTER_OTLP_INSECURE=false
      La nouvelle configuration est illustrée dans l'exemple suivant.
      export OTEL_RESOURCE_ATTRIBUTES="INSTANA_PLUGIN=genai" 
      export TRACELOOP_BASE_URL=<instana-otlp-endpoint>:4317 
      export TRACELOOP_HEADERS="x-instana-key=<agent-key>,x-instana-host=<host>" 
      export TRACELOOP_METRICS_ENABLED=true export TRACELOOP_LOGGING_ENABLED=true 
      export OTEL_EXPORTER_OTLP_INSECURE=false
      Les éléments suivants ont été modifiés.
      • OTEL_RESOURCE_ATTRIBUTES="INSTANA_PLUGIN=genai" est ajouté pour traiter vos données en tant que télémétrie IA générative.

      • TRACELOOP_METRICS_ENDPOINT est supprimé pour que les métriques transitent par le même point de terminaison que les traces

  2. Migrez votre configuration tarifaire. La tarification des modèles est gérée via l'interface utilisateur d' Instana, et non via un fichier de configuration.

    1. Localisez votre configuration tarifaire actuelle.

      Si le collecteur de données d' OTel s est utilisé, un prices.properties fichier similaire à l'exemple suivant s'affiche.

      openai.gpt-4.input=0.03 
      openai.gpt-4.output=0.06 
      openai.gpt-3.5-turbo.input=0.0015 
      openai.gpt-3.5-turbo.output=0.002 
      anthropic.claude-2.input=0.008 
      anthropic.claude-2.output=0.024
    2. Configurez les tarifs dans l'interface utilisateur d' Instana.

      1. Connectez-vous à l'interface utilisateur d' Instana.
      2. Accédez au tableau de bord d'observabilité d' GenAI.
      3. Cliquez sur l'onglet Configuration. Une liste prédéfinie de modèles LLM courants avec des tarifs par défaut s'affiche.
      4. Mettre à jour les prix d'un modèle existant :
        1. Trouvez le modèle dans la liste.
        2. Cliquez sur le nom du modèle, puis sur Modifier.
        3. Mettre à jour les prix des jetons d'entrée et de sortie.
        4. Cliquez sur Sauvegarder.
      5. Ajouter un nouveau modèle :
        1. Cliquez sur Ajouter un modèle de tarification.
        2. Entrez le fournisseur (par exemple, « openai », « anthropic »).
        3. Entrez l'ID du modèle (par exemple, « gpt-4 », « claude-2 »).
        4. Accédez à la plateforme pour définir les tarifs spécifiques à celle-ci.
        5. Entrez les prix des jetons d'entrée et de sortie (par exemple, « bedrock », « langchain »).
        6. Cliquez sur Ajouter.
        Figure 1. Configuration des prix LLM

        Avantages de la tarification basée sur un tableau de bord :

        • Les modifications prennent effet immédiatement, aucun redéploiement n'est nécessaire
        • Facile à mettre à jour en cas de changement de prix
        • Gestion centralisée de toutes vos applications d'IA générative
        • Piste d'audit des modifications tarifaires
        Remarque :

        Les indicateurs de coût n'apparaîtront dans vos tableaux de bord qu'après avoir configuré les tarifs. Les autres indicateurs (latence, nombre de jetons, taux d'erreur) sont visibles quelle que soit la configuration tarifaire.

  3. Après avoir mis à jour la configuration, redémarrez votre application d'IA générative pour appliquer les modifications.

    • Pour les déploiements d' Kubernetes :
      kubectl rollout restart deployment/<your-app-deployment> -n <your-namespace>
    • Pour les déploiements d' Red Hat OpenShift :
      oc rollout restart deployment/<your-app-deployment> -n <your-namespace>
    • Pour les applications autonomes :

      Vérifiez que les données circulent correctement. Après avoir redémarré votre application, vérifiez que Instana reçoit bien les données :

      1. Vérifier les traces :
        1. Go au tableau de bord d'observabilité de l' GenAI à l'adresse Instana.
        2. Vérifiez que de nouvelles traces apparaissent pour votre application.
        3. Vérifiez que les traces indiquent les appels LLM, le nombre de jetons et les informations de latence.
      2. Vérifier les indicateurs :
        1. Dans le tableau de bord d'observabilité d' GenAI, consultez la vue des métriques.

          Vérifiez si les métriques apparaissent pour l'utilisation des jetons (entrée et sortie), la latence et les métriques de coût (si la tarification est configurée).

      3. Vérifier les journaux :

        • Si la journalisation est activée, vérifiez que les journaux sont bien enregistrés.
        • Recherchez tout message d'erreur lié à l' OpenTelemetry e ou au Traceloop.
      4. Consulter les journaux d'application :

        • Vérifiez vos journaux d'application pour détecter d'éventuelles erreurs d' OpenTelemetry.
        • Recherchez les messages indiquant que la connexion au point de terminaison Instana a été établie avec succès.
      5. Facultatif : supprimez le collecteur de données d' OTel.

Après avoir vérifié que les données circulent correctement avec la nouvelle configuration, vous pouvez supprimer en toute sécurité le déploiement du collecteur de données d' OTel.

Si vous rencontrez des problèmes lorsque vous essayez de supprimer le collecteur de données d' OTel pour l'IA générative (ODCG), essayez les étapes suivantes :

Vérifiez votre configuration :

  • Assurez-vous que toutes les variables d'environnement sont correctement définies
  • Vérifiez que le point de terminaison Instana est accessible
  • Vérifiez que les tarifs sont configurés dans le tableau de bord

Contacter le service d'assistance :

  • Fournissez les journaux de votre application
  • Incluez votre configuration (en supprimant les données sensibles)
  • Décrivez ce que vous avez essayé et les résultats obtenus

Instana utilise le point de terminaison des métriques obsolète

Problème : le collecteur de données ODCG ( OTel ) pour l'IA générative est obsolète. L'application tente toujours de se connecter au collecteur de données OTel.

Solution :

  1. Vérifiez que vous avez supprimé TRACELOOP_METRICS_ENDPOINT de votre configuration
  2. Vérifiez les variables d'environnement définies à différents niveaux :
    • Au niveau du conteneur ou du module
    • Deployment/StatefulSet niveau
    • ConfigMap ou Références secrètes
    • Variables d'environnement à l'échelle du système
  3. Redémarrez votre application après avoir supprimé la variable
  4. Vérifiez les journaux d'application pour confirmer qu'il n'essaie pas de se connecter au port 8000