Débogage et dépannage
Recueillez les informations relatives au cluster et les journaux de débogage afin de résoudre les problèmes liés à l' Standard Edition.
Standard Edition en auto-hébergement 1.10.3 and earlier versions :
- Pour les installations en ligne (sans isolation physique), la plupart des commandes
stanctlde gestion du cycle de vie, telles que [...]stanctl up, ne s'exécuteront pas. - Pour les installations en mode air-gap, les
stanctlcommandes continuent de fonctionner.
Action requise : effectuez une mise à niveau stanctl vers la version 1.10.4 ou une version ultérieure avant d'effectuer une opération liée au cycle de vie.
stanctl1.10.3 ou une version antérieure, tout workflow qui arrête des services, par exemple une stanctl down commande, avant une sauvegarde, ne peut pas aboutir car la commande stanctl up suivante échoue. Mettez à jour stanctl votre système vers la version 1.10.4 ou une version ultérieure avant de suivre ces étapes.Recueillir des informations
Créez un fichier archive contenant des informations sur votre cluster. Vous pouvez utiliser les informations du fichier pour identifier et résoudre les problèmes ou partager le fichier avec l'équipe de support.
Le fichier archive collecte les informations suivantes:
- Journaux de conteneur
- Manifestes de ressources (au format « YAML »)
stanctljournaux- Informations système incluant l'utilisation de la mémoire, de l'unité centrale et de l'unité centrale
- Montages de disque et utilisation
- Fichiers ouverts (alloués, libres et maximum)
- Journaux du backend
Utilisez la commande suivante pour créer le fichier archive:
stanctl debug
Une fois que vous avez exécuté la commande, les messages suivants s'affichent. Lorsque vous voyez Done! dans les messages, cela signifie que votre fichier archive est prêt.
./stanctl debug
⠼ Streaming container logs [26s] ✓
⠸ Gathering resource manifests [27s] ✓
⠋ Gathering stanctl config files [0s] ✓
⠋ Gathering system information [0s] ✓
⠹ Creating tar file [0s] ✓
----------------------
Done!
Debug package -> debug_20231027111737
Compressed debug package -> debug_20231027111737.tar.gz
----------------------
Régler le niveau de journalisation des composants d' Instana
Pour régler le niveau des composants d' Instana, procédez comme suit :
Modifiez le fichier de configuration principal, par exemple,
$HOME/.stanctl/values/instana-core/custom-values.yaml.Configurer le niveau de journalisation d'un composant dans le CR Core ou Unit. Dans l'exemple suivant, le niveau de journalisation est modifié pour
DEBUGlebutlercomposant :componentConfigs: - name: butler env: - name: COMPONENT_LOGLEVEL # Possible values are DEBUG, INFO, WARN, ERROR (not case-sensitive) value: DEBUGAppliquez les valeurs personnalisées en exécutant la commande suivante :
stanctl backend applyPour consulter les journaux, exécutez la commande suivante :
kubectl logs <component name> -n instana-core<nom du composant> est le nom du composant pour lequel vous souhaitez effectuer un dépannage.
Certificats SSL ( SSL )
Comprendre les configurations prises en charge, les restrictions et les procédures de dépannage relatives aux certificats d' SSL.
Certificats Wildcard d' SSL
Vous pouvez utiliser des certificats génériques ( SSL ) avec Instana Standard Edition. Certaines configurations avec caractères génériques ne sont pas prises en charge, et certains modèles de déploiement nécessitent une attention particulière.
Exemple de scénario
Supposons la structure d' DNS suivante :
Certificat générique :
*.company.comInstana backend :
instana.company.comPoint final de l'accepteur d'agent :
agent-acceptor.instana.company.comInstana Interface utilisateur :
unit-tenant.instana.company.com
Limites des caractères génériques à un seul niveau
Dans ce cas de figure, *.company.com vous ne pouvez pas utiliser de certificat générique.
Raison : par définition, un astérisque (*) ne peut remplacer qu'un seul élément dans un nom d' DNS. Il ne peut pas s'étendre sur plusieurs niveaux de sous-domaines.
Règles de correspondance des certificats
Le certificat *.company.com correspond à :
www.company.comapi.company.commail.company.com
Le certificat *.company.com ne correspond pas :
a.b.company.comdev.api.company.comcompany.com
.) sépare les étiquettes d' DNS. Le caractère générique ne remplace qu'une seule étiquette.Pour prendre en charge le déploiement d' Instana, utilisez l'une des options suivantes :
- Créer un certificat générique pour le domaine de base complet Instana :
*.instana.company.com - Utilisez un certificat SAN qui répertorie tous les noms d'hôte requis.
DNS: api.example.com DNS: dev.api.example.com DNS: prod.api.example.com - Combiner plusieurs entrées avec caractères génériques dans un certificat SAN :
DNS: *.example.com DNS: *.api.example.com
Restaurer le certificat auto-signé
Vous pouvez restaurer un certificat d' TLS e auto-signé qui a été supprimé précédemment.
- Supprimez le secret existant « TLS » :
kubectl delete secret instana-tls -n instana-core - Générer un nouveau certificat auto-signé :
Résultat :stanctl be apply --core-tls-generate-cert- Un nouveau certificat auto-signé SSL est généré et appliqué.
- TLS Le chiffrement est activé pour les terminaux d' Instana.
- Les navigateurs modernes (tels que Chrome ou Firefox ) affichent des avertissements de sécurité car le certificat n'est pas délivré par une autorité de certification de confiance.
Important : bien que les navigateurs signalent que la connexion n'est pas sécurisée, toutes les communications restent cryptées.
Récapitulatif
- Les certificats génériques à un seul niveau (par exemple,
*.company.com) ne prennent pas en charge les sous-domaines à plusieurs niveaux. - Instana La norme exige généralement des certificats SAN ou des certificats génériques de domaine de base.
- Vous pouvez régénérer en toute sécurité des certificats auto-signés lorsque cela s'avère nécessaire, en tenant compte des avertissements habituels des navigateurs.
Traitement des incidents
Résolvez ces problèmes.
Instana l'agent n'apparaît pas dans l'interface utilisateur
Une fois que vous avez supprimé l'agent Instana configuré pour la surveillance à distance et installé l'agent Instana pour l'autosurveillance, il se peut que l'agent n'apparaisse pas dans l'interface utilisateur de Instana.
Il se peut que l'agent tente de se connecter au serveur distant Instana au lieu du serveur local Instana.
Pour résoudre ce problème, installez l'agent et spécifiez l'hôte du noeud final dorsal et une clé d'agent:
stanctl agent apply --agent-cluster-name <cluster-name> --agent-endpoint-host acceptor.instana-core --agent-endpoint-port 8600 --agent-zone-name <zone-name> --agent-key <agent-key-of-local-backend>
Instana Le backend cesse de fonctionner lorsque le disque de données de l' Elasticsearch ation dépasse 85 % de son espace disponible
Elasticsearch passe automatiquement son magasin de données en mode lecture seule lorsque le disque qu'il utilise atteint un taux d'utilisation supérieur à 85 %. Cela entraîne l'arrêt du fonctionnement du backend Instana. Libérez de l'espace sur le disque de données de l' Elasticsearch, ou augmentez sa capacité afin de rétablir un fonctionnement normal. Remarque : les autres disques « Instana » ne passent pas en mode lecture seule à des taux d'utilisation similaires (même supérieurs à 95 %), ce qui peut rendre ce problème difficile à comprendre.
- Libérer de l'espace sur le disque de données de l' Elasticsearch
- Augmenter l'espace disque alloué à Elasticsearch
Instana La mise à jour du backend échoue en raison d'une installation défectueuse du graphique « Helm »
La mise à niveau du backend d' Instana échoue après l'exécution de la stanctl backend apply commande. L'erreur suivante peut s'afficher :
Error: another operation (install/upgrade/rollback) is in progress
Dans le console.log fichier, vous pourriez voir des informations similaires aux entrées suivantes :
ts=2025-05-26T12:26:09Z level=INFO msg="upgrading Helm chart" name=instana-core release=instana-core version=1.8.1 namespace=instana-core
ts=2025-05-26T12:26:09Z level=DEBUG msg="preparing upgrade for instana-core"
Ce problème indique une installation corrompue du graphique « Helm » du graphique principal actuel; vous pouvez la réinitialiser à l'aide de la commande suivante :
- Supprimez l'ancienne clé secrète « Helm » de l'espace
instana-corede noms.kubectl delete secret -n instana-core -l owner=helm - Mettre à jour le backend.
stanctl up
L'agent hôte ne parvient pas à se connecter au backend Instana sur les hôtes SLES
Une fois l'agent hôte installé sur l'hôte local d'un système SLES ( SUSE Linux Enterprise Server ) 15 SP5 à des fins d'autosurveillance, l'agent ne se connecte pas automatiquement au backend Instana.
Vous devez utiliser l'agent externe URL pour vous connecter au serveur en tant qu'hôte distant.
Utilisez la commande suivante :
stanctl agent apply --agent-endpoint-host agent-acceptor.<base_domain> --agent-endpoint-port 8443
Kafka Les pods affichent l'état de l' CrashLoopBackOff
Kafka Les pods ne redémarrent pas après l'arrêt de l'hôte backend d' Instana. Vous pouvez consulter CrashLoopBackOff l'état des pods de l' Kafka.
Pour résoudre le problème, redémarrez le backend d' Instana.
- Arrêtez le système de back end.
stanctl down - Démarrez le système de back end.
stanctl up
Une fois le système dorsal redémarré, vérifiez le statut des pods Kafka .
kubectl get pods --all-namespaces | grep kafka
Le statut du pod Kafka doit être Running.
Les tests synthétiques planifiés ne s'exécutent pas après une sauvegarde et une restauration d' Instana
Une fois les données du backend et des agents d' Instana s restaurées, les tests synthétiques planifiés ne s'exécutent pas.
Pour résoudre ce problème, redémarrez le pod synthetic-pop-controller sur le cluster où il est installé.
Standard Edition L'installation sur RHEL 9.3 échoue
Red Hat® Enterprise Linux® 9.3 utilise l' 1.8.8 iptables.
Si vous installez Standard Edition sur RHEL 9.3, l'installation risque d'échouer en raison d'un problème avec iptables 1.8.8.
Pour contourner le problème, mettez à niveau votre hôte vers RHEl 9.4, qui met également à niveau iptables vers la version 1.8.10.
Échec de la mise à niveau sur Standard Edition 1.9.x
Lorsque vous mettez à niveau Standard Edition 1.9.x vers une version plus récente, vous pouvez rencontrer l'erreur suivante :
Error: installation failed for prerequisite app coredns: Unable to continue with install: ConfigMap "coredns" in namespace "kube-system" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "coredns"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "kube-system"
Pour résoudre ce problème, relancez la stanctl up commande.
La mise à niveau échoue avec les messages d'erreur « CPU insuffisant » ou « Mémoire insuffisante »
Vous pourriez rencontrer l'un des problèmes suivants lors de mises à niveau sur des déploiements à nœud unique d' K3s, dans des environnements aux ressources limitées ou où l'ajout de capacité temporaire n'est pas envisageable :
- Des erreurs telles que"Insufficient CPU"ou"Insufficient memory"
- Les cosses qui restent dans unPendingétat
La stratégie de mise à niveau par défaut « RollingUpdate » nécessite une capacité supplémentaire temporaire pour exécuter simultanément les anciens et les nouveaux pods pendant la mise à niveau. Sur les systèmes aux ressources limitées, cette exigence peut dépasser la capacité disponible du processeur ou de la mémoire, même lorsque le taux d'utilisation global semble faible.
stanctl up --core-update-strategy=Recreate
Pour plus d'informations sur la stratégie de mise à jour, consultez la section « Configuration de la stratégie de mise à jour pour les mises à niveau ».
La stratégie « Recreate » entraîne une brève interruption de service (de quelques minutes) pendant le processus de mise à niveau. Ce compromis est généralement acceptable pour les environnements hors production ou les systèmes dans lesquels il n'est pas possible d'augmenter la capacité matérielle.
Systemd ne définit pas de répertoire de travail par défaut
Lorsqu'il stanctl est lancé par un service systemd, systemd ne définit pas de répertoire de travail de lui-même. Si vous n'indiquez pas de répertoire de travail, systemd exécute le service à partir de /. Cette opération peut entraîner stanctl la création de fichiers, tels que des données de cluster, .stanctl ou des fichiers de configuration de l' Kubernetes, à un emplacement incorrect (souvent / ou /root/), même si le service utilise un utilisateur autre que root.
Pour remédier à ce problème, vous devez ajouter une WorkingDirectory= ligne au service systemd afin de créer les fichiers dans le répertoire personnel approprié de chaque utilisateur. Par exemple, WorkingDirectory=/home/instana.
Impossible de mettre à jour la licence
Lorsque vous exécutez la stanctl license update commande, celle-ci peut échouer et afficher le message d'erreur suivant :
...
no dependency found: 'instana-core'
...
Exécutez les commandes suivantes pour mettre à jour la licence :
stanctl license download --sales-key=<your-key>
stanctl backend apply
Instana La mise à niveau du backend échoue en raison d'une surcharge du disque du nœud
L'installation ou la mise à niveau du backend d' Instana peut échouer si le nœud est soumis à une forte charge de lecture/écriture sur le disque.
Symptômes
- L'installation ou la mise à jour du backend échoue.
- Les pods sont toujours en attente.
- Certaines charges de travail présentent
ContainerStatusUnknown.
Cause
Lors de l'installation, de la mise à niveau ou de l'importation de paquets en mode air-gapped, l'utilisation du disque augmente temporairement pendant le traitement des images de conteneurs et des artefacts. Si le nœud manque d'espace disque, Kubernetes déclenche une condition d' DiskPressure e et empêche le démarrage de nouveaux pods.
Vérification
- Exécutez la commande suivante pour vérifier l'état du nœud :
kubectl describe node <node-name>Dans la section « Conditions », consultez la rubrique « DiskPressure ».
- Exécutez la commande suivante pour vérifier l'utilisation du disque :
df -hVérifiez si l'espace disque disponible est proche de la limite maximale ou s'il a déjà atteint cette limite.
La solution
- Supprimez les images de conteneurs inutilisées ou les fichiers superflus pour libérer de l'espace disque.
- Augmenter la capacité de stockage du nœud.
Récupération
Si les charges de travail restent dans cet ContainerStatusUnknown état après avoir libéré de l'espace disque, redémarrez le nœud. Une fois le redémarrage terminé, réessayez l'installation ou la mise à jour.
La licence n'est pas valide ou est manquante
Si la licence n'est pas valide ou fait défaut, le serveur empêche les agents de se connecter.
Lorsque cela se produit
- La licence importée n'est pas valide.
- L'opérateur « Instana » ne peut pas appliquer la licence au backend de Groundskeeper.
Comment résoudre les problèmes
- Vérifiez que la clé de vente figurant dans le secret principal correspond aux chaînes de licence contenues dans le secret de l'unité. Si elles ne correspondent pas, téléchargez à nouveau la licence en utilisant la clé de vente appropriée.
- Vérifiez les journaux de l'opérateur « Instana » pour détecter d'éventuelles erreurs d'importation de licence :
kubectl logs -n instana-operator deployment/instana-operator --tail=100 - Vérifiez le composant backend de Groundskeeper, l'état du pod et les journaux :
kubectl get pods -n instana-core | grep groundskeeper - Si la licence apparaît toujours comme non valide, contactez le service d'assistance d' IBM.
L'installation échoue avec le message « Erreur fatale glibc : le processeur ne prend pas en charge l' x86‑64‑v2”
Symptôme
stanctl install, avec une erreur du type :Fatal glibc error: CPU does not support x86-64-v2
Cette erreur survient généralement avant l'installation de tous les composants et peut empêcher le démarrage de certains services, tels que Cassandra et Kafka.
Cause
Cette erreur indique que le système d'exploitation ne parvient pas à détecter le jeu d'instructions d' x86‑64‑v2. La cause la plus fréquente est une configuration du processeur de la machine virtuelle qui ne met pas à disposition les indicateurs CPU requis, souvent en raison de paramètres de compatibilité avec les versions antérieures.
Résolution
- Évitez d'utiliser les profils de compatibilité CPU hérités lors de la configuration de la machine virtuelle.
- Assurez-vous que le masquage du processeur n'est pas activé.
- Si la fonctionnalité EVC (Enhanced vMotion Compatibility) est activée, vérifiez qu'elle est configurée à un niveau prenant en charge les instructions d' x86‑64‑v2.
- Éteignez la machine virtuelle et mettez à jour la configuration du processeur.
- Si nécessaire, recréez la machine virtuelle avec les paramètres CPU mis à jour.
Contacter le support
Si vous ne parvenez pas à résoudre le problème, contactez le service d'assistance d' IBM. Fournissez le fichier archive que vous avez créé à l'équipe de support.