Installation de l'édition Classic en auto-hébergement ( Docker )

Vous pouvez installer l'édition Classic en auto-hébergement ( Docker ) en utilisant soit une configuration à un seul hôte, soit une configuration à deux hôtes.

Remarque : l'édition Classic auto-hébergée ( Docker ) offre moins de fonctionnalités et de possibilités. Installez ou migrez vers Standard Edition pour bénéficier de fonctionnalités et de capacités supplémentaires. Si vous déployez l'édition « Instana » pour la première fois, installez l'édition « Standard Edition » plutôt que l'édition «Classic Edition».

A propos de cette tâche

Une installation sur un seul hôte signifie que tous les composants d' Instana, ainsi que les magasins de données, sont installés sur un seul hôte sous forme de conteneurs d' Docker.

Dans le cadre d'une installation à deux hôtes, ClickHouse est déployé sur un hôte avec une installation de ZooKeeper, tandis que les autres composants de Instana et les magasins de données sont déployés sur un deuxième hôte.

Pour plus d'informations sur les avantages de chaque option, consultez la section « Options d'installation ».

Avant de commencer

Vous devez respecter les exigences relatives aux systèmes d'exploitation pris en charge, aux versions d' Docker, à la configuration minimale requise, aux consignes de sécurité réseau et aux prérequis, telles que décrites dans la section « Exigences pour l'édition Classic ».

Remarques :

  • Les programmes de détection des virus peuvent interférer avec l'installation. Si vous rencontrez des erreurs liées aux droits, telles que Operation not permitted, désactivez votre programme de détection des virus et réessayez.

  • Pour installer Classic Edition dans un environnement d' Docker s en mode air-gapped, suivez d'abord les étapes décrites dans la section « Installation en mode air-gapped sur un hôte cible » avant de lancer l'installation comme indiqué dans les sections « Installation sur un seul hôte » ou « Installation sur deux hôtes ».

Installation dans un environnement isolé physiquement

Pour installer Classic Edition sur un hôte cible dans un environnement d' Docker s isolé physiquement, procédez comme suit.

Si l'hôte cible sur lequel vous souhaitez installer le backend d' Instana dispose d'une connexion Internet, ignorez ces étapes et passez directement à la section « Installation sur un seul hôte » ou « Installation sur deux hôtes ».

Prérequis: assurez-vous que Docker est installé sur l'hôte cible qui n'a pas de connectivité Internet.

  1. Sur un serveur disposant d'une connexion Internet, procédez à l'installation instana-console comme décrit dans la section « Installation du paquet Instana ».

  2. Téléchargez les fichiers binaires requis.

    Deux fichiers sont obligatoires pour une installation à espace d'air virtuel :

    • Le fichier binaire instana-console

      Pour Ubuntu/Debian, exécutez la commande apt-get download instana-console .

      Pour Red Hat/CentOS, exécutez la commande yum install --downloadonly instana-console.

      Vous pouvez également cloner le dépôt Instana.

    • Les archives contenant les conteneurs Instana et Docker

      Exécutez la commande instana images export pour créer un fichier export-{version}.tar dans le répertoire d'exécution.

  3. Copiez les fichiers sur l'hôte cible qui n'a pas de connectivité Internet.

  4. Installez instana-console à partir du package que vous avez téléchargé et transféré précédemment.

  5. Vérifiez que Docker est installé.

  6. Importez les conteneurs en exécutant la commande instana images import -f <path/to/export-{version}.tar>.

  7. Démarrez l'installation comme décrit dans la section Installation sur un hôte unique ou Installation sur des hôtes doubles .

Pour vérifier une liste de conteneurs obligatoires, exécutez la commande instana images version . Cette commande répertorie tous les conteneurs Docker et leurs versions correspondantes.

Pour plus d'informations, voir la section Commandes d'image .

Commandes d'image

Le programme d'installation est fourni avec un ensemble de commandes permettant de gérer les images de docker instana.

Exporter des images au format tar

Pour exporter toutes les images requises d'une version instana-console dans un fichier .tar , exécutez la commande suivante:

instana images export -k ${agent_key}

Importer des images à partir d'un fichier tar

Pour importer un fichier tar d'image d'exportation dans le cache Docker local, exécutez la commande suivante:

instana images import -f /path/to/export.tar

Pré-extraction d'images

Pour préextraire toutes les images nécessaires dans le cache Docker local, exécutez la commande suivante:

instana images pull -k ${agent_key}

Envoi d'images vers un registre personnalisé

Pour envoyer des conteneurs depuis le cache Docker local vers un registre hébergé personnalisé, exécutez la commande suivante:

instana images push -u ${registry_user} -p ${registry_pass} -r ${registry_url}

Vous pouvez ensuite configurer le registre dans le settings.hcl fichier, et le programme d'installation utilisera ce registre pour les installations et les mises à jour.

Images et versions de l'annonce

Pour renvoyer une liste des images actuellement requises pour cette version, exécutez la commande suivante:

instana images version

Vider le cache d'images local

Pour supprimer du cache local tous les conteneurs qui ne sont plus requis pour la version en cours, exécutez la commande suivante:

instana images prune

Installation sur un seul hôte

Installation du package Instana

Pour installer le paquet Instana sur votre ordinateur, suivez les étapes d'installation suivantes :

Ubuntu/Debian

En tant que superutilisateur, exécutez les commandes suivantes pour ajouter le référentiel et remplacez < download_key> par votre clé de téléchargement:

export DOWNLOAD_KEY=<download_key>

echo 'deb [signed-by=/usr/share/keyrings/instana-archive-keyring.gpg] https://artifact-public.instana.io/artifactory/rel-debian-public-virtual generic main' > /etc/apt/sources.list.d/instana-product.list

cat << EOF > /etc/apt/auth.conf
machine artifact-public.instana.io
  login _
  password $DOWNLOAD_KEY
EOF

wget -nv -O- --user=_ --password="$DOWNLOAD_KEY" https://artifact-public.instana.io/artifactory/api/security/keypair/public/repositories/rel-debian-public-virtual | gpg --dearmor > /usr/share/keyrings/instana-archive-keyring.gpg

Ensuite, installez instana-console en exécutant les commandes suivantes:

apt update -y
apt install -y instana-console

Pour éviter d'obtenir des mises à jour majeures lors des mises à niveau automatisées, exécutez les commandes suivantes:

cat > /etc/apt/preferences.d/instana-console <<EOF
Package: instana-console
Pin: version <version to pin>
Pin-Priority: 1000
EOF

Red Hat/CentOS

En tant que superutilisateur, exécutez les commandes suivantes pour ajouter le référentiel et remplacez < download_key> par votre clé de téléchargement:

export DOWNLOAD_KEY=<download_key>

cat << EOF > /etc/yum.repos.d/Instana-Product.repo
[instana-product]
name=Instana-Product
baseurl=https://_:$DOWNLOAD_KEY@artifact-public.instana.io/artifactory/rel-rpm-public-virtual/
enabled=1
gpgcheck=0
gpgkey=https://_:$DOWNLOAD_KEY@artifact-public.instana.io/artifactory/api/security/keypair/public/repositories/rel-rpm-public-virtual
repo_gpgcheck=1
EOF

Ensuite, installez instana-console en exécutant les commandes suivantes:

yum clean expire-cache -y
yum update -y
yum install -y instana-console

Si le plug-in versionlock n'est pas installé sur votre hôte, exécutez la commande suivante pour l'installer.

yum install python3-dnf-plugin-versionlock

Pour éviter de recevoir des mises à jour majeures lors des mises à jour automatiques, exécutez les commandes suivantes :

yum versionlock add instana-console

Installation du backend « Instana »

Important : la commande ` Instana ` doit être exécutée en tant qu'utilisateur root, car elle nécessite de modifier certaines valeurs du noyau et de s'assurer que les droits d'accès sont correctement définis sur les différents points de montage. Instana Les conteneurs sont conçus pour fonctionner sans compte root. Ainsi, même si l'utilisateur root est requis pour le programme d'installation, l'application elle-même s'exécute dans l'utilisateur d'installation fourni.
  1. Installez le backend Instana sur votre ordinateur en exécutant la commande suivante :

    instana init
    

    Un settings.hcl fichier est créé dans le même répertoire que celui où vous avez exécuté la commande instana init.

  2. Sélectionnez single (installation hôte unique).

  3. Entrez les informations suivantes :

    • Votre nom de titulaire et votre nom d'unité.

      • Le nom du titulaire doit correspondre au modèle d'expression régulière ^[a-z][a-z0-9]*$.
      • Le nom du titulaire ne doit pas dépasser une longueur maximale de 15 caractères.
      • Le nom du titulaire doit commencer par un caractère alphabétique.
      • Le nom du titulaire peut être composé de caractères alphanumériques.
      • Les caractères doivent être en minuscules.
    • Votre clé d'agent et votre clé de vente.

    • Nom DNS.

    • Chemin d'accès à vos fichiers de certificat. Si aucun chemin d'accès n'est défini, Instana génère un certificat HTTPS TLS pour l'interface utilisateur (tls.crt) et la clé (tls.key) dans le cert dossier. Pour générer vos propres certificats auto-signés, exécutez la commande suivante en remplaçant <hostname> par le nom de l'hôte sur lequel vous souhaitez installer le backend Instana :

      openssl req -x509 -newkey rsa:2048 -keyout tls.key -out tls.crt -days 365 -nodes -subj "/CN=<hostname>"
      
  4. Connectez-vous à l'interface utilisateur d' Instana à l'aide des identifiants affichés.

  5. Une fois « Instana » déployé, activez votre licence.

Installation sur deux hôtes

Facultatif : Copie des données d'une machine existante

Pour effectuer une migration à partir d'une installation en cours, vous devez déplacer les données existantes vers la nouvelle machine.

Pour ce faire, il est préférable de copier les répertoires data et log existants à partir de votre installation d'origine. Vous pouvez vérifier le fichier settings.hcl d'origine pour trouver où ces répertoires sont montés.

Une fois que Instana a été fermé, vous pouvez copier les fichiers depuis ces répertoires :

  • Tous les répertoires nommés clickhouse, tels que /mnt/traces/clickhouse et /mnt/log/instana/clickhouse.
  • Tous les répertoires nommés zookeeper, tels que /mnt/data/zookeeper et /mnt/log/instana/zookeeper.

Déplacez les répertoires vers les mêmes répertoires sur la nouvelle machine et configurez votre nouveau fichier settings.hcl .

Remarque : vous n'êtes pas obligé de supprimer les anciens répertoires, mais il est recommandé de le faire une fois que la nouvelle installation est opérationnelle.

Installation d'instana-console

Installez instana-console à partir des référentiels comme décrit précédemment.

Exposition du port du démon d' Docker

Le programme d'installation de l'instance de calcul tente de se connecter au port :2376 de cet hôte pour vérifier les prérequis. Vous devez exposer ce port de démon Docker .

S'il n'est pas défini correctement, le message d'erreur suivant s'affiche:

remote docker daemon is not reachable on host <clickhouse-host>:2376 : Cannot connect to the Docker daemon at tcp://<clickhouse-host>:2376. Is the docker daemon running?

Pour activer l'API du moteur Docker sur l'hôte ClickHouse distant, procédez comme suit:

  • Accédez à /lib/systemd/system dans votre terminal et ouvrez le fichier docker.service vim /lib/systemd/system/docker.service
  • Recherchez la ligne qui commence par ExecStart et ajoutez -H=tcp://0.0.0.0:2376 pour qu'elle ressemble à ExecStart=/usr/bin/dockerd -H=fd:// -H=tcp://0.0.0.0:2376
  • Sauvegarder le fichier modifié
  • Redémarrez le démon docker systemctl daemon-reload
  • Redémarrez le conteneur sudo service docker restart

Installation d' ClickHouse s et de Zookeeper sur le premier hôte

Interactif

Exécutez la commande instana init , sélectionnez dual-clickhouse comme type et suivez la boîte de dialogue interactive.

Automatique

Dans le fichier settings.hcl , ajustez le type:

  type = "dual-clickhouse"

Installez Instana en exécutant la commande suivante :

instana init -y

Sécurisation d'un serveur d' ClickHouse s à l'aide d' IPtables

Pour sécuriser votre serveur ClickHouse dans un environnement multihôte, voir l'exemple suivant. Cet exemple garantit que seules les opérations d'E/S provenant de l'hôte backend Instana ont accès à l'hôte ClickHouse.

Vous devrez ensuite vous connecter via SSH depuis le serveur backend Instana vers l'hôte ClickHouse. Ou bien vous devez indiquer l'adresse IP de la machine à partir de laquelle vous souhaitez vous connecter via SSH.

iptables -A INPUT -s $(instana backend host IP) -j ACCEPT
iptables -A OUTPUT -d $(instana backend host IP) -j ACCEPT
iptables -A INPUT -d $(ssh host IP) -j ACCEPT #optional
iptables -A OUTPUT -d $(ssh host IP) -j ACCEPT #optional
iptables -A INPUT -j REJECT
iptables -A OUTPUT -j REJECT

Installation du reste d' Instana. sur le deuxième serveur

Interactif

Exécutez la commande instana init , sélectionnez dual-instana comme type et suivez la boîte de dialogue interactive.

Automatique

Ajustez la zone type et ajoutez l'adresse IP ClickHouse au fichier settings.hcl .

  type                    = "dual-instana"
  clickhouse_bind_address = <IP of ClickHouse box>

Installez Instana en exécutant la commande suivante :

  instana init -y

Etape suivante

Surveillance de votre backend Instana auto-hébergé

Il est recommandé de surveiller l'état de santé de votre backend Instana auto-hébergé en installant un agent hôte Instana en mode INFRASTRUCTURE. Il est alors possible de collecter un certain nombre de données de surveillance et d'indicateurs pour votre backend Instana.

Remarque : le mode Infrastructure est indispensable. Le mode APM peut imposer une charge inutile à vos services backend auto-hébergés. Pour plus d'informations, consultez la section « Modes de l'agent hôte ».

Pour plus d'informations sur l'installation de l'agent hôte, consultez la section « Installation des agents hôtes ».

Activation des fonctions facultatives

Certaines fonctions ne sont pas activées dans un système de back end auto-hébergé par défaut. Vous pouvez activer ces fonctions à l'aide d'options de configuration supplémentaires.

Pour plus d'informations sur les fonctionnalités optionnelles et sur la manière de les activer, consultez la section « Activation des fonctionnalités optionnelles ».

Configuration d'un registre d' Docker s privé

Pour spécifier un registre Docker privé comme registre pour une migration ou une mise à niveau d'arrière-plan ultérieure, exécutez les commandes suivantes:

  • Installation sur un hôte unique:

    instana containerize --type single -y --registryUrl {url} --registryUser {user} --registryPass {pass}
    
  • Installation sur deux hôtes:

    instana containerize --type dual-clickhouse -y --registryUrl {url} --registryUser {user} --registryPass {pass}
    
    instana containerize --type dual-instana -y --registryUrl {url} --registryUser {user} --registryPass {pass}