Nous vous recommandons d’utiliser des outils de surveillance tels que Prometheus pour surveiller vos processus de tâches et files d’attente dans l’environnement de production.
Métriques de la file d’attente
Si vous utilisez Web UI, vous pouvez activer l’intégration avec Prometheus en fournissant deux paramètres :
--enable-metrics-exporter
: Active la collecte des métriques de file d’attente et les exporte vers l’endpoint/metrics
.--prometheus-addr
: Active la visualisation des métriques de file d’attente dans l’interface Web.
La page des métriques de la file d’attente ressemble à ceci :
Si vous n’utilisez pas l’interface Web, Asynq est livré avec un fichier binaire que vous pouvez exécuter pour exporter les métriques de la file d’attente. Il inclut également un package x/metrics
pour collecter les métriques de la file d’attente.
Métriques de traitement des tâches
L’interface Handler
et ServeMux
d’Asynq peuvent être instrumentées avec des métriques pour l’observabilité.
Voici un exemple d’exportation de métriques de traitement des tâches en utilisant Prometheus. Nous pouvons instrumenter notre code au sein de l’application pour suivre des métriques spécifiques à l’application, ainsi que des métriques par défaut (telles que la mémoire et le CPU) suivies par Prometheus.
Voici une liste des métriques spécifiques à l’application suivies dans le code d’exemple :
- Le nombre total de tâches traitées par le processus de tâches (y compris les tâches réussies et échouées).
- Le nombre de tâches échouées traitées par le processus de tâches.
- Le nombre actuel de tâches en cours de traitement par le processus de tâches.