L'agent Ruby de New Relic vous permet d'envoyer des informations sur le déploiement de l'application en utilisant l'API REST ou une recette Capistrano (versions 2.x et 3.x) distribuée avec l'agent Ruby . Vous pouvez ensuite visualiser le déploiement dans l'UI de New Relic. Par défaut, toutes les informations de déploiement sont enregistrées dans votre environnement de production. Vous pouvez également personnaliser la variable rails_env
pour d’autres environnements, tels que la simulation.
Attribuer un nom d'application
Pour attribuer un nom d’application :
- Téléchargez la dernière version de l'agent Ruby.
- Définissez le
app_name
dans votre fichiernewrelic.yml
sur un nom significatif.
Cela attribuera à l'instance dans l'environnement donné l'étiquette donnée par app_name
lors de la navigation dans vos données dans l'utilisateur de l'interface New Relic. Le script de téléchargement de déploiement utilisera cette étiquette pour associer une application au déploiement.
Ajoutez votre clé d'utilisateur
En option, vous pouvez enregistrer le déploiement via l'API New Relic REST v2. Pour ce faire, fournissez votre clé utilisateur à la configuration de l’agent à l’aide de api_key
. Lorsque cette configuration est présente, la commande newrelic deployments
utilise automatiquement le point de terminaison de déploiement de l'API REST v2.
Enregistrer avec la ligne de commande
Si vous avez installé l'agent Ruby en tant que gem, vous pouvez enregistrer le déploiement directement en utilisant l'exécutable newrelic
:
$newrelic deployments
Selon votre environnement, vous devrez peut-être exécuter :
$bundle exec newrelic deployment
Vous pouvez utiliser plusieurs valeurs facultatives avec newrelic
. Le description
est un texte court.
$deployments [OPTIONS] [description]$OPTIONS:$ -a, --appname=NAME Set the application name.$ Default is app_name setting in newrelic.yml. Available only when using API v1.$ -i, --appid=ID Set the application ID$ If not provided, will connect to the New Relic collector to get it$ -e, --environment=name Override the (RAILS|RUBY|RACK)_ENV setting$ -u, --user=USER Specify the user deploying, for information only$ -r, --revision=REV Specify the revision being deployed. Required when using New Relic REST API v2$ -l, --license-key=KEY Specify the license key of the account for the app being deployed$ -c, --changes Read in a change log from the standard input$ -h Show this help
Lorsque vous utilisez l'option -c
, vous pouvez canaliser le log des modifications dans le script. Si vous n'utilisez pas de canaliser lors de l'utilisation de l'option -c
, sélectionnez control-D
pour signifier la fin du fichier (EOF).
Enregistrer avec Capistrano 3.x
L'agent Ruby New Relic contient une recette Capistrano qui peut enregistrer le déploiement d'applications. Après avoir attribué un nom à votre application, modifiez vos fichiers Capistrano pour communiquer avec l'agent :
En haut de votre Capfile, ajoutez la ligne suivante :
require 'new_relic/recipes'Dans votre fichier
deploy.rb
, incluez :after "deploy:updated", "newrelic:notice_deployment"
Enregistrer avec Capistrano 2.x
Vous pouvez enregistrer le déploiement de Capistrano 2.x avec l'agent New Relic :
Dites à Capistrano de charger les recettes de New Relic :
Ajoutez les hooks suivants à votre fichier
deploy.rb
:# Notify New Relic of deployments.# This goes out even if the deploy fails, sadly.after "deploy", "newrelic:notice_deployment"after "deploy:migrations", "newrelic:notice_deployment"after "deploy:cold", "newrelic:notice_deployment"
La prochaine fois que vous exécutez cap deploy
, l'agent informe New Relic du déploiement et tous les graphiques de séries chronologiques afficheront l'événement de déploiement.
Personnalisez votre configuration Capistrano
Si Capistrano exécute la recette de notification de déploiement sur une machine de build distante, la machine de build must possède votre . Vous pouvez soit copier un fichier newrelic.yml
valide sur la machine de build (éventuellement en utilisant un Capistrano Before Hook) ou appeler set :newrelic_license_key, 'YOUR_LICENSE_KEY'
dans votre configuration Capistrano.
Vous pouvez personnaliser certaines informations de déploiement en utilisant des variables Capistrano. Si elles sont définies, elles remplaceront les valeurs par défaut. Ces conditions s'appliquent à la fois à Capistrano 2 et 3.
Variables Capistrano 2 et 3 | Description |
---|---|
| L'application où le déploiement apparaîtra. Par défaut, cela provient de la définition dans le fichier Si vous définissez cette valeur à partir de la ligne de commande, vous ne pouvez spécifier qu'un seul nom d'application. Si vous définissez cette valeur sur |
| Le log des modifications, qui est déterminé en exécutant la commande svn/git |
| Texte descriptif qui apparaît avec le déploiement. La valeur par défaut est vide. |
| New Relic à utiliser. Par défaut, cela provient de la définition dans le fichier |
| La révision enregistrée pour le déploiement. Recommandation : si vous utilisez Subversion, pensez à inclure le nom tag ou de la branche en plus de la révision. |
| L'utilisateur à associer au déploiement. |
Remplacer les paramètres de Capistrano
Dans n'importe quelle version de Capistrano, vous pouvez remplacer les paramètres de votre deploy.rb
:
set :newrelic_user, "username"
Pour remplacer les paramètres avec Capistrano 2.x : Depuis la ligne de commande :
$cap production deploy -Snewrelic_desc="Deploying beta Krakatau release"
Cet exemple prompt le contenu qui apparaîtra dans le log des modifications du déploiement :
set(:newrelic_changelog) do Capistrano::CLI.ui.ask "Enter a summary of changes: "end
destinés à la simulation
Par défaut, la gem newrelic_rpm
est fourni avec les tâches Capistrano pour enregistrer tous les déploiements dans votre environnement de production. Si vous disposez d'une application de simulation distincte, vous pouvez modifier le paramètre de la variable rails_env
afin que le déploiement de la simulation soit enregistré dans l'application de simulation au lieu de l'application de production.
Pour vous identifier à votre environnement de simulation, utilisez Capistrano ou la ligne de commande.
destinés à la simulation | Commentaires |
---|---|
Capistrano multi-étages | Si vous utilisez Capistrano multi-étages, ajoutez cette ligne à
|
Capistrano 2.x | Si vous utilisez Capistrano 2.x, ajoutez ces informations à partir de la ligne de commande : bash
|