Configuration du collecteur d' Go s

Une fois le collecteur d' Go s installé, vous devez le configurer pour surveiller vos applications Go en indiquant les paramètres de configuration requis.

Configuration du collecteur

Dans la plupart des cas, il suffit d'initialiser le collecteur Instana Go et instana.NewSensor() de conserver les options de configuration par défaut. Vous pouvez également transmettre un objet de configuration lors de l'initialisation du collecteur Instana Go :

sensor := instana.NewSensorWithTracer(
        instana.NewTracerWithOptions(&instana.Options{
                // ...
        },
)

L'objet instana.Options de configuration propose les champs suivants pour configurer le collecteur :

  • Service - nom du service global qui sera utilisé pour identifier le programme dans le système d'arrière plan Instana
  • AgentHost, AgentPort - par défaut localhost:42699, définir les coordonnées de l'agent proxy d' Instana
  • LogLevel - l'un des Error, Warn, Info ou Debug
  • EnableAutoProfile - active le profilage de processus continu automatique lorsque true
  • MaxBufferedSpans - le nombre maximal d'étendues dans la mémoire tampon
  • ForceTransmissionStartingAt - le nombre d'étendues à collecter avant de vider la mémoire tampon vers l'agent
  • MaxBufferedProfiles - le nombre maximal de profils vers la mémoire tampon
  • IncludeProfilerFrames - Indique s'il faut inclure des appels de profileur dans le profil ou non
  • Tracer - configuration spécifique au traceur utilisée par toutes les instances de traceur

La plupart de ces valeurs peuvent également être définies à l'aide de variables d'environnement. La configuration dans l'application est prioritaire par rapport à l'utilisation des variables d'environnement, sauf pour les paramètres suivants :

  • INSTANA_SERVICE_NAME permet de remplacer le nom de service défini dans le code
  • INSTANA_PROCESS_NAME permet de remplacer le nom de l'entité d'infrastructure qui représente le processus Go.
  • INSTANA_DEBUG active les journaux de débogage même si la configuration du code de l'application définit un niveau de journalisation plus élevé
  • INSTANA_AUTO_PROFILE active le profilage continu avec AutoProfile™

Exécution dans un environnement sans serveur

Pour utiliser Instana Go Collector afin de surveiller un service s'exécutant dans un environnement sans serveur, tel que AWS Fargate ou Google Cloud Run, assurez-vous que les variables d'environnement INSTANA_AGENT_KEY et INSTANA_ENDPOINT_URL sont définies dans votre définition de tâche. Notez que les variables d'environnement INSTANA_AGENT_HOST et INSTANA_AGENT_PORT seront ignorées dans ce cas. Pour obtenir des explications détaillées sur la manière de procéder, consultez la section correspondante de la documentation de Instana :

Les services exécutés dans des environnements sans serveur n'utilisent pas d'agent hôte pour envoyer des métriques et des données de traçage au backend d' Instana; par conséquent, la méthode habituelle de configuration du capteur intégré via configuration.yaml un fichier n'est pas applicable. À la place, il existe un ensemble de variables d'environnement qui peuvent éventuellement être configurées dans la définition de tâche de service :

  • INSTANA_TIMEOUT
  • INSTANA_SECRETS
  • INSTANA_EXTRA_HTTP_HEADERS
  • INSTANA_ENDPOINT_PROXY
  • INSTANA_TAGS
  • INSTANA_ZONE

Pour une description plus détaillée de ces variables et du format de leurs valeurs, consultez la section « Surveillance sans serveur ».

Kafka en-têtes de corrélation de trace

Vous pouvez configurer le format des en-têtes de corrélation de trace d' Kafka, utilisés par le traceur Go, à l'aide de la variable d'environnement INSTANA_KAFKA_HEADER_FORMAT. Les valeurs valides sont binary, stringou both.

Une autre solution consiste à configurer le format d'en-tête de corrélation des traces d' Kafka au niveau de l 'agent hôte Instana.

Pour plus d'informations, voir Kafka Header Migration.