Aller au contenu

Ceph

Une grappe Ceph via l’API REST du module tableau de bord du gestionnaire : l’état de santé et les contrôles qui le détaillent, les OSD arrêtés, sortis ou presque pleins, les groupes de placement qui ne sont pas active+clean, la capacité brute, les pools et les moniteurs sortis du quorum.

DumbMonit se connecte avec un utilisateur du tableau de bord au rôle intégré read-only (POST /api/auth, les identifiants dans le corps de la requête), puis envoie le jeton reçu en Authorization: Bearer, jamais dans l’URL. Chaque appel demande application/vnd.ceph.api.v1.0+json, la version d’API que documente le tableau de bord. Le jeton est gardé une heure et renouvelé quand il est refusé : se déconnecter chaque minute remplirait la liste de révocation des jetons du gestionnaire.

Une page est obligatoire — /api/health/minimal (santé, contrôles, groupes de placement, capacité, débit client) — et quatre sont facultatives, laissées de côté sans faire échouer le reste quand le rôle ou la version de Ceph ne les sert pas : /api/osd, /api/pool, /api/monitor et /api/summary (la version).

Du serveur DumbMonit (ou de son agent relais) vers l’équipement :

PortProtocoleUsage
8443TCPAPI REST du tableau de bord (HTTPS, par défaut)
8080TCPSeulement avec l’option de protocole HTTP

Toutes les métriques sont préfixées dumbmonit_ceph_.

MétriqueLabelsSignification
version_infoversionValeur 1.
health_status0 HEALTH_OK, 1 HEALTH_WARN, 2 HEALTH_ERR.
health_ok1 quand l’état est HEALTH_OK.
health_checksContrôles actifs, ceux qu’un opérateur a mis en sourdine exclus.
health_check_infocheck, severityValeur 1 par contrôle actif (OSD_DOWN, PG_DEGRADED…).
osds, osds_up, osds_in, osds_downNombres d’OSD.
osd_up, osd_inosd, hostPar OSD.
osd_used_percentosd, hostRemplissage de chaque OSD.
pgs, pgs_clean, pgs_uncleanGroupes de placement ; propre veut dire active et clean.
pgs_in_statestateGroupes de placement par état (active+clean, active+undersized+degraded…).
objects, objects_degraded, objects_misplaced, objects_unfoundNombres d’objets.
capacity_bytes, capacity_used_bytes, capacity_available_bytes, capacity_used_percentCapacité brute de la grappe.
poolsNombre de pools.
pool_used_percent, pool_used_bytes, pool_objectspoolPar pool.
mons, mons_in_quorum, mons_out_of_quorumMoniteurs.
hostsHôtes connus de l’orchestrateur.
client_read_bytes_per_second, client_write_bytes_per_second, client_read_ops_per_second, client_write_ops_per_second, recovering_bytes_per_secondDébit des clients et de la récupération.

Les règles intégrées qui s’appliquent :

  • Ceph health error : HEALTH_ERR pendant cinq minutes (Avertissement).
  • Ceph health warning : HEALTH_WARN pendant 30 minutes (Avis).
  • Ceph OSD down : pendant dix minutes (Avis).
  • Ceph placement groups not clean : pendant 30 minutes (Avis).
  • Ceph objects unfound : pendant cinq minutes (Avertissement).
  • Ceph capacity high : au-dessus de 80 % pendant 30 minutes (Avis).
  • Ceph OSD nearly full : au-dessus de 85 % pendant 15 minutes (Avis).
  • Ceph pool nearly full : au-dessus de 90 % pendant 15 minutes (Avis).
  • Ceph monitor out of quorum : pendant cinq minutes (Avertissement).

Le panneau Cluster dit en une phrase ce qui ne va pas, montre les OSD actifs, les groupes de placement propres, la capacité et les moniteurs dans le quorum, puis liste les contrôles de santé actifs, les OSD qui demandent de l’attention et les pools par remplissage.

Créer un utilisateur du tableau de bord en lecture seule pour DumbMonit

Section intitulée « Créer un utilisateur du tableau de bord en lecture seule pour DumbMonit »
  1. Check that the dashboard is enabled and note the address of the active manager.

    ceph mgr services
  2. Write a long random password to a file, and keep it: DumbMonit needs it.

    openssl rand -base64 24 | tr -d '\n' | tee /tmp/dumbmonit.pwd
  3. Create the user with the built-in read-only role.

    ceph dashboard ac-user-create dumbmonit -i /tmp/dumbmonit.pwd read-only
  4. Delete the password file.

    shred -u /tmp/dumbmonit.pwd
  5. In DumbMonit, enter the address of the active manager (for example ceph.lan) with that user name and password.

(Les étapes ci-dessus reprennent le texte anglais affiché dans l’application.)

  • read-only role — Lit l’état de la grappe, ne change rien
  • Le tableau de bord peut imposer une politique de mot de passe (longueur, complexité) ; un mot de passe aléatoire en base64 la satisfait normalement.
  • Sans le module tableau de bord (ceph mgr module enable dashboard), il n’y a rien à lire.
IdentifiantChamps
Utilisateur et mot de passe du tableau de bordL’utilisateur créé ci-dessus.

Adresse : le nom d’hôte ou l’IP du gestionnaire actif, hôte:port, ou une URL. Options :

  • Protocole (https) : http ou https.
  • Port (8443) : le port du tableau de bord, 8443 en HTTPS et 8080 en HTTP.
  • Accepter un certificat invérifiable : le certificat d’origine du tableau de bord est auto-signé.
  • Délai par requête (15 s).

« Ceph refused the login » : nom d’utilisateur ou mot de passe incorrect, ou utilisateur désactivé ou sans rôle.

« Ceph answered 303 … » : l’adresse est celle d’un gestionnaire en attente ; utilisez l’actif, que montre ceph mgr services.

Aucun chiffre de pool, d’OSD ou de moniteur : ces pages sont facultatives et le rôle ou la version de Ceph peut ne pas les servir ; la santé, les groupes de placement et la capacité sont lus quand même.