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 ).
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"
}
| 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
...
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
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"
}
| 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 |
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
}
| 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 .
Voir cet exemple :
app_data_short_termpasse 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_termpasse 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_termpasse de 7 jours à 14 jours: les anciennes et les nouvelles données sont supprimées si elles datent de 14 jours.app_data_short_termpasse 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"
}
| 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/"
}
| 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
}
}
| 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"
}
| 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"]
}
| 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 :
Copiez le fichier de clés actuel « JVM » depuis votre répertoire « JVM
$JAVA_HOME/lib/security/cacerts».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 changeitAjoutez le chemin d'accès absolu du magasin de clés en définissant la clé de configuration
custom_keystoredans la racine du fichiersettings.hcl.custom_keystore="<path_to_javakeystore>"