[TP] Projet 1


Pour ce TP, nous allons réaliser un projet.

Ce que vous allez apprendre dans ce TP :
  • Installer un agent dynatrace : oneagent
  • Comprendre les paramètres disponibles
  • Reconfigurer un agent
  • Optimiser votre infra/coûts
  • Désactiver la surveillance de processus, de conteneur, ...
  • choix d'opérateurs
  • Gestion et affectation des équipes
  • utilisation de dt.owner et owner

Introduction

Ce projet a pour objectif de vous faire manipuler différentes notions autour de Dynatrace et surtout de les combiner en vue d'atteindre un objectif. Pour cela, nous allons installer et configurer un serveur Docker et installer l'agent Dynatrace pour obtenir une vue 360 du serveur.

Environnement de test

Pour réaliser ce TP, il vous faudra un environnement Ubuntu(Mais le TP est faisable avec d'autres OS/distributions). Sur cette machine, nous allons créer 2 machines virtuelles avec les caractéristiques suivantes:
  • Machine virtuelle 1 :
    • Nom : gl-145-pr
    • vCPU : 1
    • RAM : 1 GO
    • IP : 192.168.56.2
  • Machine virtuelle 2 :
    • Nom : gl-463-rc
    • vCPU : 1
    • RAM : 1 GO
    • IP : 192.168.56.3
Pour vous aider à mettre cet environnement en place, nous avons mis à votre disposition un repo avec une configuration Vagrant/Virtualbox prête à l'emploi.

RAPPEL : Ce TP est dédié à la configuration Dynatrace mais comme il s'agit d'un TP avancé, vous aurez besoin de notions et connaissances autour du DevOps qui ne sont pas propres à Dynatrace mais qui seront utilisées dans vos configurations. Vous aurez besoin des compétences suivantes dont vous pouvez suivre gratuitement la formation : Bien évidemment, on va mettre le maximum d'informations à votre disposition pour vous faire avancer même sans ces prérequis.

Pour cela, il faut installer Vagrant et Virtualbox sur votre machine. Une fois cela fait, il ne vous reste plus qu'à lancer les commandes suivantes:
git clone https://github.com/RousselTM/dynatrace-formation
cd dynatrace-formation/tp/6_projet
vagrant up

Pre-configuration

Les actions suivantes sont nécessaires pour préparer votre environnement de test.

Agent Dynatrace


Ce que vous allez apprendre dans cette section :
  • Installer un agent dynatrace : oneagent
  • Comprendre les paramètres disponibles
  • Reconfigurer un agent

Nous allons voir comment installer et reconfigurer un agent.

Pour revoir la session sur l'installation du oneagent, vous pouvez cliquer sur ce lien : Installation et configuration oneagent
  1. Installation
    Vous devez installer le oneagent sur votre machine en définissant comme hostgroup 'PROD_TP'.
    INFORMATION : Pour préparer votre passage à l'IaC, nous vous recommandons de récupérer les sources via CLI. En plus de l'avantage pour l'IaC, l'URL fournira automatiquement la version qui correspond aux mises à jour du serveur Dynatrace. Ainsi vous évitez un déphasage entre la version de la console et la version des agents.
  2. Vérifications
    Vous devez accéder à la console dynatrace et vérifier que votre machine remonte bien. Quelle est l'application pour voir les machines qui remontent ? Vous devez aussi vérifier que le hostgroup remonte bien. Quelle application peut aussi vous permettre de voir tous les éléments sur lesquels il y a un oneagent ?
  3. Les PATH
    Lors d'une installation, il peut être nécessaire de modifier les dossiers par défaut pour s'adapter au formatage de disque. Vous devez fournir les configurations à positionner lors de l'installation de l'agent pour personnaliser :
    • Dossier d'installation
    • Dossier des logs
    • ...
  4. Reconfiguration
    Comme indiqué dans la formation, il peut arriver qu'on ait besoin de modifier des paramètres du oneagant pour différentes raisons : erreur de paramétrage, paramètre absent, migration vers un nouveau cluster...
    CRITIQUE : La facilité serait de réinstaller l'agent mais avec comme conséquence la création d'un nouvel ID et donc la perte de l'historique. Vous devez donc plutôt le reconfigurer. Reconfiguration oneagent
    Vous devez donc modifier la configuration de l'agent pour ajouter ou mettre à jour :
    • hostgroup : PROD_TP1
    • TAGS : ENV=PROD, PROJECT=P1, APP=A1
    • Owner : T1
    Pensez à refaire la vérification si votre modification est bien prise en compte dans la console.

Découverte

Dans cette section, nous allons utiliser Dynatrace pour avoir une vision 360 de l'infrastructure.
  1. Cartographie
    Vous devez trouver comment obtenir la cartographie de votre infrastructure : Centre de données, machines, processus...

Paramétrage


Ce que vous allez apprendre dans cette section :
  • Optimiser votre infra/coûts
  • Désactiver la surveillance de processus, de conteneur, ...
  • choix d'opérateurs

Dans cette section, nous allons voir c'est quoi un 'detected name' et comment créer des noms personnalisés
  1. Host
    Vous devez configurer Dynatrace pour qu'il renomme les machines en suivant ce template :
    • Toutes les machines avec Hostgroup : '$HOSTGROUP - $DETECTEDNAME'
    • Toutes les machines sans Hostgroup : 'ERROR - $DETECTEDNAME'
  2. Process group
    Dynatrace va automatiquement regrouper des process qu'il juge identique ensemble (s'il n'identifie pas de Hostgroup). Vous aurez des applications différentes sur Docker qu'il va regrouper alors qu'en réalité elles sont différentes. Vous devez créer la configuration pour forcer dynatrace à les séparer en fonction de la variable d'environnement 'ROUSSELTM_APP' :
  3. Services
  4. Tags
    Vous devez ajouter une configuration qui va créer sur l'ensemble des services de type 'Web request service' le tag 'ROUSSELTM_APP' avec comme valeur le contenu nom du serveur.
    CRITIQUE : Idéalement, en entreprise, vous devez vous assurer que chaque entité à le nombre de tags minimum pour identifier : direction, département, equipe, projet ...
    On souhaite par la même occasion que le 'Host' et le 'Process group' qui porte ces derniers hérite de ce tags.
  5. Zones
    Vous l'avez constaté, toutes les entités sont mises ensemble. Pour cet environnement de demo cela ne pose pas problème mais en entreprise il sera nécessaire de faire des zones de gestion (management zones) pour ordonner cela.
    RAPPEL: En plus de permettre de classer les entités dans dynatrace, elle va aussi vous permettre de gérer la sécurité.
    Vous devez donc créer une zone de gestion qui va contenir l'ensemble des services, groupes de process, machines qui ont comme tags 'ROUSSELTM_APP=APP1'
    RAPPEL: En entreprise, vous devrez ajouter d'autres règles dans la zone de gestion pour prendre en compte d'autres éléments APPLICATION, DATABASES, ...
  6. Process
    Par défaut, Dynatrace va collecter les informations sur tout ce qu'il va découvrir. En entreprise, vous aurez des processus, conteneurs ... que vous ne souhaitez pas surveiller. Vous devez configurer Dynatrace pour qu'il ne surveille pas tous les conteneurs qui se terminent par '-build'.
    RAPPEL: Vous avez déjà des configurations par défaut dans Settings -> Processes and containers -> Built-in container monitoring rules
  7. Serverless
    Votre entreprise fait du serverless? Vous devez activer la configuration pour que Dynatrace puisse détecter vos conteneurs.

Propriétaires


Ce que vous allez apprendre dans cette section :
  • Gestion et affectation des équipes
  • utilisation de dt.owner et owner

Si votre instance Dynatrace est bien configurée, vous devez être capable de savoir à qui appartient chaque ressource(entité). On a vu en cours qu'il est possible de le faire de différentes manières (tags, métadonnées...) mais la plus recommandée est l'utilisation des tags. Mais ces informations sont plus techniques pour classer et traiter vos données et ne permettent pas d'identifier les personnes qui interviennent sur l'entité : développeur, opérateur, ... Dynatrace met donc à votre disposition la fonction propriétaire pour vous permettre de combler cette lacune.
  1. Création
    Vous devez créer l'équipe 'Projet 1' avec les caractéristiques suivantes :
    • Nom équipe : Projet 1
    • Description : votre description
    • ID équipe : projet1
    • Fonctions : Development et Operations
  2. Affectation
    Vous devez affecter cette équipe à toutes les VM/conteneur de l'équipe en question.

Niveau de difficulté: (3/5)