Documentation Cronbee
1. Introduction
1.1 Démarrer avec Cronbee
Cronbee est un outil simple mais puissant pour surveiller les tâches s'exécutant sur des appareils distants. Il aide les individus et les équipes à suivre l'état des tâches et des processus qui pourraient autrement être opaques.
Vous pouvez intégrer Cronbee dans vos scripts shell, crontabs, utiliser notre package CLI pour Debian, ou appeler l'API depuis des plateformes populaires : PHP, Java, Node.js.
1.2 Concept de base
Un moniteur Cronbee agit comme un écouteur d'événements et un répartiteur de notifications. Lorsque vous créez un moniteur, vous le configurez pour qu'il s'attende à des signaux d'événements périodiques. Si un signal n'est pas reçu ou arrive en dehors des limites configurées, des notifications sont envoyées pour alerter les membres de l'équipe des problèmes potentiels. Pour plus d'informations, consultez la F.A.Q..
1.3 Ping simple vs Surveillance de workflow
Cronbee prend en charge deux modes de fonctionnement, adaptés à divers cas d'usage.
1.3.1 Mode simple
Dans sa forme la plus simple, un moniteur Cronbee agit comme un écouteur de 'ping', une sorte de chien de garde. Cela implique d'envoyer un événement chaque fois qu'une tâche commence ou se termine. Cronbee affichera l'événement dans votre tableau de bord ou générera une notification s'il ne se produit pas.
1.3.2 Mode avancé
En mode avancé, Cronbee capture un nombre arbitraire d'événements via son API, qui peuvent être affichés sur votre tableau de bord. Cela permet une surveillance granulaire de tâches complexes à plusieurs étapes, aidant à identifier les étapes problématiques ou de longue durée.
1.4 Installation
Cronbee est une plateforme SaaS, donc aucune installation de logiciel n'est requise sauf si vous utilisez le CLI Cronbee. Les exigences essentielles incluent :
- Un compte sur cronbee.com
- Une méthode pour envoyer des requêtes HTTP à l'API Cronbee (généralement depuis un serveur ou un appareil distant)
1.5 Démarrage rapide
Chaque moniteur est identifié par un ID unique. Vous pouvez copier l'ID en survolant le nom du moniteur et en cliquant sur l'icône de copie dans l'interface utilisateur.
1.5.1 API Cronbee
L'API Cronbee est disponible à https://api.cronbee.com, et toutes les opérations liées aux moniteurs doivent être envoyées à https://api.cronbee.com/monitor/.
1.5.2 Faire une requête
En utilisant curl, vous pouvez envoyer un ping à votre moniteur (remplacez l'ID par votre ID de moniteur) :
# Envoyer un ping à un moniteur
curl -fsS --retry 3 https://api.cronbee.com/monitor/your-monitor-id/ping
Vous devriez voir votre moniteur se mettre à jour dans l'interface utilisateur :

2. Guide de configuration
La configuration d'un moniteur Cronbee est rapide. Nous utiliserons CURL dans nos exemples pour faire des appels à l'API Cronbee. Vous devrez configurer votre moniteur sur l'application web cronbee.com.
2.1 Configurer un moniteur
- Inscrivez-vous pour un compte sur cronbee.com.
- Après vous être inscrit et avoir activé votre compte, vous verrez l'application web pour la première fois. Un moniteur est déjà créé mais désactivé.

- Cliquez sur l'icône d'engrenage pour ouvrir les paramètres du moniteur.

- Modifiez divers paramètres sur votre moniteur. Voir paramètres du moniteur pour plus de détails :
Activez votre moniteur à ce stade.
2.1.1 Paramètres du moniteur expliqués
2.1.1.1 Tags et nom du moniteur
Ceux-ci sont à des fins organisationnelles et n'affectent pas les performances du moniteur. Vous pouvez filtrer les moniteurs par tags dans le panneau de gauche.
2.1.1.2 Cycle d'exécution attendu
Configurez votre moniteur pour correspondre à la fréquence d'exécution de votre tâche serveur. Cronbee offre des options de chaîne cron préconfigurées ou personnalisées.
2.1.1.2.1 Cycles préconfigurés
Le sélecteur de cycle simple offre des incréments de temps préconfigurés, de chaque minute à une fois par semaine.
2.1.1.2.2 Chaînes Cron personnalisées
Pour les tâches qui ne correspondent pas aux intervalles standard, spécifiez des chaînes cron personnalisées. Accédez à ces paramètres en sélectionnant le bouton 'cron' dans le menu de sélection :

Lorsque vous écrivez votre cronstring, Cronbee affiche le calendrier résultant en haut du panneau du moniteur pour validation :

2.1.1.3 Période de grâce d'exécution
Configurez une période de grâce pendant laquelle aucune alerte n'est générée, même si une tâche échoue à envoyer un signal de ping ou d'événement de démarrage. Ceci est utile pour les tâches de longue durée.

2.1.1.4 Paramètres de fuseau horaire du serveur
La plupart des serveurs utilisent UTC par défaut. Si votre serveur utilise un fuseau horaire localisé, configurez-le ici pour garantir que les moniteurs Cronbee fonctionnent correctement.

2.2 Utilisation de base du moniteur
Intégrez Cronbee dans vos tâches en utilisant un script shell. Ayez votre ID de moniteur unique prêt. Utilisez Cronbee pour indiquer un démarrage de tâche avec CURL :
# Cette commande envoie un ping à votre moniteur pour indiquer qu'une tâche a démarré.
# Assurez-vous d'avoir votre ID de moniteur prêt et remplacez 'your-monitor-id' par celui-ci.
curl -fsS --retry 3 https://api.cronbee.com/monitor/your-monitor-id/ping && [votre commande ou script de tâche]
Vous devriez voir votre moniteur se mettre à jour dans l'interface utilisateur :

2.3 Surveillance avancée des événements
Pour les workflows à plusieurs étapes, surveillez chaque partie, comme une sauvegarde de base de données suivie d'une synchronisation cloud. Cronbee excelle dans la construction de workflows dynamiques et la notification de votre équipe des problèmes.
- Utilisez un jeton d'identifiant d'instance de tâche unique. Un appel à un point de terminaison API de moniteur Cronbee sans le chemin
/pingdémarre le suivi du workflow (un événementstart) et retourne un jeton. - Les appels API ultérieurs doivent ajouter le chemin
/event/[eventname]et le paramètre, indiquant l'étape de l'événement.
Exemple :
# Obtenir un jeton et démarrer le workflow
TOKEN=`curl -fsS --retry 3 "https://api.cronbee.com/monitor/your-monitor-id"`
# --- démarrage du script ---
curl -fsS --retry 3 "https://api.cronbee.com/monitor/your-monitor-id/event/backup?token=$TOKEN"
# --- script de sauvegarde ---
curl -fsS --retry 3 "https://api.cronbee.com/monitor/your-monitor-id/event/sync?token=$TOKEN"
# --- script de synchronisation ---
curl -fsS --retry 3 "https://api.cronbee.com/monitor/your-monitor-id/event/stop?token=$TOKEN"
Visualisez les résultats de votre pipeline de surveillance dans l'application web Cronbee :

3. Exemples
3.1 Script shell
Pour utiliser Cronbee dans un script shell, vous pouvez envoyer un ping à votre moniteur au début et à la fin de votre script pour suivre son exécution :
# Démarrer la tâche
curl -fsS --retry 3 https://api.cronbee.com/monitor/your-monitor-id/ping/start
# Votre logique de script ici
echo "Exécution de certaines tâches..."
# Terminer la tâche
curl -fsS --retry 3 https://api.cronbee.com/monitor/your-monitor-id/ping/end
3.2 Crontab
Intégrez Cronbee avec crontab en ajoutant une commande ping à vos tâches planifiées :
# Exemple d'entrée crontab
* * * * * curl -fsS --retry 3 https://api.cronbee.com/monitor/your-monitor-id/ping && /chemin/vers/votre/script.sh
3.3 PHP
Utilisez l'API Cronbee dans une application PHP pour envoyer un ping :
<?php
$monitorId = 'your-monitor-id';
$ch = curl_init("https://api.cronbee.com/monitor/$monitorId/ping");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo "Ping envoyé : " . $response;
?>
3.4 Node.js
Démontrer l'utilisation de Cronbee avec Node.js pour la surveillance des événements :
const https = require('https');
const monitorId = 'your-monitor-id';
const url = `https://api.cronbee.com/monitor/${monitorId}/ping`;
https.get(url, (res) => {
console.log(`Code de statut : ${res.statusCode}`);
}).on('error', (e) => {
console.error(`Erreur : ${e.message}`);
});
3.5 Java
Illustrer comment intégrer Cronbee dans une application Java :
import java.net.HttpURLConnection;
import java.net.URL;
public class CronbeeExample {
public static void main(String[] args) {
try {
String monitorId = "your-monitor-id";
URL url = new URL("https://api.cronbee.com/monitor/" + monitorId + "/ping");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
int responseCode = connection.getResponseCode();
System.out.println("Code de réponse : " + responseCode);
} catch (Exception e) {
e.printStackTrace();
}
}
}
4. Référence API
- URL de base :
https://api.cronbee.com -
Points de terminaison :
-
Ping Moniteur :
/monitor/{monitor-id}/ping -
Méthode : GET
-
Description : Envoie un ping au moniteur spécifié.
-
Paramètres :
monitor-id(string) : L'identifiant unique du moniteur.
-
Réponse :
200 OK: Ping réussi.4xx/5xx: Codes d'erreur indiquant des problèmes.
-
Moniteur d'événements :
/monitor/{monitor-id}/event/{eventname} -
Méthode : GET
-
Description : Envoie un événement au moniteur spécifié, utile pour suivre les workflows à plusieurs étapes.
-
Paramètres :
monitor-id(string) : L'identifiant unique du moniteur.eventname(string) : Le nom de l'événement envoyé, représentant une étape spécifique dans le workflow.token(string, optionnel) : Un jeton pour suivre l'instance du workflow. Ce jeton est obtenu à partir de l'appel initial pour démarrer le workflow.
-
Réponse :
200 OK: Événement enregistré avec succès.4xx/5xx: Codes d'erreur indiquant des problèmes.
-
4.1 Exemple de workflow
-
Démarrer le workflow : Initiez le workflow en envoyant une requête au moniteur sans le chemin
/pingou/event. Cela démarrera le workflow et retournera untokenque vous utiliserez pour les appels d'événements ultérieurs.TOKEN=`curl -fsS --retry 3 "https://api.cronbee.com/monitor/your-monitor-id"` -
Envoyer des événements : Pour chaque étape de votre workflow, envoyez un événement en utilisant le chemin
/event/{eventname}. Incluez letokenobtenu au début du workflow.# Exemple pour une étape de sauvegarde curl -fsS --retry 3 "https://api.cronbee.com/monitor/your-monitor-id/event/backup?token=$TOKEN" # Exemple pour une étape de synchronisation curl -fsS --retry 3 "https://api.cronbee.com/monitor/your-monitor-id/event/sync?token=$TOKEN" -
Terminer le workflow : Optionnellement, vous pouvez envoyer un événement final pour indiquer la fin du workflow.
curl -fsS --retry 3 "https://api.cronbee.com/monitor/your-monitor-id/event/stop?token=$TOKEN"
4.2 Notes
- Utilisation du jeton : Le
tokenest crucial pour associer tous les événements à la même instance de workflow. Assurez-vous qu'il est inclus dans chaque appel d'événement. - Noms d'événements : Choisissez des noms d'événements significatifs qui représentent les étapes de votre workflow pour un meilleur suivi et analyse.
- Gestion des erreurs : Surveillez les codes de réponse pour gérer les erreurs qui peuvent survenir lors des appels API.
5. Dépannage
- Problème : Le moniteur ne reçoit pas de pings.
- Solution : Vérifiez la connectivité réseau et assurez-vous que l'ID de moniteur correct est utilisé.
- Problème : L'API retourne une erreur 4xx.
- Solution : Vérifiez le point de terminaison API et les paramètres. Assurez-vous que votre compte est actif.
6. Glossaire
- Moniteur : Un outil qui suit l'état des tâches et envoie des notifications si des problèmes surviennent.
- Événement : Un signal ou une occurrence qu'un moniteur écoute.
- Ping : Un signal envoyé à un moniteur pour indiquer le début ou la fin d'une tâche.
7. Commentaires
Nous apprécions vos commentaires ! Si vous avez des suggestions ou rencontrez des problèmes avec cette documentation, veuillez nous contacter à support@cronbee.com.