Plugin de métriques Puma
Le plugin AppSignal pour Puma collectera des métriques sur le fonctionnement de Puma. Lorsqu’AppSignal détecte des métriques Puma, il créera un Magic Dashboard vous permettant de surveiller visuellement les métriques principales. Pour activer la collecte de métriques, ajoutez le plugin AppSignal à votre configuration Puma :Utilisation avec prune_bundler
Si votre fichier puma.rb inclut prune_bundler, vous devez ajouter AppSignal comme dépendance d’exécution.
Utilisation avec preload_app!
Si votre fichier puma.rb inclut preload_app!, une certaine configuration est requise pour rapporter correctement les métriques des sondes minute par minute. Lorsque preload_app! est défini sur true, les sondes minute par minute s’exécutent dans le processus principal de Puma. Dans le processus principal, les sondes ne peuvent pas accéder aux mêmes données que l’application s’exécutant dans les workers Puma, ce qui entraîne le signalement de données inexactes ou aucune donnée.
Dans le fichier de configuration puma.rb, arrêtez les sondes minute par minute AppSignal dans le callback before_fork pour arrêter les sondes dans le processus principal Puma. Démarrez ensuite les sondes minute par minute dans le processus worker à partir du callback on_worker_boot.
Secrets
Si vous utilisez une bibliothèque telle que Rails ou dotenv pour gérer les secrets de votre application et configurer AppSignal, vous devrez les charger dans votre configuration Puma. AppSignal exécute un processus en arrière-plan dans le processus principal de Puma lors de l’utilisation du plugin Puma. Le reste de votre application n’est pas chargé par défaut dans le processus principal de Puma (sauf si vous utilisezpreload_app!, ce qui peut ne pas convenir à votre application). Sans configuration supplémentaire, la configuration AppSignal ne se chargera pas et AppSignal ne démarrera pas.
Aucun hook « on boot » n’est disponible dans Puma pour charger votre configuration supplémentaire dans le processus principal. Pour charger votre configuration, ajoutez-la à la racine de votre fichier de configuration puma.rb, comme dans l’exemple ci-dessous.
Nom d’hôte
Cette sonde écoute l’option de configurationAPPSIGNAL_HOSTNAME provenant de la variable
d’environnement pour le tag hostname
ajouté à toutes ses métriques. Si aucune n’est définie, elle tentera de la détecter automatiquement.
Utilisez la variable d’environnement système APPSIGNAL_HOSTNAME pour définir le nom d’hôte si vous
souhaitez modifier le nom d’hôte détecté.
Port StatsD
Cette sonde écoute l’option de configurationAPPSIGNAL_STATSD_PORT provenant de la variable d’environnement pour la configuration des ports StatsD non par défaut. Si la variable d’environnement n’est pas définie, elle prend par défaut la valeur 8125. Pour le processus principal Puma, il est nécessaire d’utiliser la variable d’environnement ; elle ne lira pas la configuration du fichier AppSignal.
Redémarrage par phases
Les redémarrages par phases de Puma ne redémarrent pas le processus Puma principal, ce qui signifie que le processus AppSignal en arrière-plan n’est pas non plus redémarré lors d’un redémarrage par phases. Si vous avez apporté des modifications à la configuration AppSignal, vous devrez redémarrer entièrement votre application Puma par la suite pour que la modification de configuration prenne effet.Magic dashboard
Lorsqu’AppSignal reçoit des métriques Puma, il créera un magic dashboard Puma, disponible dans la section dashboard de l’application AppSignal. Le magic dashboard Puma contiendra les graphiques suivants :
Les tags vous offrent une décomposition contextuelle des informations de performance d’Active Job. AppSignal signale les tags suivants pour les jobs Active Job :
Les graphiques vous permettent de surveiller visuellement les métriques de votre application. Vous pouvez ajouter des marqueurs aux graphiques et cliquer sur n’importe quel point de données pour obtenir des informations sur l’état de votre application à ce moment-là.
