Heroku est une solution de plateforme en tant que service (PaaS) pour l'hébergement d'applications Web dans divers langages d'agent, dont Ruby. Avec New Relic, vous pouvez étendre Heroku en utilisant les métriques et . Cette page décrit les considérations spéciales pour l'utilisation d'Heroku comme service d'hébergement avec l'agent Ruby pour New Relic.
Installer le module complémentaire de l'agent New Relic
Après avoir déployé votre application Ruby sur Heroku, installez l'agent New Relic :
L'installation du module complémentaire crée automatiquement un compte New Relic privé et configure l'accès aux serveurs Heroku. New Relic commencera monitoring les performances des applications, l'expérience finale de l'utilisateur et les performances du serveur d'applications collectées après l'installation du module complémentaire. Dans quelques minutes, les données devraient commencer à apparaître sur votre page de résumé APM.
Ce document vous a-t-il aidé lors de votre installation ?
dépannage de votre installation
Quelques minutes après l'installation et la configuration de New Relic, les données devraient commencer à apparaître sur la page de résumé APM de votre application. Si aucune donnée n'apparaît, suivez les procédures de dépannage de l'agent Ruby.
Mise à niveau à partir d'une installation New Relic existante
Si New Relic est déjà installé, réinstallez le module complémentaire à l'aide de la commande Heroku toolbelt.
$heroku config:set NEW_RELIC_APP_NAME='Your Application Name'
Configurer l'agent Ruby sur Heroku
Vous pouvez configurer New Relic dans votre fichier newrelic.yml
ou utiliser des variables d'environnement pour avoir la priorité sur les valeurs de votre fichier de configuration. Utilisez heroku config:set
pour modifier les paramètres de l'agent pour votre application Heroku.
Par exemple, pour définir le paramètre custom_insights_events.max_samples_stored
sur 500 :
$heroku config:set NEW_RELIC_CUSTOM_INSIGHTS_EVENTS_MAX_SAMPLES_STORED=500
nom d'hôte sur Heroku
Savoir quelles données proviennent de quel hôte vous permet de filtrer les métriques affichées dans l'UI sur un hôte spécifique. Sur Heroku, les noms d'hôte dans les dynos sont générés dynamiquement et n'ont généralement pas de sens pour vous en tant que développeur d'applications.
À partir de la version 3.9.5, l'agent Ruby signale le nom du dyno Heroku comme nom d'hôte (par exemple, web.1
). Cela vous permet de visualiser vos données limitées à un nom de dyno particulier. Vous pouvez désactiver ce comportement en définissant le paramètre heroku.use_dyno_names
sur false
. L'agent utilisera alors un seul nom d'espace réservé agrégé appelé Dynamic Hostname
.
Agrégation de noms d'hôtes Dyno
Certains dynos ont des noms générés dynamiquement, et ceux-ci peuvent prendre de nombreuses valeurs uniques au fil du temps. Les exemples incluent scheduler
dynos créés par le module complémentaire Scheduler et run
dynos créés en appelant heroku run
sur la ligne de commande. Afin de maintenir un nombre raisonnable de noms d'hôte uniques, l'agent Ruby regroupera automatiquement les données des dynos scheduler
et run
dans des noms d'hôte appelés scheduler.*
et run.*
.
Si vous disposez d'autres types de dyno créés de manière dynamique, utilisez le paramètre de configuration heroku.dyno_name_prefixes_to_shorten
pour appliquer la même agrégation à ces autres types de dyno.
Logging pour Heroku
Sur Heroku, l'agent Ruby se connecte à la sortie standard, en mélangeant le log de l'agent avec votre log d'application normal. Les entrées de log générées par l'agent Ruby incluent une tag [NewRelic]
comme préfixe.
Pour récupérer le log sur Heroku:
Vérifiez que votre variable d'environnement
NEW_RELIC_LOG
est définie surstdout
avec cette commande Heroku toolbelt :bash$heroku configPour réinitialiser la variable d’environnement si nécessaire, exécutez :
bash$heroku config:set NEW_RELIC_LOG="stdout"Ouvrez votre fichier
newrelic.yml
dans un éditeur.Remplacez
log_level
pardebug
et enregistrez le fichier. Assurez-vous de ne pas modifier l'indentation.Redémarrez votre application Web.
Générez du trafic vers votre application et exécutez-la pendant environ cinq minutes.
Exécutez la commande Heroku toolbelt suivante pour afficher le log uniquement à partir de l'agent New Relic :
bash$heroku logs -n 1500 | grep -i relicSi vous envoyez votre fichier de log au support New Relic, joignez le fichier de log à votre ticket d'assistance, ainsi que
newrelic.yml
, votreGemfile
etGemfile.lock
.Modifiez à nouveau
newrelic.yml
et remplacezlog_level
par le paramètre précédent. Sauvegarder le fichier.