Aller au contenu

Duplicati

Un serveur Duplicati via son API : l’âge de la dernière sauvegarde réussie de chaque tâche, son dernier résultat, sa durée, sa taille, ses avertissements et erreurs, et la tâche en cours.

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

PortProtocoleUsage
8200TCPInterface web et API (HTTP, par défaut)

Duplicati n’a pas de comptes d’utilisateur, seulement le mot de passe de son interface web. À partir de Duplicati 2.1, DumbMonit échange ce mot de passe contre un jeton d’accès de courte durée (POST /api/v1/auth/login, puis Authorization: Bearer), le garde dix minutes et se reconnecte si le serveur le refuse.

La liste des tâches (GET /api/v1/backups) est la seule lecture requise. Les autres sont lues quand le serveur répond et ne font jamais échouer l’interrogation :

  • GET /api/v1/serverstate : la tâche en cours, et si le serveur est en pause.
  • GET /api/v1/progressstate : l’avancement de cette tâche.
  • GET /api/v1/backup/{id}/log : le résultat de la dernière exécution de chaque tâche (Success, Warning, Error, Fatal) avec ses compteurs d’avertissements et d’erreurs, pour les 50 premières tâches. Sans elle, un échec se déduit de LastErrorDate et LastErrorMessage de la tâche.

La liste des tâches porte déjà les métadonnées de chacune (LastBackupDate, LastBackupFinished, LastBackupDuration, LastErrorMessage, tailles) : GET /api/v1/backup/{id} n’est donc pas appelé.

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

MétriqueLabelsSignification
backup_failedbackup, backup_id1 quand la dernière exécution a échoué : son résultat est Error ou Fatal ou, sans le journal, une erreur est plus récente que la dernière exécution. Un avertissement n’est pas un échec.
backup_runningbackup, backup_id1 pour la tâche en cours.
backup_scheduledbackup, backup_id1 quand la tâche a un planning.
backup_last_success_age_secondsbackup, backup_idDepuis la dernière sauvegarde réussie ; absent pour une tâche qui n’a jamais réussi.
backup_last_duration_secondsbackup, backup_idDurée de la dernière exécution.
backup_source_bytes, backup_source_filesbackup, backup_idTaille et nombre de fichiers de la source.
backup_target_bytes, backup_versionsbackup, backup_idTaille à destination et nombre de versions conservées.
backup_last_result_infobackup, backup_id, resultValeur 1 : success, warning, error, fatal.
backup_last_warnings, backup_last_errorsbackup, backup_idCompteurs de la dernière exécution.
backup_last_error_infobackup, backup_id, messageValeur 1 avec le dernier message d’erreur (200 caractères au plus), seulement tant que la tâche est en échec.
backup_progress_percentbackup, backup_idAvancement de la tâche en cours.
server_paused1 quand le serveur est en pause.
backups, backups_failed, backups_runningCompteurs ; 200 tâches au plus sont décrites une par une.

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

  • Sauvegarde Duplicati en échec (Avertissement, rappel quotidien).
  • Sauvegarde Duplicati trop ancienne : une tâche planifiée n’a pas réussi depuis plus de deux jours (Avis, rappel quotidien).

Le panneau Sauvegardes dit en une phrase ce qui ne va pas, montre les compteurs d’échecs et de tâches en cours et si le serveur est en pause, puis liste les tâches — celles en échec d’abord — avec l’âge de leur dernière réussite, leur taille et, pour une tâche en échec, le dernier message d’erreur.

  1. Dans l’interface web de Duplicati, ouvrez Settings et définissez un long mot de passe aléatoire pour l’interface : Duplicati 2.1 en exige un.

  2. Si le serveur n’écoute que sur la machine elle-même, lancez-le avec ces options pour que DumbMonit puisse le joindre.

    --webservice-interface=any --webservice-allowed-hostnames=*
  3. Dans DumbMonit, saisissez l’adresse de Duplicati (par exemple nas.lan) et collez ce mot de passe.

  • Mot de passe de l’interface — Duplicati n’a ni comptes ni mode lecture seule

Duplicati ne connaît qu’un seul secret, le mot de passe de l’interface ; il ne peut ni être limité à la lecture ni être rattaché à un compte nommé. DumbMonit n’émet que des requêtes GET, hors la connexion.

IdentifiantChamps
Mot de passe de l’interface webLe mot de passe de l’interface web de Duplicati (stocké chiffré).

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

  • Protocole (http) et Port (8200).
  • Accepter un certificat non vérifiable : si le serveur est en HTTPS avec un certificat autosigné.
  • Délai par requête (15 s).

« Duplicati refused the password » : le mot de passe diffère de celui de l’interface.

« this collector needs Duplicati 2.1 or later » : le serveur n’a pas /api/v1/auth/login ; mettez-le à jour.

Le serveur répond « Invalid host header » ou un refus voisin : ajoutez le nom que vous utilisez dans DumbMonit à --webservice-allowed-hostnames.

Une tâche n’affiche pas d’âge : elle n’a jamais terminé une sauvegarde avec succès.