Configurer un emplacement privé

Vous pouvez installer une instance sur site; on parle alors d' PoP auto-hébergée (ou d' PoP privée).

Remarque : sur Instana en auto-hébergement, vous devez utiliser un emplacement privé.

Une adresse privée se trouve sur votre réseau privé. Vous pouvez déployer, maintenir et gérer cet emplacement pour exécuter des tests. Cette fonctionnalité est incluse dans votre licence d' Instana. Vous pouvez utiliser un emplacement privé aux fins suivantes :

  • Surveiller les applications qui ne sont pas accessibles au public
  • Effectuez les tests depuis vos propres sites ou bureaux

Pour utiliser un emplacement privé, procédez comme suit :

  1. Préparez l'environnement pour exécuter le programme.
  2. Télécharger les graphiques d' Helm.
  3. Déployez PoP. Installez un agent d' Instana sur le même cluster d' Kubernetes que celui sur lequel vous déployez l' PoP. Pour plus d'informations, consultez la section « Déploiement d'un site PoP auto-hébergé ».

Une fois déployé, le site s'enregistre auprès du serveur en tant que site privé. Si l'emplacement privé n'apparaît pas ou si vous obtenez une réponse vide à l'adresse OpenAPI,, vous pouvez consulter les journaux du contrôleur PoP. Pour plus d'informations, voir Identification des incidents.

Architecture

Le PoP synthétique s'exécute en tant qu'ensemble de pods Kubernetes dans le cluster Kubernetes . Voir l'architecture suivante.

Les moteurs de lecture suivants sont pris en charge pour les tests synthétiques. La valeur que vous définissez dans l' API e varie en fonction du type de test.

Moteur de lecture Type de test La valeur de l' API
HTTP API simple HTTPAction
JavaScript Script d'API HTTPScript
BrowserScript - Page Web simple ou navigateur simple - Node.js-based Script de navigateur - Selenium Script de page Web basé sur un script IDE WebpageAction BrowserScript WebpageScript
Surveillance des services Internet (ISM) - Certificat « SSL » - DNS SSLCertificate DNS

Prérequis

Le PoP synthétique doit être déployé dans un cluster Kubernetes . Utilisez le tableau « helm » pour déployer Synthetic PoP, et assurez-vous que Kubernetes et helm sont installés dans votre environnement.

  • Configurez un cluster Kubernetes où le PoP sera installé. La version minimale prise en charge pour la distribution Kubernetes est 1.10. Pour plus d'informations, voir Configuration de Kubernetes.
  • Installez Helmet Helm V3 est recommandé. Pour plus d'informations, voir Installation de Helm.

Pour plus d'informations sur la configuration matérielle requise pour le déploiement d' PoP, consultez la section « Planification de la capacité » à l'adresse PoP.

Procédure

Utilisez la commande d'installation helm pour installer une nouvelle instance de Synthetic PoP, et transmettez-lui les valeurs suivantes. Il est recommandé d'installer l' PoP e dans un espace de noms distinct.

  • clé de téléchargement : La clé de l'agent de téléchargement permettant d'extraire l'image decontainers.instana.ioDocker enregistrement.
  • controller.location: le format est label; displayLabel; country; city; latitude; longitude; description. Cette étiquette sert d'identifiant d' PoP; elle doit être constituée d'une seule chaîne de caractères, sans espace. Le nom ne peut contenir que des lettres, des chiffres, des tirets et le caractère « _ ».
  • controller.instanaKey : la clé de l'agent d' Instana, utilisée pour se connecter au backend d' Instana.
  • controller.instanaSyntheticEndpoint : le point de terminaison d'entrée de l'acceptateur Synthetic dans le backend d' Instana.
  • contrôleur.clusterName : En option. Il faut y indiquer le nom du cluster d' Kubernetes s qui doit s'afficher dans l'interface utilisateur d' Instana une fois l'agent d' Instana installé pour surveiller ce PoP.
  • redis.password : Mot de passe d'authentification pour le serveur redis. Indiquez un mot de passe d'une longueur d'au moins 10 caractères.
  • redis.tls.enabled : Définit si l' Redis TLS doit être activée ou non (valeur par défaut : false). Si la valeur est true, la communication avec Redis sera chiffrée à l'aide d' TLS
  • redis.tls.secretName : Si la valeur du redis.tls.enabled champ est true, vous devez spécifier un nom de secret pour les fichiers de clé ou de certificat de Redis TLS. Pour trouver les valeurs de downloadKey, controller.instanaKey et controller.instanaSyntheticEndpoint, procédez comme suit :
  1. Connectez-vous à l'interface utilisateur d' Instana, puis cliquez sur « Surveillance synthétique ».
  2. Cliquez sur « Emplacements ».
  3. Exécutez l'une des étapes suivantes :
    • Sur Instana SaaS,, cliquez sur « Créer un lieu » et sélectionnez « Privé ».
    • Sur Instana (version auto-hébergée), cliquez sur « Déployer un PoP » et sélectionnez « Privé ».
  4. Copiez les valeurs de downloadKey, controller.instanaKey et controller.instanaSyntheticEndpoint.

Pour configurer l'installation, spécifiez les valeurs dans la ligne de commande à l'aide de l'indicateur --set ou fournissez un fichier yaml avec vos valeurs à l'aide de l'indicateur -f .

Dans l'exemple suivant, un PoP synthétique avec le nom d'emplacement MyPoP est déployé et Redis utilise un mot de passe pour l'authentification. Vous devez mettre à jour les paramètres suivants en fonction de vos besoins:

helm install synthetic-pop \
    --repo https://agents.instana.io/helm  \
    --namespace syn \
    --create-namespace \
    --set downloadKey="yourdownloadkey" \
    --set controller.location="MyPoP;My PoP;MyCounty;MyCity;0;0;This is a testing Synthetic Point of Presence" \
    --set controller.instanaKey="instanaAgentkey" \
    --set controller.instanaSyntheticEndpoint="https://synthetics-green-saas.instana.io" \
    --set redis.tls.enabled=false \
    --set redis.password="a1fc5d01bcbb" \
    synthetic-pop
 

Vous pouvez également fournir votre adresse values.yaml pour déployer un site PoP. L'exemple suivant montre comment récupérer le modèle « values.yaml », puis transmettre le fichier YAML modifié pour déployer une instance de « PoP ».

helm repo add synthetic-pop-repo https://agents.instana.io/helm
helm repo update
helm pull synthetic-pop-repo/synthetic-pop
tar xzvf synthetic-pop-*.tgz
# Modify the synthetic-pop/values.yaml file
# Run helm install to pass the modified values.yaml
 helm install synthetic-pop \
    --repo https://agents.instana.io/helm  \
    --namespace syn \
    --create-namespace \
    -f /path/to/values.yaml \
    synthetic-pop
 

Une fois le PoP installé, assurez-vous que chaque pod est à l'état Running et Ready .

kubectl get pod -n syn
 

Connectez-vous à l'interface utilisateur d' Instana, cliquez sur « Synthetic Monitoring » > « Locations », et vous verrez alors votre emplacement apparaître dans la liste des emplacements. Si ce n'est pas le cas, accédez à la section Identification et résolution des problèmes pour vérifier les fichiers journaux.

Renforcement de la sécurité

Pour améliorer la sécurité sur les PoP synthétiques, appliquez les pratiques de sécurité suivantes.

Chiffrement TLS

Le contrôleur PoP et les différents moteurs de lecture communiquent via le serveur Redis et le contrôleur PoP fournit un noeud final pour le diagnostic d'intégrité. Vous pouvez configurer TLS pour chiffrer la communication via Redis TLS et chiffrer le point de terminaison du contrôleur PoP via HTTPS.

Pour configurer l' TLS, vous devez disposer de votre paire de clés de certificat X.509 (tls.crt, tls.key) et du fichier de certificat racine de l'autorité de certification (CA) (ca.crt). Si vous ne disposez pas de vos fichiers de clé et de certificat, vous pouvez également utiliser la openssl commande pour en générer de nouveaux. Voir cet exemple :

openssl genrsa -out tls.key 4096
openssl req -x509 -new -nodes -sha256 -key tls.key -days 3650 -subj '/O=Instana/CN=Certificate Authority' -out ca.crt
openssl req -new -sha256 -key tls.key -subj '/O=Instana/CN=Server' | openssl x509 -req -sha256 -CA ca.crt -CAkey tls.key -CAserial ca.txt -CAcreateserial -days 3650 -out tls.crt
 

Une fois les fichiers de clés / certificats fournis, utilisez la commande kubectl pour créer un secret.

# Create a new TLS secret named pop-tls-secret with the given key/cert files
kubectl create secret generic pop-tls-secret -n syn \
--type='kubernetes.io/tls' \
--from-file=ca.crt=path/to/ca.crt \
--from-file=tls.crt=path/to/tls.crt \
--from-file=tls.key=path/to/tls.key
 

Pour déployer un serveur de messagerie ( PoP ) afin de prendre en charge le service de messagerie d'entreprise ( TLS ), exécutez la commande suivante :

helm install synthetic-pop \
    --repo https://agents.instana.io/helm \
    --namespace syn \
    --create-namespace \
    --set downloadKey="yourdownloadkey" \
    --set controller.location="MyPoP;My PoP;MyCounty;MyCity;0;0;This is a testing Synthetic Point of Presence" \
    --set controller.instanaKey="instanaAgentkey" \
    --set controller.instanaSyntheticEndpoint="https://synthetics-green-saas.instana.io" \
    --set redis.tls.enabled=true \
    --set redis.tls.secretName="pop-tls-secret" \
    synthetic-pop
 

Mode de fonctionnement sécurisé

Vous pouvez utiliser le mode de calcul sécurisé (ou seccomp) pour mettre à niveau les privilèges d'un processus, ce qui restreint les appels de l'espace utilisateur vers le noyau. Utilisez le paramètre suivant pour activer RuntimeDefault comme profil seccomp par défaut pour tous les conteneurs.

Remarque : le profil seccomp par défaut ne fonctionne qu'avec la version 1.19 ou ultérieure d' Kubernetes, ou avec la version 4.11 ou ultérieure d'OCP ( OpenShift Container Platform ). Si seccompDefault n'est pas défini sur true pour OCP 4.11 ou une version ultérieure, des messages d'avertissement peuvent s'afficher lors de l'exécution de l'installation d' helm.
helm install synthetic-pop \
    --repo https://agents.instana.io/helm \
    --namespace syn \
   ...
    --set seccompDefault=true \
    synthetic-pop
 

Stratégie du réseau

En utilisant la politique de réseau, vous pouvez définir les modalités de communication d'un pod avec le réseau. Pour bloquer l'accès depuis le PoP à des adresses IP ou des plages d'adresses IP spécifiques, vous pouvez activer et personnaliser le paramètre playbackEngineNetworkPolicy . En règle générale, vous pouvez collecter les adresses IP suivantes:

  • Adresse IP du service de métadonnées du fournisseur de cloud : elle est 169.254.169.254 valable pour AWS (métadonnées) API, Google Cloud (métadonnées) API, Azure (métadonnées) API.
  • Kubernetes API Adresse IP du serveur : utilisez la commande « kubectl » pour récupérer l'adresse IP du serveur Kubernetes API. Consultez l'exemple suivant pour un cluster microk8s ou minikube Kubernetes :
# Use the following command to print apiserver endpoint
# For example, if the following command prints "Endpoints: 10.128.0.127:16443", you need to block the IP address 10.128.0.127
kubectl describe service kubernetes
 

Modifiez ensuite le fichier values.yaml dans les graphiques d' helm s comme suit afin de permettre aux règles de sortie de bloquer les adresses IP que vous avez recueillies.

playbackEngineNetworkPolicy:
  # Change the value to true to enable the network policy
  enabled: true
  egress:
    - to:
        - ipBlock:
            # Allow all IP address v4
            cidr: 0.0.0.0/0
            except:
              # Block Kubernetes API server IP address
              - 10.128.0.127/32
              # Block cloud provider metadata service IP address
              - 169.254.169.254/32
 

Consultez l'exemple suivant pour transmettre une règle réseau à l'aide de --set:

# --set-json only be supported since Helm V3.11
helm install synthetic-pop \
    --repo https://agents.instana.io/helm \
    --namespace syn \
   ...
    --set playbackEngineNetworkPolicy.enabled=true \
    --set-json 'playbackEngineNetworkPolicy.egress=[{"to":[{"ipBlock":{"cidr":"0.0.0.0/0","except":["10.128.0.127/32","169.254.169.254/32"]}}]}]' \
    synthetic-pop
 

Scénario de migration

Pour prendre en charge le scénario de migration du backend, vous pouvez spécifier plusieurs points de terminaison d'acceptation Synthetic et plusieurs clés d'agent d' Instana, séparées par des points-virgules. Instana Il existe une correspondance biunivoque entre les clés d'agent et les points d'extrémité des accepteurs synthétiques. Pendant la période de migration, l' PoP e synthétique peut envoyer des données à la fois à l'ancien et au nouveau backend afin d'éviter toute interruption de service.

Voir l'exemple suivant :

helm install synthetic-pop \
    --repo https://agents.instana.io/helm \
    --namespace syn \
    --set controller.instanaKey="instanaAgentkey;anotherInstanaAgentKey" \
    --set controller.instanaSyntheticEndpoint="https://synthetics-green-saas.instana.io;https://synthetics-green-saas.instana.host" \
    ...
 

Mise à niveau

Il est recommandé de mettre à niveau régulièrement votre PoP Synthetic vers la version la plus récente car la dernière version de PoP Synthetic peut contenir de nouvelles fonctions, des améliorations ou des correctifs. Pour vérifier votre version de PoP , accédez à Synthetic Monitoring et cliquez sur l'onglet Emplacements . La colonne "Version" affiche la version PoP . Pour vérifier la dernière version de SyntheticPoP, voir SynthétiquePoP graphique Publié dansArtifactHUB .

Utilisez la commande « helm » pour mettre à jour une instance de Synthetic PoP vers la dernière version. Consultez l'exemple suivant : Vous pouvez modifier les paramètres si nécessaire. Pour mettre à jour l' PoP e vers une version spécifique, ajoutez --version <version> le paramètre.

helm upgrade synthetic-pop \
    --repo https://agents.instana.io/helm \
    --namespace syn \
    --set downloadKey="yourdownloadkey" \
    --set controller.location="MyPoP;My PoP;MyCounty;MyCity;0;0;This is a testing Synthetic Point of Presence" \
    --set controller.instanaKey="instanaAgentkey" \
    --set controller.instanaSyntheticEndpoint="https://synthetics-green-saas.instana.io" \
    --set redis.tls.enabled=false \
    --set redis.password="a1fc5d01bcbb" \
    synthetic-pop
 

Remarque :

  • Lelabel valeur dans le emplacement Le paramètre est un identifiant duPoP, et n'est pas autorisé à changer. Il est recommandé de modifier la valeur displayLabel comme vous le souhaitez.
  • La mise à jour du mot de passe de l' redis e n'est pas autorisée. Si vous devez absolument le modifier, désinstallez-le, puis réinstallez-le en utilisant le mot de passe mis à jour de redis.

Désinstallation

Utilisez la commande de désinstallation helm pour désinstaller une instance d' PoP de Synthetic.

helm uninstall synthetic-pop -n syn
 
Remarque : une fois l' PoP ation désinstallée, l'emplacement PoP's continue d'apparaître dans l'interface utilisateur de l' Instana avec offline le statut. Vous pouvez réinstaller l' PoP ation au même emplacement pour que celui-ci soit à nouveau accessible en ligne, ou supprimer l'emplacement dans l'interface utilisateur si vous ne l'utilisez plus.

Plus d'options de configuration

Activation du moteur de lecture

Vous pouvez désactiver certains moteurs de simulation en fonction de vos besoins. Par exemple, vous pouvez désactiver le moteur de lecture BrowserScript si vous n'avez plus besoin de tests de navigateur. Désactivez le moteur de lecture en transmettant le paramètre suivant pour réduire les ressources d'UC et de mémoire de votre PoPsynthétique.

--set browserscript.enabled=false
 

Capacités

Lecontroller.capabilities La propriété définit les capacités de lecture pour le synthétiquePoP, y compris les types de tests synthétiques et de navigateurs Web pris en charge.

CustomProperties

La propriété controller.customProperties définit les balises ou les propriétés personnalisées de ce PoP. La propriété est une liste de paires key:value , séparées par un point-virgule, par exemple key1=value1;key2=value2.

Utilisez une expression de type « API » (par exemple ) $env.key1 pour accéder à la propriété personnalisée ou à la balise dans un script « API » ou un script de navigateur.

Proxy

Vous pouvez configurer un serveur proxy pour Synthetic PoP afin de vous connecter au serveur backend Instana. Les options suivantes sont prises en charge.

  • proxy.popProxyProtocol: protocole utilisé par le serveur proxy. Définissez la valeur sur http ou socks.
  • proxy.popProxyServer: adresse du serveur proxy au format ipaddress:port .
  • proxy.popProxyUserPass: nom d'utilisateur et mot de passe permettant d'authentifier le serveur proxy. Entrez le nom d'utilisateur et le mot de passe au format username:password .
Remarque : pour configurer le serveur proxy de Synthetic PoP afin qu'il se connecte aux services surveillés, vous pouvez utiliser l' API e $network pour définir un serveur proxy dans le script d' API ou le script de navigateur.

Proxy du moteur de lecture (trafic de test externe uniquement)

Vous pouvez utiliser cette configuration lorsque le backend Self-Hosted Instana et le service Synthetic PoP fonctionnent sur le même réseau. Le contrôleur « PoP » peut se connecter directement au backend sans passer par un proxy; seuls les moteurs de lecture ont besoin d'un accès via un proxy pour tester les points de terminaison externes.

Vous pouvez configurer des variables d'environnement de proxy sur les conteneurs du moteur de lecture afin d'acheminer le trafic sortant des tests synthétiques, tels que les tests HTTP, JavaScript,, BrowserScript, et ISM, via un proxy d'entreprise. Ces paramètres s'appliquent uniquement à l'exécution des tests synthétiques et n'ont aucune incidence sur la connectivité entre l' PoP e et le backend.

Variables d'environnement prises en charge :

  • HTTP_PROXY: Serveur proxy pour les requêtes sortantes vers HTTP
  • HTTPS_PROXY: Serveur proxy pour les requêtes sortantes vers HTTPS
  • NO_PROXY: Hôtes ou domaines qui doivent contourner le proxy (par exemple, le backend Instana et les domaines du cluster interne)
Exemple :
HTTP_PROXY: "http://proxy:3128"
HTTPS_PROXY: "http://proxy:3128"
NO_PROXY: "instana.backend.example.com,.svc,.cluster.local"
Remarque : ces paramètres sont facultatifs et ne s'appliquent qu'aux moteurs de lecture. Utilisez les paramètres de proxy pour configurer un proxy permettant la communication entre l'interface PoP et le serveur Instana.

Utilisation de secrets externes

Si vous ne souhaitez pas utiliser la charte Helm pour créer de nouveaux secrets pour les clés controller.instanaKey, redis.password, proxy.popProxyUserPasset downloadKey, vous pouvez utiliser les secrets existants que vous avez créés pour le déploiement PoP synthétique en spécifiant les noms de secret comme suit:

helm install synthetic-pop \
    --repo https://agents.instana.io/helm \
    --namespace syn \
    --set downloadSecret="my-pull-secret" \
    --set controller.instanaKeySecret="my-pop-secret" \
    --set redis.passwordSecret="my-pop-secret" \
    --set proxy.popProxyUserPassSecret="my-pop-secret" \
    ...
 

Pour les clés controller.instanaKey, redis.passwordet proxy.popProxyUserPass, vous pouvez utiliser le même secret ou des secrets existants différents. Cependant, lorsque vous créez le secret, vous devez utiliser les champs de clé spécifiés instana-key, redis -password et proxy-user-pass comme suit :

 kubectl create secret generic my-pop-secret  --namespace <namespace> \
 --from-literal=instana-key='<instana agent key>'  \
 --from-literal=redis-password='<redis password>'  \
 --from-literal=proxy-user-pass='<proxy username and password>'
 
Remarque : vous devez remplacer <namespace> par l'espace de noms que vous utilisez pour installer l' PoP Synthetic.

Le secret de la clé downloadKey doit utiliser le type kubernetes.io/dockerconfigjson . Vous pouvez créer le secret avec le type kubernetes.io/dockerconfigjson comme suit:

kubectl create secret docker-registry my-pull-secret --namespace <namespace> --docker-server="https://containers.instana.io" --docker-username="_" --docker-password="<downloadKey>"
 

Remarques :

  • Remplacez < namespace> par l'espace de nom que vous utilisez pour installer Synthetic PoP.
  • Ne modifiez pas la valeur de l'argument -- docker -username.
  • Remplacez « <downloadKey> » par la clé de téléchargement de « Instana ».

Surveillance

Vous pouvez surveiller l' PoP e synthétique à l'aide de l'agent hôte d' Instana. Instana L'agent hôte utilise le capteur « Synthetic PoP » pour surveiller PoP.

Capteur d' PoP s synthétiques

Pour surveiller votre instance Synthetic PoP,, il est recommandé d 'installer l'agent hôte Instana sur le cluster Kubernetes où votre instance PoP est installée.

Le capteur « Synthetic PoP » est installé automatiquement pour surveiller votre PoP une fois l'agent hôte Instana installé. Vous pouvez consulter les indicateurs dans l'interface utilisateur d' Instana et recevoir des alertes en cas de problème de santé affectant votre « Synthetic » PoP.

Attribution d'un pod de contrôleur « PoP » à un nœud fixe

Lorsque vous mettez à niveau un PoP synthétique dans un cluster Kubernetes avec plusieurs noeuds, le pod de contrôleur PoP peut être affecté à un noeud différent de celui que vous souhaitez. Si le contrôleur PoP est affecté à un noeud différent, l' entityId PoP est modifié. Les données de santé PoP du tableau de bord de surveillance PoP sont perdues car les données sont associées à la règle POP entityId. Les résultats et les détails des résultats des tests synthétiques exécutés dans ce PoP ne sont pas impactés.

Pour éviter de perdre des données de santé PoP , affectez le pod de contrôleur PoP à un noeud fixe avant de mettre à niveau ou d'installer un PoPsynthétique.

Pour affecter le contrôleur PoP à un noeud fixe, procédez comme suit:

  1. Ajoutez un libellé au noeud en exécutant la commande suivante:

    kubectl label nodes <yournode> scheduler=synthetic-pop-controller
     
  2. Spécifiez le paramètre suivant dans la helm install commande helm upgrade ou : --set controller.nodeSelector.enabled=true

Pour affecter un pod de contrôleur PoP à un noeud fixe et exclure d'autres pods de ce noeud, procédez comme suit:

  1. Ajoutez une teinte au noeud en exécutant la commande suivante:

    kubectl taint nodes <yournode> toleration=synthetic-pop-controller:PreferNoSchedule
     
  2. Spécifiez le paramètre suivant dans la helm install commande helm upgrade ou : --set controller.taintSelector.enabled=true

Traitement des incidents

Pour vérifier la version de la charte Helm , exécutez la commande suivante:

helm list -n <namespace>
 

Vous pouvez obtenir le numéro de version à partir du résultat, tel que synthetic-pop-<version>.

Si vous rencontrez des problèmes, par exemple si l'emplacement que vous avez spécifié ne s'affiche pas dans l'interface utilisateur synthétique d' Instana, commencez par vérifier le journal du contrôleur PoP en exécutant la commande suivante :

kubectl logs -n <namespace> -f <pop_controller_pod_name>
 

Pour modifier le niveau de trace de chaque composant, vous pouvez passer letraceLevel valeurs comme suit pour effectuer une mise à niveau sur votrePoP:

--set controller.traceLevel="DEBUG" \
--set http.traceLevel="DEBUG" \
--set javascript.traceLevel="DEBUG" \
--set browserscript.traceLevel="DEBUG" \
--set ism.traceLevel="DEBUG" \
--set redis.traceLevel="DEBUG"
 

Vous pouvez également modifier dynamiquement le niveau de trace du contrôleur PoP sans redémarrer le pod en exécutant la commande set_trace_level.sh dans le conteneur.

# enter synthetic-pop-controller container
kubectl exec -it -n <namespace> <pop_controller_pod_name> -- bash
# run set_trace_level.sh command to change trace level to DEBUG
./set_trace_level.sh DEBUG
 

Un pdcollect.sh script est fourni pour collecter et regrouper les fichiers journaux de Synthetic PoP dans un tar.gz fichier, puis l'envoyer à l'équipe d'assistance de Instana afin d'obtenir de l'aide. Vous trouverez le pdcollect.sh script dans le répertoire « charts » du site InstanaHelm, ou vous pouvez le télécharger depuis le dépôt « synthetic-pop-charts ».

Exécutez la commande suivante :

# collect PoP logs from a namespace
./pdcollect.sh -n <namespace>
 

Consultez les fichiers journaux du contrôleur PoP . Les étapes de traitement des incidents pour chaque message d'erreur sont répertoriées dans les sections suivantes.

Statut 403 Accès interdit

Si le message d'erreur suivant apparaît dans le fichier journal du contrôleur PoP : Request failed with status code: 403

Causes possibles de cette erreur:

  • Instana La clé est incorrecte
  • Votre licence n'est pas validée.
  • Le point de terminaison synthétique URL est valide, mais il appartient à une autre installation auto-hébergée ou à une autre région de production.

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

  1. Dans l'interface utilisateur d' Instana, accédez à « Surveillance synthétique » > « Emplacements ».
  2. Cliquez sur « Créer un lieu ». La boîte de dialogue « Créer un emplacement » s'affiche.
  3. Sélectionnez Privé.
  4. Cliquez sur Suivant.
  5. Dans l'onglet Simple , vérifiez si les paramètres controller.instanaKey et controller.instanaSyntheticEndpoint sont correctement définis.
  6. Vérifiez si votre licence est validée et si elle n'est pas arrivée à expiration.

Pour résoudre ce problème sur une instance auto-hébergée d' Instana, procédez comme suit :

  1. Dans l'interface utilisateur d' Instana, accédez à « Surveillance synthétique » > « Emplacements ».
  2. Cliquez sur Déployer un PoP. La boîte de dialogue Déployer un PoP s'affiche.
  3. Dans l'onglet Simple , vérifiez si les paramètres controller.instanaKey et controller.instanaSyntheticEndpoint sont correctement définis.
  4. Vérifiez que votre permis est valide et qu'il n'a pas expiré.

Statut 404 - Page introuvable

Si le message d'erreur suivant apparaît dans le fichier journal du contrôleur PoP : Request failed with status code: 404

Causes possibles de cette erreur:

  • L' URL de point final synthétique n'est pas correctement configurée.
  • Si vous utilisez un backend Instana auto-hébergé, il y a un problème avec l'acceptor Synthetic ou l'équilibreur de charge.

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

  1. Dans l'interface utilisateur d' Instana, accédez à « Surveillance synthétique » > « Emplacements ».
  2. Cliquez sur « Créer un lieu ». La boîte de dialogue « Créer un emplacement » s'affiche.
  3. Sélectionnez Privé.
  4. Cliquez sur Suivant.
  5. Dans l'onglet Simple , vérifiez si les paramètres controller.instanaKey et controller.instanaSyntheticEndpoint sont correctement définis.

Pour résoudre ce problème sur Instana en auto-hébergement, procédez comme suit :

  1. Dans l'interface utilisateur d' Instana, accédez à « Surveillance synthétique » > « Emplacements ».
  2. Cliquez sur Déployer un PoP. La boîte de dialogue Déployer un PoP s'affiche.
  3. Dans l'onglet Simple , vérifiez si les paramètres controller.instanaKey et controller.instanaSyntheticEndpoint sont correctement définis.

Si vous utilisez un backend Instana auto-hébergé et que le controller.instanaSyntheticEndpoint paramètre est correctement défini, vérifiez si l'équilibreur de charge et l'acceptateur Synthetic fonctionnent correctement. Pour plus d'informations, consultez la section « Configuration des équilibreurs de charge » et DNS

Statut 503 : service indisponible

Si le message d'erreur suivant apparaît dans le fichier journal du contrôleur PoP : Request failed with status code: 503

Causes possibles de cette erreur:

  • Il y a un problème avec les entrées, les itinéraires ou le service « LoadBalancer » qui a été créé lors de l'installation du backend auto-hébergé de Instana.

Pour résoudre ce problème, vérifiez les services « Ingresses », « Routes » ou « LoadBalancer » disponibles qui ont été créés lors de l'installation du backend auto-hébergé d' Instana. Créez ou mettez à jour les services manquants ou les services qui ne sont pas valides. Pour plus d'informations, consultez les sections « Configuration des équilibreurs de charge » et « DNS ».

Name or service not known

Si le message d'erreur suivant apparaît dans le fichier journal du contrôleur PoP : java.net.UnknownHostException: <hostname>: Name or service not known

Causes possibles de cette erreur:

  • Le nom d'hôte indiqué dans le paramètre controller.instanaSyntheticEndpoint est incorrect.
  • Un problème lié à l' DNS dans votre cluster Kubernetes.
  • Problème lié à l'ajout d'une politique de sortie explicite sur le contrôleur.

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

  • Vérifiez si le paramètre controller.instanaSyntheticEndpoint est défini correctement.
  • Vérifiez la configuration de l' DNS e dans votre cluster Kubernetes; consultez la section « Débogage de la résolution d' DNS e ».
  • Remplacez le nom d'hôte par une adresse IP dans le paramètre controller.instanaSyntheticEndpoint .
  • Définissez une politique réseau explicite pour le trafic sortant sur le contrôleur afin d'autoriser toutes les communications nécessaires avec les pairs. La politique par défaut est « allowed-all », qui autorise le trafic sortant sur tous les ports vers n'importe quel pair.
  • Configurez la politique de réseau sortant sur le contrôleur afin d'autoriser la communication entre les pairs ou les ports sélectionnés. Les exemples suivants présentent des politiques qui s'alignent sur le principe « tout refuser », à l'exception des cas explicitement mentionnés; elles pourraient donc restreindre la communication avec les points de terminai Instana.
  egress:
    - ports:
      - port: 6379
        protocol: TCP
      to:
      - podSelector:
          matchLabels:
            app: redis
        namespaceSelector:
          matchLabels:
            kubernetes.io/metadata.name: {{ .Values.controller.redisNamespace }}
 
   egress:
    - ports:
      - port: 80
        protocol: TCP
      - port: 443
        protocol: TCP
 

Erreur de certificat

Lorsque vous créez un test SSLCertificate pour tester un certificat auto-signé, l'exécution du test peut échouer et générer une erreur « Aucun certificat ». Ce problème survient car les certificats auto-signés ne sont pas pris en charge. Pour résoudre le problème à l'aide de l'outil « Instana » ( OpenAPI, ), procédez comme suit :

  1. Assurez-vous que la version du backend d' Instana est 3.292.x.
  2. Mettez à niveau l' PoP synthétique vers R292, version 1.2.13.
  3. Mettez à jour le test SSLCertificate, qui affiche l'erreur « Aucun certificat », en appliquant le correctif « Patch a Synthetic test », avec la charge utile suivante :
{
  "configuration": {
    "acceptSelfSignedCertificate": true
  }
}
 

Pour résoudre le problème depuis l'interface utilisateur d' Instana, procédez comme suit :

  1. Assurez-vous que la version du backend d' Instana est 3.297.x.
  2. Go Accédez à « Surveillance synthétique » et sélectionnez le test de certificat « SSL » qui utilise un certificat auto-signé.
  3. Sur la page Configuration, cliquez sur Modifier, puis sélectionnez Accepter le certificat auto-signé.