Aller au contenu principal

Prometheus (prometheus)

Collecte les métriques de chaque composant géré via la découverte de services de la console et évalue les règles d'alerte de la plateforme.

Généré depuis catalog/services/prometheus.yaml : ne pas modifier à la main.

Résumé​

Version3.5.5
Usageinstaller et configurer, configurer et connecter
Couchefonctionnelle (catalogue IA)
CatégorieObservabilité
Méthodes d'installationbinary
Connexion externenon
Réservé au bac à sablenon

Licence​

Identifiant SPDXApache-2.0
Politique de licencelicence socle (MIT ou Apache-2.0)
Exception de licence-
Composant de la plateformeprometheus

Paquets et artefacts​

Un paquet que publie le projet du service (son image, son archive binaire, son paquet Python ou système) porte la licence du service ; un paquet tiers porte la licence écrite sur sa ligne, lue dans les métadonnées officielles du projet amont.

TypePaquetVersionLicenceDétails
archive binaireprometheus-3.5.5.linux-amd64.tar.gz3.5.5Apache-2.0https://github.com/prometheus/prometheus/releases/download/v3.5.5/prometheus-3.5.5.linux-amd64.tar.gz, x86_64, somme de contrôle sha256

Systèmes et architectures pris en charge​

MéthodeSystèmes d'exploitationArchitectures
binaryfamille RHEL (dnf), famille Debian (apt), Arch Linux (pacman)x86_64 (architecture des artefacts du descripteur)

Systèmes hôtes certifiés : RHEL 8/9/10, Rocky Linux 8/9/10, AlmaLinux 8/9/10, Oracle Linux 8/9, CentOS Stream 9/10, Ubuntu 22.04/24.04, Debian 12, Arch Linux (rolling). Le contrôle préalable des hôtes accepte ces systèmes (une autre version d'une famille connue donne un avertissement, une version en fin de vie est refusée) et les architectures x86_64 et aarch64.

Prérequis​

Hôte​

  • au moins 2048 Mo de mémoire (avertissement, memory).
  • au moins 20480 Mo libres pour /var/lib/navin (avertissement, disk).

Programmes que les commandes et les contrôles du service lancent sur l'hôte, hors des racines gérées : les ajouter à allowed_commands de l'agent (voir Sécurité de l'agent Navin), sinon l'agent les refuse avec command_not_allowed : /usr/bin/curl.

Réseau et ports​

ComposantNom du portPortOuvert dans le pare-feu de l'hôte
prometheushttp9090/tcpoui

Services et connexions nécessaires​

Détail et résolution : voir Dépendances.

Méthodes et modes d'installation​

MéthodeDéfautCe que la méthode utilise
binaryouiles archives binaires du descripteur, décompressées dans le répertoire du service

Composants​

ComposantTypeMéthodes d'installationPorts
Serveur Prometheus (prometheus)maîtrebinary9090/tcp

Unique (single) (par défaut)​

Un seul serveur Prometheus.

Ce que le mode déploie :

ComposantPlacement
prometheusmin 1, max 1

Haute disponibilité (ha)​

Deux répliques identiques distinguées par l'étiquette externe replica.

Ce que le mode déploie :

ComposantPlacement
prometheusmin 2, max 2, recommandé 2

Installer ce service​

L'assistant d'installation du Navin Manager planifie, valide et exécute l'installation ; il faut la permission services:install sur le cluster.

  1. Ouvrez l'assistant. Dans Clusters, choisissez l'action de ligne Installer des services du cluster cible. L'assistant s'ouvre sur sa première étape, Service.

  2. Choisissez le service. À l'étape Service, sélectionnez Prometheus. La carte affiche la licence Apache-2.0 et les dépendances dont l'installation a besoin.

  3. Choisissez les hôtes et le mode. À l'étape Hôtes, cochez les hôtes, puis choisissez le Mode : single (par défaut), ha. Chaque mode déploie les composants listés dans Méthodes et modes d'installation.

  4. Liez les dépendances. À l'étape Liaisons, choisissez pour chaque dépendance (alertmanager, blackbox) Installer avec la plateforme ou Utiliser une connexion existante ; une dépendance facultative peut rester sur Aucune liaison.

  5. Configurez. À l'étape Configuration, relisez les paramètres (voir Paramètres de configuration) ; les paramètres obligatoires sont manager_token. Les mots de passe laissés vides avec une valeur générée par défaut sont générés et scellés par le Manager.

  6. Relisez et installez. À l'étape Installation, le Manager valide le plan et affiche l'ordre d'installation ; quand il indique « Le plan est valide. Prêt pour l'installation. », choisissez Installer. Un mode hautement disponible n'est installé que si ses contrôles HA réussissent.

  7. Vérifiez. L'opération se termine quand les contrôles de santé de chaque instance réussissent (voir Contrôles de santé) ; le service apparaît alors en marche dans Services.

Connecter un service existant​

Schémashttps, http
Port par défaut9090
Authentificationfacultative
Contrôle de santé/-/ready
Méthode d'authentificationChampsDescription
basicusername, passwordUtilisateurs du fichier de configuration web (--web.config.file, basic_auth_users hachés en bcrypt).
client_certificateclient_cert, client_keyCertificat client exigé par tls_server_config (client_auth_type RequireAndVerifyClientCert).
none-Défaut de Prometheus : aucune authentification, gardez-le sur un réseau filtré.

Documentation officielle : https://prometheus.io/docs/prometheus/latest/configuration/https/

Haute disponibilité​

Clusterréplicas (replication)
Haute disponibilitéredondance (redundancy)
Basculecôté client (client)
Réplicationaucun (none)
Quorumaucun (none)
Découvertestatique (static)
Point d'entréen'importe quel nœud (any-node)
Documentation officiellehttps://prometheus.io/docs/introduction/faq/

Prérequis​

PrérequisDoit être hautement disponibleModesDescription
alertmanagerouihaCluster Alertmanager dédoublonnant les alertes des deux réplicas.

Topologie par mode​

ModesNiveau le plus haut du catalogueRépartitionComposant du quorumDomaines de panneDescription
singleautonome (standalone)unique (single)-1Un serveur Prometheus.
haha (ha)actif-actif (active-active)-2Deux réplicas identiques interrogeant les mêmes cibles, distingués par le label externe replica.

Remarques​

  • Redondance, pas un stockage unifié : chaque réplica garde ses propres données locales (de petits trous peuvent différer) ; Thanos ou équivalent est facultatif pour une vue globale dédoublonnée.

Paramètres de configuration​

Réseau​

ParamètreTypeDéfautValeurs permisesObligatoireSecretRedémarrageDescription
Port HTTP (port)port9090-nonnonnonPort de l'API et de l'interface.
TLS (tls_enabled)boolfalse-nonnonnonServir l'API et l'interface en HTTPS (--web.config.file) avec un certificat émis par l'autorité de la console ; la collecte de Prometheus lui-même et les clients d'écriture distante le vérifient alors avec cette autorité.

Stockage​

ParamètreTypeDéfautValeurs permisesObligatoireSecretRedémarrageDescription
Rétention (retention)duration15d-nonnonnonDurée de conservation des échantillons.
Seuil d'alerte disque (disk_alert_percent)int85min 50, max 99nonnonnonPourcentage de disque utilisé qui déclenche une alerte.

Découverte​

ParamètreTypeDéfautValeurs permisesObligatoireSecretRedémarrageDescription
Intervalle de collecte (scrape_interval)duration30s-nonnonnonIntervalle entre deux collectes d'une cible.
Jeton de l'API de la console (manager_token)password--ouiouinonJeton en lecture seule de l'API de la console utilisé par la découverte de services ; écrit dans un fichier lisible par Prometheus seul.

Dépendances​

Pour chaque dépendance active, le Manager prend la première solution parmi : la liaison choisie dans l'assistant ; un service de la même installation qui la fournit ; un service déjà installé dans le cluster ; la seule connexion du type attendu. Sinon, une dépendance facultative reste non liée, et une dépendance obligatoire est ajoutée à l'installation dans son mode par défaut (la colonne ci-dessous nomme le service du catalogue ajouté).

LiaisonFournie parType de connexionPoint d'accèsFacultativeQuand rien n'est liéDescription
alertmanageralertmanager-httpouireste non liée (facultative)Alertmanager qui reçoit les alertes de la plateforme.
blackboxblackbox-exporter-httpouireste non liée (facultative)Exportateur de sondes dont les sondes (santé de la console et paramètre probes) sont lancées par Prometheus via /probe : disponibilité, latence et expiration des certificats des points d'accès (règle NavinCertificateExpiry).

Points d'accès​

Point d'accèsSchémaComposantPortCheminParamètre TLSParamètres de liaisonSecrets de liaisonCommande de provisionnement
httphttpprometheus9090 (port)-tls_enabled---

Commandes​

CommandeComposantCibleDescription
Recharger (reload)prometheustous les hôtesRecharge la configuration et les règles sans redémarrage.
Afficher les cibles (targets)prometheuspremier hôteListe les cibles actives et leur état.

Contrôles de santé​

Vivacité (par instance)​

ComposantContrôleDétails
prometheusHTTP {{ 'https' if config.tls_enabled else 'http' }}://{{ host.fqdn if config.tls_enabled else (host.ip or '127.0.0.1') }}:{{ config.port }}/-/readyAttendu 200 ; 60 tentatives ; intervalle 2 s ; délai 3 s

Contrôles préalables​

ContrôleTypeSignificationSévéritéComposants
memorymemory_mb {"min": 2048}au moins 2048 Mo de mémoireavertissementtous les composants
diskdisk_free_mb {"min": 20480}au moins 20480 Mo libres pour /var/lib/navinavertissementtous les composants
port_freeport_free {"param": "port"}port 9090 libre sur l'hôtebloquanttous les composants

Désinstallation​

Chemins supprimés quand les données sont purgées : {{ paths.data }}, {{ paths.log }}.

Liens rapides​

  • Interface Prometheus : {{ 'https' if config.tls_enabled else 'http' }}://{{ host.fqdn }}:{{ config.port }}/

Documentation amont​