Configuration du backend d' Instana sur Docker

Vous pouvez configurer le backend d' Instana sur Docker.

Création d'un modèle pour le fichier « settings.hcl »

Le fichier settings.hcl est généré lors du processus d'installation. Ce fichier contient toutes les configurations, telles que la clé de téléchargement, la clé de vente, ainsi que les paramètres liés à l' Instana, notamment le profil, le nom du tenant, le nom de l'unité et le nom d'hôte de l'environnement. Ces configurations sont nécessaires pour installer le backend Instana. Vous pouvez configurer ce fichier, puis Instana-console l'utiliser pour installer l'édition Classic en auto-hébergement ( Docker ).

Remarque : si vous souhaitez installer Instana, vous devez installer le settings.hcl fichier.

Si nécessaire, créez un fichier settings.hcl avec des valeurs par défaut (vides) en exécutant la commande suivante:

instana settings template
 

Configurations par défaut

Les valeurs des paramètres suivants sont renseignées lors de l'installation:

type      = "single"
profile   = "normal"
tenant    = "<Your-tenancy-identifier>"
unit      = "<Your-backend-identifier>"
agent_key = "<Your-agent-key>"
sales_key = "<Your-sales-key>"
host_name = "<The-FQDN-of-the-machine-the-backend-is-installed-on>"
token_secret = "<max_12_digits>"

cert {
  crt     = "<Path-to-your-signed-certificate>"
  key     = "<Path-to-your-private-key-file>"
}
 

Si vous souhaitez modifier les paramètres, exécutez la commande vi settings.hcl . Pour appliquer les nouveaux paramètres de configuration à votre édition Classic, exécutez instana update la commande.

Répertoires de données

Instana utilise par défaut les structures de répertoires suivantes :

dir {
  metrics  = "/mnt/metrics"
  traces   = "/mnt/traces"
  data     = "/mnt/data"
  logs     = "/var/log/instana"
}
 
Tableau 1. Répertoires de données
Répertoire Description Type
Métriques Cassandra crée son répertoire de données dans ce répertoire parent. Montez le répertoire sur une unité haute E-S avec des disques dédiés (/mnt/metrics). chaîne
Traces ClickHouse crée son répertoire de données dans ce répertoire parent. Montez le répertoire sur une unité haute E-S avec des disques dédiés (/mnt/traces). chaîne
Données Instana et les composants tiers stockent des données dans ce répertoire parent. chaîne
Journaux Tous les composants de la pile Instana créent des fichiers journaux dans ce répertoire parent. chaîne

Enregistrer les identifiants de connexion

Tous les magasins de données requièrent une authentification. Facultatif: configurez les données d'identification. Les données d'identification qui ne sont pas spécifiées sont initialement générées et ajoutées au fichier settings.hcl . Vous pouvez modifier les mots de passe en les mettant à jour dans le fichier settings.hcl .

Pour appliquer les modifications, exécutez la commande suivante:

instana update
 
Remarque : seuls les mots de passe peuvent être modifiés. Les utilisateurs sont fixes et ne peuvent pas être modifiés.
...
datastore "cassandra" {
  user     = "cassandra"
  password = "SECURE_PASS"
}
datastore "elasticsearch" {
  user     = "elastic"
  password = "SECURE_PASS"
}
datastore "kafka" {
  user     = "kafka"
  password = "SECURE_PASS"
}
datastore "clickhouse" {
  user     = "clickhouse"
  password = "SECURE_PASS"
}
datastore "postgres" {
  user     = "postgres"
  password = "SECURE_PASS"
}
datastore "aggregator" {
  user     = "aggregator"
  password = "SECURE_PASS"
}
...
 

Cas particulier : plusieurs hôtes

Remarque : dans le cas d'une configuration à plusieurs serveurs, les identifiants de l' ClickHouse ne sont pas créés automatiquement sur le serveur backend Instana, car ils doivent correspondre aux valeurs du serveur ClickHouse.

Copiez le bloc d'informations d'identification de l' ClickHouse depuis l'hôte ClickHouse vers le settings.hcl fichier de l'hôte Instana.

Conservation des données

Conservation des données pour la surveillance de l'infrastructure et de la plateforme

Les paramètres de conservation des données suivants sont calculés au cours de l'installation. La valeur zéro indique au système de ne pas supprimer les cumuls de cet intervalle de temps. Une valeur nulle pour les regroupements moins volumineux peut entraîner un remplissage rapide des disques.

retention {
  metric_roll_up_5     = 86400
  metric_roll_up_60    = 2678400
  metric_roll_up_300   = 8035200
  metric_roll_up_3600  = 34214400
}
 

Lorsque BeeInstana Metric Pipeline (aperçu public) est activé, vous pouvez configurer la conservation des métriques stockées dans le magasin de données BeeInstana . Voir l'exemple suivant :

env_var "FLAGS_retention_10s"{
  value="86400"
}
env_var "FLAGS_retention_60s"{
  value="2678400"
}
env_var "FLAGS_retention_300s"{
  value="8035200"
}
env_var "FLAGS_retention_3600s"{
  value="34214400"
}
 
Tableau 2. Indicateurs de fidélisation
Conservation Description Type
metric_roll_up_5 Durée (en secondes) pendant laquelle les résumés sur 1 et 5 secondes sont disponibles int
metric_roll_up_60 Durée (en secondes) pendant laquelle les résumés sur une minute sont disponibles int
metric_roll_up_300 Durée (en secondes) pendant laquelle les résumés de 5 minutes sont disponibles int
metric_roll_up_3600 Durée (en secondes) pendant laquelle les résumés horaires sont disponibles int
FLAGS_retention_10s Durée (en secondes) pendant laquelle les données métriques de 10 secondes stockées dans l' BeeInstana s sont conservées int
FLAGS_retention_60s Durée (en secondes) pendant laquelle les données métriques enregistrées toutes les 60 secondes et stockées dans l' BeeInstana, sont conservées int
FLAGS_retention_300s Durée (en secondes) pendant laquelle les données métriques toutes les 5 minutes stockées dans l' BeeInstana s sont conservées int
FLAGS_retention_3600s Durée (en secondes) pendant laquelle les données métriques horaires stockées dans l' BeeInstana s sont conservées int
Remarque : la granularité du graphique est déterminée uniquement en fonction de la durée de la période sélectionnée. Cela signifie que la modification de la durée de conservation des données métriques n'a aucune incidence sur la granularité des données métriques affichées dans les tableaux de bord d' Instana. Ces propriétés de conservation des métriques sont fournies à titre d'information uniquement et ne doivent pas être modifiées.

Conservation des données pour la surveillance des perspectives d'application et de l'utilisateur final

Les perspectives d'application et la surveillance des utilisateurs finaux partagent toutes deux le paramètre de conservation des données suivant :

retention {
  app_data_short_term  = 7
}
 
Tableau 3. Durée de conservation
Conservation Description Type
app_data_short_term Jours de conservation. int

La modification de la zone app_data_short_term peut avoir un impact uniquement sur les nouvelles données des perspectives d'application .

Remarque : seules les valeurs supérieures ou égales à 7 jours sont valides. Les valeurs inférieures à 7 entraînent une défaillance de l'ensemble du système.

Voir cet exemple :

  • app_data_short_term passe de 7 jours à 14 jours: les anciennes données sont supprimées si elles datent de plus de 7 jours, tandis que les nouvelles données sont supprimées si elles datent de plus de 14 jours.
  • app_data_short_term passe de 14 jours à 7 jours: les anciennes données sont supprimées si elles sont antérieures à 14 jours, tandis que les nouvelles données sont supprimées si elles sont antérieures à 7 jours.

La modification de ce app_data_short_term champ a un effet immédiat sur les anciennes et les nouvelles données de surveillance des utilisateurs finaux.

Voir cet exemple :

  • app_data_short_term passe de 7 jours à 14 jours: les anciennes et les nouvelles données sont supprimées si elles datent de 14 jours.
  • app_data_short_term passe de 14 jours à 7 jours: les anciennes et les nouvelles données sont supprimées si elles datent de 7 jours.

Au-delà de la période de conservation, un sous-ensemble des données est conservé pendant 13 mois.

Paramètres

Paramètres du référentiel Docker

Consultez les paramètres suivants:

docker_repository {
  base_url = "my.mirror.internal/v2/artifact-public.instana.io"
  username = "user"
  password = "pass"
}
 
Tableau 4. Docker paramètres du référentiel
Paramètre Description Type
base_url URL de base du référentiel miroir, en fonction de votre étiquette. chaîne
username Nom d'utilisateur du serveur de référentiel. chaîne
password Mot de passe du serveur de référentiel. chaîne

paramètres de surveillance des utilisateurs finaux (EUM)

Consultez les paramètres suivants:

eum {
  tracking_base_url     = "https://mobile.acmecorp.com/eum/"
}
 
Tableau 5. Paramètres de surveillance des utilisateurs finaux (EUM)
Paramètre Description Type
tracking_base_url URL sous lequel le point de terminaison de surveillance de l'ingestion par l'utilisateur final est publié. Cette configuration n'a aucune incidence sur l'ingestion ou le traitement des données. Elle sert plutôt à afficher des informations correctes et des instructions d' JavaScript de l'agent de l'application mobile au sein de l'interface utilisateur d' Instana. Pour plus d'informations, consultez la documentation dédiée à la configuration de la surveillance des utilisateurs finaux. chaîne

Paramètres du serveur de notifications

Consultez les paramètres suivants:

email {
  smtp {
    from      = "notif@acmecorp.com"
    host      = "relay-1.acme.internal"
    port      = 25
    user      = "ops-notif@acmecorp.com"
    password  = "yUnoEm41l"
    use_ssl   = true
    start_tls = false
  }
}
 
Tableau 6. Paramètres du serveur de notifications
Paramètre Description Type
from Adresse électronique de l'expéditeur dans les courriers électroniques de notification. chaîne
host Adresse du serveur SMTP ou nom d'hôte qui envoie les courriers électroniques de notification. chaîne
port Port du serveur SMTP qui envoie les courriers électroniques de notification. int
user Nom d'utilisateur du serveur SMTP qui envoie les courriers électroniques de notification. chaîne
password Mot de passe du serveur SMTP qui envoie les courriers électroniques de notification. chaîne
use_ssl Cette valeur indique si le serveur SMTP qui envoie les e-mails de notification utilise le protocole de cryptage SSL. booléen
start_tls Cette valeur indique si le serveur SMTP qui envoie les e-mails de notification passe à TLS une fois la connexion établie. booléen

Paramètres OAuth

Consultez les paramètres suivants:

o_auth {
  client_id     = "123456-1n574n4adgjlmnop.apps.googleusercontent.com"
  client_secret = "XNLV-fpf_deadBeEf1234"
}
 
Tableau 7. OAuth paramètres
Paramètre Description Type
client_id ID client pour les données d'identification Google. chaîne
client_secret Mot de passe secret du client pour les données d'identification Google. chaîne

Paramètres du proxy

Consultez les paramètres suivants:

proxy {
  host     = "10.9.4.13"
  port     = 8080
  user     = "anonymous"
  password = "P4ssword1234"
  non_proxyHosts = ["google.com"]
}
 
Tableau 8. Paramètres du proxy
Paramètre Description Type
host Si votre serveur dorsal communique avec Internet à l'aide d'un serveur proxy, entrez l'adresse du proxy ou le nom d'hôte. chaîne
port Port auquel s'adresse le serveur proxy. int
user Nom d'utilisateur pour le serveur proxy. chaîne
password Mot de passe pour le serveur proxy. chaîne
non_proxyHosts Paramètre permettant de contourner le proxy pour des hôtes spécifiques. Pour utiliser plusieurs domaines, séparez-les par une virgule, par exemple, ["google.com", "example.com"]. chaîne

Activer l' HSTS

Pour activer la sécurité de transport stricte ( HSTS ) d' HTTP à l'échelle du système, ajoutez l'indicateur suivant à la racine du settings.hcl fichier :

hsts_enabled = true
 

Génération de clients API REST

L' URL, conformément à la spécification locale « open API », est la suivante https://{onpremhost}/docs/openapi (à partir de la version 170 sur site). Pour plus d'informations sur la configuration des clients REST API, consultez la documentation disponible à l'adresse Web REST API.

Remplacement des certificats existants

Pour remplacer des certificats existants par d'autres certificats, mettez à jour les chemins d'accès à vos fichiers de certificat dans le fichier settings.hcl à l'aide de la commande suivante:

cert {
...
}
 

Ensuite, mettez à jour le système en exécutant la commande suivante:

instana update -f /path/to/settings.hcl
 
cert {
  crt = "/mnt/cert/tls.crt"
  key = "/mnt/cert/tls.key"
}
 

Certificats personnalisés pour les intégrations via webhook ou par e-mail

Si Instana ne parvient pas à valider le certificat fourni par votre serveur SMTP, le message d'erreur suivant peut s'afficher : TLS

ERROR c.i.email.service.client.JavaMail - Mail could not be send due to an error
javax.mail.MessagingException: Could not convert socket to TLS
 

Pour configurer votre installation d' Instana afin de pouvoir envoyer des données à un webhook à l'aide d'un certificat personnalisé, fournissez un keystore personnalisé Java™ (jssecacerts) contenant votre certificat pour les JVM.

Suivez les étapes suivantes pour configurer votre installation d' Instana :

  1. Copiez le fichier de clés actuel « JVM » depuis votre répertoire « JVM $JAVA_HOME/lib/security/cacerts».

  2. Importez votre certificat personnalisé dans ce magasin de clés à l'aide de l'outil `keytool` de l' JVM, en utilisant la commande suivante :

    $JAVA_HOME/bin/keytool -importcert -file custom-crt.crt -alias instana.com -keystore cacerts -storepass changeit
     
  3. Ajoutez le chemin d'accès absolu du magasin de clés en définissant la clé de configuration custom_keystore dans la racine du fichier settings.hcl .

    custom_keystore="<path_to_javakeystore>"