1. Livres & vidéos
  2. Prometheus et Grafana - Surveillez vos applications et composants système (2e édition)

Prometheus et Grafana Surveillez vos applications et composants système (2e édition)

Informations

Livraison possible dès le 08 décembre 2025
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
  • Livres rédigés par des auteurs francophones et imprimés à Nantes

Informations

  • Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans.
  • Version HTML
  • Livres rédigés par des auteurs francophones et imprimés à Nantes

Les points forts du livre :

  • Intégration multi-environnements sans expertise préalable approfondie
  • Mise en œuvre avancée de la supervision avec gestion des accès, alerting et découverte automatique
  • Ouverture vers l'observabilité complète : logs, traces et OpenTelemetry
Consulter des extraits du livre en ligne Aperçu de la version papier
  • Niveau Expert
  • Nombre de pages 702 pages
  • Parution août 2025
  • Niveau Expert
  • Parution août 2025

Avec ce livre, illustré par de nombreux exemples de mise en œuvre, les administrateurs système comme les développeurs apprendront à déployer l’outil de surveillance Prometheus, interfacé avec l’outil de visualisation de données Grafana, pour mieux maîtriser la surveillance de leurs applications ou de leurs composants système.

L’auteur commence pour cela par présenter l’intégration de Prometheus à de nombreux systèmes ou applications tels que Linux, Docker Swarm, Kubernetes, Spring Boot, PostgreSQL ou encore MySQL/MariaDB, sans que cela nécessite des connaissances approfondies pour chacun d'eux. Les concepts à connaître a minima pour réaliser ce travail seront toutefois présentés.

Le lecteur découvre ensuite comment interfacer Prometheus à Grafana, ainsi que l'automatisation des différentes tâches nécessaires à l’intégration de ces deux outils dans les applications ou systèmes, à commencer par la mise en place sous Linux.

La suite du livre traite de la surveillance du système ainsi que de la gestion des accès (certificats HTTPS, authentification, autorisation via LDAP ou OAuth). Un chapitre est également consacré à la mise en place d'alertes transmises par e-mail ou à l'aide de notifications Slack. Les mécanismes de découverte automatique des conteneurs avec Docker Swarm ou Kubernetes ainsi que le choix de tableaux de bord suite à la mise en place de cAdvisor sont détaillés. Par ailleurs, un chapitre en fin de livre est dédié à l'installation d'un opérateur pour gérer Prometheus dans Kubernetes.

Tout un ensemble de chapitres présente ensuite la surveillance des briques applicatives classiques (bases de données, applications Spring Boot ou Flask) mais également le suivi de composants externes tels que l’API d'un partenaire ou plus simplement des briques hardware sur lesquelles il n'est pas possible d'installer d'exporteur Prometheus.

Deux chapitres sont consacrés à l’enrichissement des métriques à l’aide des logs (via Loki) et des traces (via Tempo), accompagnés d’un chapitre d’introduction à OpenTelemetry, incluant la mise en place de Grafana Alloy et ses interactions avec Prometheus. Pour finir, l'auteur détaille les mécanismes d'agrégation et d'archivage vers des supports de stockage longue durée comme InfluxDB.

Les exemples et le code source du livre sont téléchargeables sous forme d'archives sur le site www.editions-eni.fr et disponibles également sur GitHub (instructions incluses au début du livre).

Caractéristiques

  • Livre (broché) - 17 x 21 cm
  • ISBN : 978-2-409-05072-5
  • EAN : 9782409050725
  • Ref. ENI : EP2PROGRA

Caractéristiques

  • HTML
  • ISBN : 978-2-409-05073-2
  • EAN : 9782409050732
  • Ref. ENI : LNEP2PROGRA

Téléchargements

Avant-propos
  1. Présentation de Prometheus et Grafana
    1. 1. Origine de Prometheus
    2. 2. Origine de Grafana
  2. Contexte
    1. 1. Une brève histoire de l’universde la surveillance informatique
    2. 2. Environnement cloud et containers Docker
    3. 3. Introduction de Prometheus et Grafana
Introduction
  1. Cibles et objectifs de l’ouvrage
  2. Prérequis techniques et ressources documentaires
    1. 1. Prérequis techniques
    2. 2. Ressources documentaires
    3. 3. Récupération des fichiers d’exemples
  3. Présentation générale
    1. 1. Prérequis
    2. 2. Mise en place de Prometheus et Grafana
    3. 3. Surveillance des containers
    4. 4. Gestion des tableaux de bord et des alertes
    5. 5. Mise en place d’exporteurs avancés
    6. 6. Couplage de Prometheus avec le monde d’OpenTelemetry
    7. 7. Archivage et agrégation d’instancePrometheus
    8. 8. Conventions utilisées
Architecture de Prometheus
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. Architecture de Prometheus
    1. 1. Contexte
    2. 2. Liste des composants de l’architecture dePrometheus
    3. 3. Langage PromQL
    4. 4. Format de communication de Prometheus
      1. a. Contraintes de communication
      2. b. Description du format
      3. c. Exposition de la donnée
      4. d. Déclaration des points de collecte
    5. 5. Restitution et alertes dans Prometheus
  3. Quelques notions sur le format YAML
    1. 1. Déclaration de couples clés/valeurs
    2. 2. Les tableaux en YAML
    3. 3. Les structures clé/valeur ou tablede hachage
    4. 4. Tableau de table de hachage
Découverte de Prometheus
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. Lancement de Prometheus sous Linux
    1. 1. Contexte
    2. 2. Installation de Prometheus
    3. 3. Configuration de Prometheus
      1. a. Présentation de la configuration par défaut
      2. b. Test de la configuration
      3. c. Structure globale de la configuration
      4. d. Définition des points de collecte
    4. 4. Lancement de Prometheus
    5. 5. Consultation de la console Prometheus
  3. Les métriques dans Prometheus
    1. 1. Contexte
    2. 2. Les types de métriques compteurs et jauges
    3. 3. Métriques résumés et histogrammes
      1. a. Présentation des métriques résuméset histogrammes
      2. b. Métrique résumé ou sommaire(summary)
      3. c. Métriques histogrammes et quantile
      4. d. Calcul de quantiles et exemple de calculs de disponibilité
      5. e. Conseils d’utilisation sur les histogrammes
    4. 4. Quelques bonnes pratiques à suivre
      1. a. Nom de la métrique
      2. b. Unités
  4. Agent de surveillance système
    1. 1. Contexte
    2. 2. Lancement de l’exporteur système
      1. a. Télécharger l’archive del’exporteur
      2. b. Décompression et lancement
      3. c. Accès à l’interface del’agent
      4. d. Intégration de l’exporteur
      5. e. Prise en compte de la modification
  5. Console de Prometheus
    1. 1. Contexte
    2. 2. Activation de la console
    3. 3. Tableau de bord des nœuds système
    4. 4. Tableau de bord de Prometheus
    5. 5. Principe de fonctionnement des tableaux de bord
Installation de Grafana
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. Lancement de Grafana sous Linux
    1. 1. Contexte
    2. 2. Installation de Grafana
      1. a. Installation à l’aide du paquetDebian
      2. b. Utilisation de la source de paquets de Grafana
    3. 3. Démarrage de Grafana
      1. a. Inventaire des éléments créés
      2. b. Compte et groupe de service
      3. c. Prise en compte du nouveau service
      4. d. Activation et désactivation du service
      5. e. Gestion des services de systemd
      6. f. Démarrage et arrêt du service
  3. Configuration de Grafana
    1. 1. Connexion en tant qu’administrateur
    2. 2. Personnalisation de l’interface
    3. 3. Ajout d’une source de données Prometheus
    4. 4. Import des tableaux de bord de suivi de Prometheus
      1. a. Écran d’import des tableaux de bord
      2. b. Tableau de bord de suivi de Prometheus
      3. c. Tableau de bord de Grafana
Découverte de Grafana
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. Découverte de Grafana
    1. 1. Contexte
    2. 2. Accès à l’écrand’exploration (Explorer)
    3. 3. Création d’un tableau de bord surla charge système
      1. a. Qu’est-ce que la charge système ?
      2. b. Compter le nombre de cœurs d’unemachine
      3. c. Combinaison du nombre de cœurs et de la chargesystème
      4. d. Jointure des vecteurs de données
      5. e. Récupération des labels de la partiegauche
    4. 4. Création d’un tableau de bord
      1. a. Ajout d’un premier panneau
      2. b. Sauvegarde du tableau de bord
    5. 5. Ajout d’un panneau sur l’activité processeur
      1. a. Métrique de l’activité processeur
      2. b. Fonction de transformation
      3. c. Utilisation de la fonction rate
      4. d. Ajout d’un nouveau panneau
      5. e. Formatage des légendes
  3. Répertoires dans Grafana
    1. 1. Contexte
    2. 2. Classement des tableaux de bord à l’aidede répertoires
      1. a. Création de répertoires (folder)
      2. b. Déplacement d’un tableau de suivi
  4. Listes de tableaux de bord
    1. 1. Contexte
    2. 2. Création d’une liste de lecture
    3. 3. Utilisation d’une liste de lecture
    4. 4. Lancement automatique dans un navigateur
      1. a. Choix de la station d’affichage
      2. b. Adresse de lancement de la liste de lecture
      3. c. Lancement de la liste de lecture
      4. d. Lancement à l’ouverture de la sessiongraphique Linux
  5. Historique et création d’instantanés
    1. 1. Contexte
    2. 2. Historique des tableaux de bord
    3. 3. Créer un instantané de tableau debord
      1. a. Principe du mécanisme
      2. b. Création d’un instantané local
      3. c. Partage d’instantané via Raintank
    4. 4. Gestion des instantanés
Intégration au système
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. Intégration de Prometheus
    1. 1. Contexte
    2. 2. Prérequis
    3. 3. Préparation des prérequis système
      1. a. Arborescence de lancement de Prometheus
      2. b. Création du compte de service
    4. 4. Affectation de volumétrie (étapeoptionnelle)
      1. a. Principe de fonctionnement des volumes logiques
      2. b. Choix du groupe de disques
      3. c. Formatage du volume
      4. d. Montage du disque
      5. e. Recopie des données
    5. 5. Préparation des fichiers de Prometheus
      1. a. Décompression des binaires
      2. b. Création du répertoire de configurationde Prometheus
    6. 6. Définition du service système
      1. a. Structure du fichier système
      2. b. Section Unit
      3. c. Section Service
      4. d. Section Install
      5. e. Débogage en cas de problème de démarrage
  3. Intégration de l’exporteur système
    1. 1. Contexte
    2. 2. Prérequis
    3. 3. Création du compte de service
    4. 4. Décompression des binaires de l’exporteur
    5. 5. Création du service système
    6. 6. Prise en compte et démarrage du service
    7. 7. Débogage en cas de problème de démarrage
  4. Aller plus loin avec l’exporteur système
    1. 1. Contexte
    2. 2. Aide en ligne de l’exporteur
    3. 3. Indicateurs par défaut
    4. 4. Indicateurs optionnels disponibles
    5. 5. Activation de l’état des servicesde systemd
    6. 6. Filtrer les modules à interroger
    7. 7. Création de métriques personnalisées
      1. a. Origine du besoin
      2. b. Principe de fonctionnement et activation
      3. c. Compter le nombre d’appels CRON
      4. d. Création du script
      5. e. Mise à disposition du résultat
      6. f. Lancement automatique du script
      7. g. Vérification de la fraîcheur desdonnées
  5. Exporteur système pour Windows
    1. 1. Contexte
    2. 2. Téléchargement
    3. 3. Installation
    4. 4. Configuration de l’exporteur à l’installation
    5. 5. Branchement de Prometheus
Protection des accès
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. Gestion des accès externes
    1. 1. Contexte
    2. 2. Prérequis
    3. 3. Installation de Nginx
    4. 4. Configuration de Nginx
      1. a. Gestion du service associé à Nginx
      2. b. Configuration de Nginx par défaut
      3. c. Configuration de l’accès à Prometheus
      4. d. Activation de l’accès à Prometheus
      5. e. Configuration et activation de l’accès à Grafana
  3. Chiffrement des communications à l’aide de Let’s Encrypt
    1. 1. Contexte
    2. 2. Mise en place du chiffrement avec Let’s Encrypt
      1. a. Principe de génération des certificatsavec Let’s Encrypt
      2. b. Installation de Certbot
      3. c. Génération des certificats
      4. d. Configuration de Nginx suite à la migration
    3. 3. Automatisation du renouvellement des certificats
      1. a. Commande de renouvellement
      2. b. Présentation de l’outil Crontab
      3. c. Définition d’un travail
  4. Contrôle des accès sur Grafana
    1. 1. Contexte
    2. 2. Définition d’utilisateurs dans Grafana
      1. a. Origine du besoin
      2. b. Création de comptes locaux
    3. 3. Branchement à un annuaire LDAP
      1. a. Prérequis
      2. b. Configuration de l’accès à l’annuaire
      3. c. Utilisation des groupes LDAP
    4. 4. Protection par OAuth2
      1. a. Principe de fonctionnement de OAuth2
      2. b. Création des accès OAuth2 pour Grafanadans GitHub
      3. c. Configuration de Grafana
      4. d. Test des accès
  5. Contrôle des accès sur Prometheus
    1. 1. Contexte
    2. 2. Contrôle des accès par mot de passe/htpasswd
      1. a. Principe de fonctionnement
      2. b. Configuration de l’accès à Prometheus
    3. 3. Contrôle des accès par OAuth2
      1. a. Utilisation du proxy oauth2-proxy
      2. b. Création des accès OAuth2 pour Prometheusdans GitHub
      3. c. Installation du proxy OAuth2
      4. d. Configuration et lancement du proxy OAuth2
      5. e. Branchement de Nginx sur le proxy OAuth2
      6. f. Connexion à Prometheus et installation del’application
    4. 4. Intégration du proxy au système
      1. a. Corrections à apporter
      2. b. Recopie du binaire oauth2-proxy
      3. c. Création du fichier associé au service
      4. d. Prise en compte du service et démarrage
    5. 5. Contrôler les accès par annuaireLDAP
      1. a. Solutions disponibles
      2. b. Authentification par sous-requête
    6. 6. Installation du proxy d’authentificationLDAP
      1. a. À propos de nginx-ldap-auth
      2. b. Lancement du proxy
      3. c. Configuration de Nginx
Déploiement via containers
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. Déploiement de Prometheus et Grafana dans Docker
    1. 1. Contexte
    2. 2. Installation de Docker
      1. a. Installation de Docker Community Edition sur Ubuntu
      2. b. Installation alternative
      3. c. Configuration des accès à Docker
      4. d. Test du moteur Docker
    3. 3. Initialisation du mode Docker swarm/stack
    4. 4. Installation de Prometheus et Grafana
      1. a. Déclaration du service Prometheus dans lastack Docker
      2. b. Déploiement de la stack
      3. c. Ajout du service Grafana
    5. 5. Gestion de la persistance
      1. a. Présentation du mécanisme
      2. b. Déclaration de la persistance
      3. c. Création des répertoires de persistance
      4. d. Démarrage et vérification des services
      5. e. Exemples d’erreurs de démarrage
      6. f. Correction problème d’accès à localhost
    6. 6. Configuration de Prometheus
    7. 7. Configuration de Grafana
      1. a. Présentation du mécanisme de provisionnement
      2. b. Définition de la source de donnéesPrometheus
      3. c. Modification de la définition du serviceGrafana
Supervision de containers
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. Supervision de Docker et gestion du cycle de vie
    1. 1. Contexte
    2. 2. Configuration de Docker
    3. 3. Ajout de la supervision de Docker
      1. a. Modification de la définition de la stackDocker
      2. b. Modification de la configuration de Prometheus
      3. c. Prise en charge de la nouvelle configuration
    4. 4. Rechargement à chaud de la configurationde Prometheus
      1. a. Activation du point d’entrée
      2. b. Options par défaut du container
      3. c. Modification à appliquer à la définitiondu service
      4. d. Test de rechargement de la configuration
  3. Suivi des métriques système
    1. 1. Contexte
    2. 2. Prérequis
    3. 3. Intégration de l’exporteur système(node-exporter)
      1. a. Exposition de la problématique
      2. b. Utilisation de la couche réseau de l’hôte
      3. c. Déclaration du service
      4. d. Supervision de l’exporteur systèmedans Prometheus
  4. Suivi des containers à l’aide de cAdvisor
    1. 1. Contexte
    2. 2. Définition des services applicatifs
      1. a. Définition des réseaux applicatifset de surveillance
      2. b. Définition des services applicatifs
      3. c. Modification des services existants
    3. 3. Intégration de cAdvisor
      1. a. Définition du service cAdvisor
      2. b. Consultation de la console cAdvisor
      3. c. Intégration de cAdvisor dans Prometheus
Découverte automatique
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. Intégration de Prometheus à Docker Swarm
    1. 1. Contexte
    2. 2. Ajout d’un nœud au cluster DockerSwarm
      1. a. Installation du moteur Docker
      2. b. Récupération du jeton de connexion
      3. c. Enregistrement du nœud courant
      4. d. Vérification de la liste des nœuds
    3. 3. Déploiement global
      1. a. Test de bascule de charge
      2. b. Déploiement global
      3. c. Module de découverte Docker Swarm de Prometheus
      4. d. Configuration de l’accès au moteurDocker
      5. e. Généralisation de la configuration
    4. 4. Récupération des labels de DockerSwarm
      1. a. Principe de fonctionnement
      2. b. Consultation des labels disponibles
      3. c. Injection des labels dans Prometheus
    5. 5. Découverte automatique des containers
      1. a. Généralisation du mécanismede découverte
      2. b. Sélection des containers à scruter
      3. c. Éliminations des containers non accessibles
      4. d. Alimentation du label job
      5. e. Configuration complète
Ajout de tableaux de bord
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. Gestion des tableaux de bord
    1. 1. Contexte
    2. 2. Import d’un tableau de bord
      1. a. Présentation de la page de recherche destableaux de bord
      2. b. Recherche et choix d’un tableau de bord pourl’exporteur système
      3. c. Import du tableau de bord
      4. d. Utilisation du tableau de bord de l’exporteursystème
    3. 3. Navigation temporelle dans Grafana
      1. a. Définition d’un intervalle de tempsrelatif
      2. b. Intervalle de temps absolu
      3. c. Les fuseaux horaires
      4. d. Zoom sur un intervalle de temps
  3. Automatisation de l’import par API
    1. 1. Contexte
    2. 2. Création de la clé d’API
      1. a. Génération de la clé depuisl’interface de Grafana
      2. b. Structure de la clé
      3. c. Utilisation de la commande jq
    3. 3. Lancement d’un import de tableau de bord
      1. a. Principe de fonctionnement du script de mise à jour
      2. b. Initialisation des variables
      3. c. Téléchargement du tableau de bord
      4. d. Préparation de la requête
      5. e. Lancement de la création du tableau de bord
      6. f. Consultation du tableau de bord
    4. 4. Manipulation des tableaux de bord
      1. a. Exemple d’opérations à disposition
      2. b. Liste des répertoires (folder)
      3. c. Recherche de tableaux de bord et de répertoires
  4. Utilisation du mécanisme d’approvisionnement
    1. 1. Présentation du mécanisme
    2. 2. Déclaration de l’emplacement destableaux de bord
      1. a. Structure du fichier d’approvisionnementautomatique
      2. b. Création d’un fichier d’approvisionnement
      3. c. Préparation du répertoire des tableauxde bord
    3. 3. Prise en compte des modifications
    4. 4. Gestion des tableaux de bord
      1. a. Dépôt des fichiers de tableau debord
      2. b. Suppression d’un tableau de bord
Intégration de Prometheus avec Kubernetes
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. Intégration de Prometheus dans Kubernetes
    1. 1. Contexte
    2. 2. Création d’un cluster Kubernetes à l’aidede Kind
      1. a. Prérequis
      2. b. Téléchargement de Kind
      3. c. Initialisation du cluster Kubernetes à l’aidede Kind
      4. d. Téléchargement de kubectl
      5. e. Déplacement de la commande kubectl
      6. f. Vérification de la communication avec lecluster Kind
    3. 3. Quelques rappels sur Kubernetes
      1. a. Les objets nécessaires à l’exercice
      2. b. Les espaces de noms
      3. c. Les pods
      4. d. Les nœuds d’un cluster
      5. e. Les services
    4. 4. Déploiement de Prometheus dans Kubernetes
      1. a. Création d’un objet déploiement
      2. b. Démarrage du pod de Prometheus
      3. c. Accéder au pod de Prometheus
    5. 5. Branchement de Prometheus à l’APIde Kubernetes
      1. a. Configuration de Prometheus à l’aided’annotations Kubernetes
      2. b. Branchement de Prometheus sur le composant Kubelet
      3. c. Modèle de sécurité RBACde Kubernetes
      4. d. Création du compte de service
      5. e. Affectation des droits au compte de service
    6. 6. Configuration des accès de Prometheus
      1. a. Vérification des cibles de Prometheus
      2. b. Utilisation du protocole HTTPS
      3. c. Configuration des accès TLS
      4. d. Gestion de l’authentification/autorisation
      5. e. Gestion des labels
    7. 7. Récupération des informations decAdvisor
    8. 8. Les autres sources de données
      1. a. Liste des sources disponibles
      2. b. Labels disponibles par défaut pour node
      3. c. Labels disponibles pour les services
      4. d. Labels disponibles pour les pods
      5. e. Labels disponibles pour les endpoints
      6. f. Labels disponibles pour les objets Ingress
    9. 9. Découverte automatique de services/pods
      1. a. Bonnes pratiques sur les labels et annotations
      2. b. Utilisation d’annotations pour la sélection
      3. c. Annotation d’un pod pour surveillance
Alertes et notifications
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. Gestion des alertes avec Grafana
    1. 1. Contexte
    2. 2. Alerte sur l’activité CPU
      1. a. Alerte à définir
      2. b. Définition du seuil de déclenchement
    3. 3. Canaux de notifications
      1. a. Origine du besoin
      2. b. Configuration de l’envoi de mail
      3. c. Création du canal de notifications
      4. d. Branchement de l’alerte au canal de notification
      5. e. Autres mécanismes de notifications à disposition
  3. Gestionnaire d’alertes de Prometheus
    1. 1. Contexte
    2. 2. Mise en place d’une alerte dans Prometheus
      1. a. Configuration des alertes dans Prometheus
      2. b. Mise en place d’une alerte
      3. c. Vérification du fichier de règles
      4. d. Redémarrage de Prometheus et vérificationde l’alerte
      5. e. Récupération des alertes généréespar Prometheus
      6. f. Utilisation des notifications de Prometheus dans Grafana
      7. g. Ajout d’annotations manuelles
    3. 3. Installation du gestionnaire d’alertes (alertmanager)
      1. a. Présentation
      2. b. Décompression des fichiers du gestionnaired’alertes
      3. c. Préparation de l’arborescence dugestionnaire d’alertes
      4. d. Configuration du gestionnaire d’alertes
      5. e. Création et démarrage du servicesystème
      6. f. Branchement de Prometheus
    4. 4. Notification par e-mail
      1. a. Configuration de l’envoi d’e-mails
      2. b. Configuration de la mise en page
    5. 5. Exemple d’intégration avec Slack
      1. a. Origine du besoin
      2. b. Définition d’un canal de communicationvers Slack
      3. c. Intégration de Slack avec le gestionnaired’alertes
      4. d. Personnalisation du message
    6. 6. Routage des notifications
      1. a. Contexte
      2. b. Utilisation des labels pour le routage des notifications
    7. 7. Mécanisme d’inhibition
      1. a. Contexte de mise en place
      2. b. Inhibition d’alertes de seuil inférieur
      3. c. Inhibition sur source de l’alerte
      4. d. Alerte sur la collecte des exporteurs
      5. e. Simplification de l’inclusion de machines(file_sd_configs)
      6. f. Mise en place du mécanisme d’inhibition
    8. 8. Inhibition des alertes en fonction des heures
      1. a. Présentation du mécanisme à mettreen place
      2. b. Définition d’intervalles de tempsavec l’Alertmanager
      3. c. Désactivation des alertes en dehors des heuresouvrées
      4. d. Notification sur cible importante
Surveillance de base de données
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. Surveillance de base de données PostgreSQL
    1. 1. Contexte
    2. 2. Exporteur PostgreSQL
      1. a. Présentation de l’exporteur
      2. b. Installation de l’exporteur
      3. c. Définition de la connexion à labase
      4. d. Lancement de l’exporteur
      5. e. Lancement de l’exporteur depuis le comptepostgres
      6. f. Intégration au système
      7. g. Options de lancement de l’exporteur
      8. h. Intégration avec Prometheus
    3. 3. Exemples de règles de surveillance
      1. a. À propos
      2. b. Suivi du déroulement de la collecte
      3. c. Surveillance du décalage de la réplicationsource maître/réplicats
    4. 4. Tableau de bord pour Grafana
    5. 5. Gestion des alertes
      1. a. Création d’un nouveau récepteur
      2. b. Sélection du destinataire en fonction deslabels
  3. Surveillance base de données MySQL/MariaDB
    1. 1. Contexte
    2. 2. Exporteur MySQL
      1. a. Présentation de l’exporteur
      2. b. Installation de l’exporteur
      3. c. Définition de la connexion à labase
      4. d. Création d’un utilisateur spécifique
      5. e. Intégration au système
      6. f. Options de lancement de l’exporteur
      7. g. Intégration avec Prometheus
    3. 3. Exemples de règles de surveillance
      1. a. À propos
      2. b. Suivi du déroulement de la collecte
      3. c. Surveillance du décalage de la réplicationsource maître/réplicats
      4. d. Surveillance des connexions
    4. 4. Tableau de bord pour Grafana
    5. 5. Gestion des alertes
Surveillance blackbox, SNMP et Push Gateway
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. Surveillance par boîte noire (black box)
    1. 1. Contexte
    2. 2. Mise en place de l’exporteur Blackbox
      1. a. Présentation de l’exporteur
      2. b. Installation de l’exporteur
      3. c. Configuration de l’exporteur
      4. d. Lancement de l’exporteur et intégrationau système
    3. 3. Test du fonctionnement de l’exporteur
    4. 4. Diagnostic en cas d’erreur
      1. a. Utilisation de l’option debug
      2. b. Interface de l’exporteur blackbox
      3. c. Configuration communication IPv6/IPv4
      4. d. Configuration TLS
    5. 5. Surveillance de services non-HTTP
      1. a. Vérification de l’ouverture d’unport TCP
      2. b. Écriture d’une requêtede vérification
      3. c. Support du protocole TLS implicite
      4. d. Support du mécanisme startTLS
      5. e. Autres exemples
    6. 6. Intégration dans Prometheus
    7. 7. Exemples d’alertes
      1. a. Métriques disponibles
      2. b. Définition d’alerte
  3. Support du protocole SNMP
    1. 1. Contexte
    2. 2. Mise en place de l’exporteur
      1. a. Présentation de l’exporteur
      2. b. Installation de l’exporteur
      3. c. Modules disponibles et création de nouveauxmodules
      4. d. Lancement de l’exporteur et intégrationau système
    3. 3. Surveillance d’un switch réseau
      1. a. Test de la communication
      2. b. Configuration de l’authentification
      3. c. Intégration à Prometheus
  4. Surveillance à l’aide du module Push Gateway
    1. 1. Contexte
    2. 2. Limitations
    3. 3. Mise en place du composant Push Gateway
      1. a. Présentation du composant Push Gateway
      2. b. Installation de l’exporteur
      3. c. Lancement du composant et intégration ausystème
    4. 4. Dépôt de métriques
      1. a. Présentation des métriques à exposer
      2. b. Dépôt des métriques
      3. c. Connexion à l’interface de la PushGateway
    5. 5. Branchement à Prometheus
    6. 6. Métriques automatiques et exemples d’alertes
      1. a. Métriques disponibles
      2. b. Définition d’alerte
    7. 7. Suppression des métriques
Suivi d’applications modernes
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. Instrumentation d’application Java/Spring Boot
    1. 1. Contexte
    2. 2. Surveillance Prometheus avec Spring Boot
      1. a. Création d’une application SpringBoot de démonstration
      2. b. Installation des prérequis
      3. c. Lancement de la compilation et exécutiondu programme
      4. d. Ajout du point d’entrée actuator
      5. e. Activation du point d’entrée desmétriques Prometheus
    3. 3. Intégration dans Prometheus
      1. a. Ajout de la surveillance
      2. b. Métriques disponibles
      3. c. Exemples d’alertes
  3. Instrumentation d’applications Python
    1. 1. Contexte
    2. 2. Préparation des prérequis de l’applicationPython Flask
      1. a. À propos de Flask
      2. b. Installation des prérequis Python et virtualenv
      3. c. Création de l’environnement de travail
      4. d. Installation des dépendances Flask
    3. 3. Création de l’application
      1. a. Déclaration des dépendances
      2. b. Page d’accueil
      3. c. Initialisation de l’application Flask
      4. d. Rattachement de l’index à la racine
      5. e. Lancement du programme
    4. 4. Intégration dans Prometheus
      1. a. Ajout de la surveillance
      2. b. Métriques disponibles
      3. c. Exemples d’alertes
  4. Agent JMX exporter
    1. 1. Contexte
    2. 2. À propos des MBeans
    3. 3. Mise en place de l’exporteur
      1. a. Téléchargement de l’exporteurJMX
      2. b. Mise en place et configuration de l’exporteur
      3. c. Conseils sur la mise au point
    4. 4. Intégration dans Prometheus
      1. a. Ajout de la surveillance
      2. b. Métriques disponibles
  5. Création de tableaux de bord as code
    1. 1. Contexte
    2. 2. Principe de fonctionnement
    3. 3. Mise en place des prérequis
      1. a. Installation du binaire de Jsonnet
      2. b. Récupération de la librairie Grafonnet
    4. 4. Création d’un tableau de bord
      1. a. Génération du tableau de bord
      2. b. Import du tableau de bord
    5. 5. Suivi des connexions Prometheus
      1. a. Définition d’un objet Panel
      2. b. Ajout d’indicateurs
    6. 6. Mise en page du tableau de bord
      1. a. Constats
      2. b. Configuration des caractéristiques du tableaude bord
      3. c. Taille du graphique
      4. d. Mise en page des données
    7. 7. Ajout de sélecteurs de valeurs
    8. 8. Indicateurs textuels
    9. 9. Conseils de mise au point et gestion des extensions
Surveillance des logs avec Loki
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. À propos de Loki
    1. 1. Origine de Loki
    2. 2. Mise en place de Loki
      1. a. Mode d’exécution
      2. b. Installation de Loki
    3. 3. Collecte des journaux d’activités
      1. a. Mise en place de l’agent Promtail
      2. b. Intégration dans Prometheus
      3. c. Branchement de Promtail sur le journal de Systemd
    4. 4. Interrogation de Loki
      1. a. Présentation du langage LogQL
      2. b. Filtrage du contenu
      3. c. Utilisation de logcli
      4. d. Configuration de Grafana
      5. e. Consultation des journaux d’activitésdepuis Grafana
    5. 5. Génération de métriques
      1. a. Principe de fonctionnement
      2. b. Activation du point de réception de métriquesde Prometheus
      3. c. Activation du gestionnaire de règles de Loki
      4. d. Création d’un enregistrement
    6. 6. Analyse du flux des journaux à l’aidede Promtail
      1. a. Avant-propos
      2. b. Définition d’un pipeline de traitementdans Promtail
Suivi des traces applicatives avec Tempo
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. À propos de Tempo
    1. 1. Origine de Tempo
    2. 2. Principe de fonctionnement du mécanisme detraces
  3. Mise en place de Tempo
    1. 1. Mode d’exécution
    2. 2. Installation de Tempo
      1. a. Intégration dans Prometheus
      2. b. Activation du protocole HTTP de gestion des traces
    3. 3. Injection de traces
      1. a. Présentation de l’utilitaire otel-cli(OpenTelemetry Command Line)
      2. b. Installation de l’outil otel-cli
      3. c. Exemple d’utilisation d’otel-cli
      4. d. Création d’un script de test
      5. e. Instrumentation du script
      6. f. Branchement de Grafana sur Tempo
      7. g. Injection de traces d’appels intermédiaires
      8. h. Instrumentation d’une application
    4. 4. Génération de métriques
      1. a. Principe de fonctionnement
      2. b. Configuration de Prometheus
      3. c. Configuration de Tempo
      4. d. Métriques Tempo disponibles
      5. e. Aide au diagnostic
    5. 5. Échantillonnage de traces avec Exemplars
      1. a. Présentation du mécanisme
      2. b. Consultation des échantillons Exemplars
      3. c. Association des échantillons de Prometheusavec les traces de Tempo
      4. d. Ajout d’un lien depuis Tempo vers Loki etPrometheus
Unification de la collecte à l'aide de Grafana Alloy
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. Mise en place de l’agent Grafana Alloy
    1. 1. Présentation de l’agent
    2. 2. Un mot sur l’origine du projet OpenTelemetry
    3. 3. Principe des traitements de l’agent GrafanaAlloy
    4. 4. Installation du collecteur Grafana Alloy
    5. 5. Collecte des journaux de SystemD
      1. a. Conversion de la configuration de Promtail
      2. b. Utilisation de la configuration de l’agentPromtail
    6. 6. Interface web de l’agent Grafana Alloy
  3. Collecte des traces à l’aide de Grafana Alloy
    1. 1. Contexte
    2. 2. Configuration de Tempo
    3. 3. Gestion des traces à l’aide de l’agentGrafana Alloy
      1. a. Collecte des traces
      2. b. Désactivation de la générationdes métriques depuis Tempo
      3. c. Ajout des références vers le moteurPrometheus
      4. d. Génération de métriquesdepuis l’agent Grafana Alloy
  4. Collecte de métriques à l’aide de l’agent Grafana Alloy
    1. 1. Rappel du traitement d’analyse de l’agentPromtail
    2. 2. Collecte des métriques d’analysede l’activité de JournalD
  5. Injection dans Prometheus des métriques de l’agent Grafana Alloy
  6. Collecte des métriques systèmes
    1. 1. Exporteurs disponibles dans Grafana Alloy
    2. 2. Désactivation de la surveillance systèmedans Prometheus
    3. 3. Activation de la surveillance système depuisGrafana Alloy
Agrégation et archivage
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. Fédération d’instances Prometheus
    1. 1. Contexte
    2. 2. Mise en place de la fédération
      1. a. Consultation du point de fédération
      2. b. Mise en place de la fédération
      3. c. Exemples de fédération
    3. 3. Fédération via le point d’écrituredistant
      1. a. Présentation du mécanisme d’écrituredistant
      2. b. Activation du mécanisme d’écrituredistant de Prometheus
      3. c. Envoi des métriques via mécanismed’écriture distant
    4. 4. Haute disponibilité et montée encharge
      1. a. Prometheus et la haute disponibilité
      2. b. Scalabilité horizontale
  3. Archivage dans InfluxDB
    1. 1. Contexte
    2. 2. Présentation d’InfluxDB
    3. 3. Mise en place d’InfluxDB
      1. a. Installation d’InfluxDB
      2. b. Surveillance d’InfluxDB
      3. c. Connexion à la base et créationdu schéma de stockage
    4. 4. Activation du sous-échantillonnage
      1. a. Police de rétention
      2. b. Police de rétention par défaut
      3. c. Création de polices de rétentionet alimentation
    5. 5. Branchement de Prometheus à InfluxDB
      1. a. Configuration de Prometheus
      2. b. Haute disponibilité d’InfluxDB
      3. c. Inspection du contenu de la base après branchement
    6. 6. Autres moteurs disponibles
      1. a. Liste de moteurs disponibles
      2. b. Un mot sur Thanos
      3. c. Un mot sur Grafana Mimir
Opérateur Prometheus pour Kubernetes
  1. Objectifs du chapitre et prérequis
    1. 1. Contexte et prérequis
    2. 2. Fichiers téléchargeables
  2. Installation de Prometheus Operator à l’aide de Helm
    1. 1. Contexte
    2. 2. Présentation de l’opérateurPrometheus
    3. 3. Recherche du paquet à installer sur ArtifactHUB
    4. 4. Installation du binaire Helm
    5. 5. Ajout du dépôt prometheus-community
    6. 6. Recherche du paquet et consultation des options
    7. 7. Configuration du chart Helm
      1. a. Champs principaux de configuration
      2. b. Configuration des champs ingress
      3. c. Persistance des données
      4. d. Attribution des ressources
      5. e. Configuration utilisée pour l’installation
      6. f. Lancement de l’installation
      7. g. Gestion des mises à jour
    8. 8. Nouveaux objets supportés
      1. a. Consultation de la liste des objets CRD
      2. b. Définition d’un point de collecte
  3. Exporteurs additionnels disponibles
    1. 1. Contexte
    2. 2. Utilisation de l’exporteur Blackbox
      1. a. Installation de l’exporteur Blackbox
      2. b. Utilisation de l’exporteur Blackbox
    3. 3. Utilisation du composant Push Gateway
      1. a. Installation du composant Push Gateway
      2. b. Test du composant Push Gateway

Yannig PERRÉ

Administrateur système depuis de nombreuses années, Yannig PERRÉ est aujourd'hui spécialiste de la gestion d'applications à l'aide de conteneurs. Il associe naturellement à ce savoir-faire différents outils pour gérer les problématiques d'installation, de résilience, de scalabilité, de surveillance ainsi que de publication des applications sur Internet. Associée à sa longue expérience du monde open source, cette expertise lui permet de transmettre aux lecteurs des livres réellement efficaces sur la mise en œuvre d’Ansible, Kubernetes ou encore Prometheus et Grafana.

Découvrir tous ses livres

  • Kubernetes - La plateforme de déploiement de vos applications conteneurisées Livre avec complément vidéo : le Minikube et les commandes kubectl
  • Kubernetes Gérez la plateforme de déploiement de vos applications conteneurisées (3e édition)
  • Ansible Gérez la configuration de vos serveurs et le déploiement de vos applications (3e édition)
  • Ansible Configuration centralisée de serveurs et d
  • Kubernetes et Linux Coffret de 2 livres : Maîtrisez la plateforme de gestion de conteneurs (2e édition)

Nos nouveautés

voir plus