Puma-metrieken-plugin
De AppSignal Puma-plugin verzamelt metrieken over hoe Puma functioneert. Wanneer AppSignal Puma-metrieken detecteert, maakt het een Magic Dashboard aan, waardoor u kerncijfers visueel kunt monitoren. Om de metriekverzameling in te schakelen, voegt u de AppSignal-plugin toe aan uw Puma-configuratie:Gebruik met prune_bundler
Als uw puma.rb-bestand prune_bundler bevat, moet u AppSignal als runtime-afhankelijkheid toevoegen.
Gebruik met preload_app!
Als uw puma.rb-bestand preload_app! bevat, is enige configuratie nodig om metrieken van minutely probes correct te rapporteren. Wanneer preload_app! true is, worden de minutely probes uitgevoerd in het Puma-hoofdproces. In het hoofdproces hebben de probes geen toegang tot dezelfde gegevens als de app in de Puma-workers, waardoor er onnauwkeurige of geen gegevens worden gerapporteerd.
In het puma.rb-configuratiebestand van Puma stopt u de AppSignal minutely probes in de before_fork-callback om de minutely probes in het Puma-hoofdproces te stoppen. Start vervolgens de minutely probes in het workerproces vanuit de on_worker_boot-callback.
Secrets
Als u een bibliotheek zoals Rails of dotenv gebruikt om de secrets van uw app te beheren en AppSignal te configureren, moet u deze in uw Puma-configuratie laden. AppSignal voert een achtergrondproces uit in het hoofdproces van Puma bij gebruik van de Puma-plugin. De rest van uw app wordt standaard niet geladen in het hoofdproces van Puma (tenzij upreload_app! gebruikt, wat mogelijk niet geschikt is voor uw app). Zonder aanvullende configuratie zal de AppSignal-config niet laden, en zal AppSignal niet starten.
Er is geen “on boot”-hook beschikbaar in Puma om uw extra config in het hoofdproces te laden. Om uw configuratie te laden, voegt u deze toe aan de root van uw puma.rb-configuratiebestand, zoals in het onderstaande voorbeeld.
Hostname
Deze probe luistert naar deAPPSIGNAL_HOSTNAME-configuratieoptie vanuit de
omgevingsvariabele voor de hostname-tag
die aan al zijn metrieken wordt toegevoegd. Als er geen is ingesteld, probeert deze
deze automatisch te detecteren. Gebruik de systeemomgevingsvariabele
APPSIGNAL_HOSTNAME om de hostname in te stellen als u de gedetecteerde hostname
wilt wijzigen.
StatsD-poort
Deze probe luistert naar deAPPSIGNAL_STATSD_PORT-configuratieoptie vanuit de omgevingsvariabele voor de configuratie van niet-standaard StatsD-poorten. Als de omgevingsvariabele niet is ingesteld, is de standaardwaarde 8125. Voor het Puma-hoofdproces is het verplicht om de omgevingsvariabele te gebruiken; het zal de AppSignal-bestandsconfiguratie niet inlezen.
Phased restart
Phased restarts van Puma herstarten het Puma-hoofdproces niet, wat betekent dat het AppSignal-achtergrondproces ook niet wordt herstart bij een phased restart. Als u wijzigingen in de AppSignal-config heeft aangebracht, moet u uw Puma-app daarna volledig herstarten om de configuratiewijziging van kracht te laten worden.Magic dashboard
Wanneer AppSignal Puma-metrieken ontvangt, wordt er een Puma magic dashboard aangemaakt, beschikbaar in de dashboardsectie van de AppSignal-app. Het Puma magic dashboard bevat de volgende grafieken:
Tags geven u een contextueel overzicht van prestatie-informatie van Active job. AppSignal rapporteert de volgende tags voor Active Job-jobs:
Met grafieken kunt u de metrieken van uw applicatie visueel monitoren. U kunt markeringen aan grafieken toevoegen en op elk gegevenspunt klikken om inzicht te krijgen in de staat van uw applicatie op dat moment.
