Dépannage du webhook d' AutoTrace

Si vous remarquez que le webhook Instana AutoTrace ne fonctionne pas sur vos ressources Kubernetes, résolvez le problème en suivant les étapes suivantes :

Vérification que le webhook Instana AutoTrace reçoit bien les requêtes

Pour vérifier que le webhook Instana AutoTrace reçoit bien les requêtes, consultez les journaux du instana-autotrace-webhook pod en exécutant la commande suivante :

kubectl logs -l app.kubernetes.io/name=instana-autotrace-webhook -n instana-autotrace-webhook

Dans une installation fonctionnelle, vous pouvez voir les journaux suivants :

14:41:37.590 INFO  |- [AdmissionReview 48556a1a-7d55-497b-aa9c-23634b089cd1] Applied transformation DefaultDeploymentTransformation to the Deployment 'test-netcore-glibc/test-apps'
14:41:37.588 INFO  |- [AdmissionReview 1d5877cf-7153-4a95-9bfb-de0af8351195] Applied transformation DefaultDeploymentTransformation to the Deployment 'test-nodejs-12/test-apps'

Si vous ne voyez pas ces journaux, la configuration de votre Kubernetes est peut-être défectueuse. Poursuivez le dépannage en consultant les sections suivantes.

Vérification des journaux kube-apiserver

Vérifiez les journaux de votre kube-apiserver. Ces journaux indiquent si le webhook Instana AutoTrace est lancé et fournissent des informations sur le résultat de l'exécution.

Si vous constatez que le webhook AutoTrace ne fonctionne pas comme prévu, suivez les étapes de dépannage suivantes pour résoudre les problèmes courants.

Traitement des incidents courants

Pas de connectivité réseau entre kube-apiserver et les pods instana-autotrace-webhook

Le problème le plus courant est que le kube-apiserver ne peut pas atteindre les nœuds de travail qui exécutent les instana-autotrace-webhook pods. Ce problème peut être dû aux politiques de sécurité, qui empêchent le webhook Instana AutoTrace de fonctionner.

Pour résoudre ce problème, modifiez vos paramètres réseau afin que kube-apiserver puisse accéder aux instana-autotrace-webhook pods. Vérifiez vos politiques de sécurité réseau pour vous assurer que kubeapi-server peut initier des connexions et recevoir des réponses de instana-autotrace-webhook. Instana ne peut fournir de conseils directs pour résoudre ce problème, car les solutions varient en fonction de votre politique et de vos mécanismes d'application.

kube-apiserver et les pods instana-autotrace-webhook ne peuvent pas négocier une session TLS

Parfois, les restrictions cryptographiques (en termes d'algorithmes pouvant être utilisés pour l' TLS ) empêchent kube-apiserver de négocier une session d' TLS avec le instana-autotrace-webhook pod.

Pour résoudre ce problème, ouvrez un ticket d'assistance et informez l'assistance IBM des algorithmes de cryptographie pris en charge par vos clusters.

Une mémoire insuffisante

Le webhook AutoTrace instrument les applications en utilisant la variable LD_PRELOAD d'environnement pour charger les bibliothèques technologiques avant toute autre bibliothèque. Cette approche utilise davantage de mémoire, car les bibliothèques préchargées sont chargées dans le processus de l'application. Par conséquent, il peut être nécessaire d'augmenter la limite de mémoire du conteneur pour y remédier.

Si le pod ne dispose pas d'une mémoire suffisante pour charger les bibliothèques d'instrumentation, il peut entrer dans une boucle de redémarrage avec les erreurs suivantes :

  • OOMKilled
  • CrashLoopBackOff

Pour corriger la boucle de redémarrage, augmentez la limite de mémoire dans votre déploiement afin de tenir compte de l'augmentation des besoins en mémoire pour l'instrumentation de l'application. Vous pouvez augmenter la limite de mémoire en mettant à jour le spec.template.spec.containers[x].resources.limits.memory champ. Plus précisément, reportez-vous au tableau suivant pour connaître la surcharge mémoire individuelle des traceurs.

Technologie Mémoire supplémentaire requise
Ruby 25 Mo
Netcore 100 Mo
NGINX 100 Mo
Node.js 70 Mo
Python 25 Mo