Passer au contenu principal
La gem Ruby AppSignal peut être configurée de plusieurs façons différentes. Via un initializer, avec un fichier de configuration ou via des variables d’environnement.
Dans la version 2.0 de la gem Ruby, l’ordre de chargement a changé ! Les étapes 4 et 5 ont été interverties, garantissant que les variables d’environnement sont chargées après le fichier de configuration appsignal.yml. Pour en savoir plus, consultez la Pull Request sur GitHub.
La configuration est chargée en un processus de cinq étapes. En commençant par les valeurs par défaut de la gem et en terminant par la lecture des variables d’environnement. Les options de configuration peuvent être mélangées sans perdre la configuration d’une autre option. L’utilisation conjointe d’un initializer, d’un fichier de configuration et de variables d’environnement fonctionnera.

Sources de configuration

1. Valeurs par défaut de la gem

La gem AppSignal commence par charger sa configuration par défaut, en définissant les chemins et en activant certaines fonctionnalités. Les valeurs par défaut de l’agent peuvent être trouvées dans la source de la gem sous le nom Appsignal::Config::DEFAULT_CONFIG. Cette source est listée comme default dans la sortie de diagnose.

2. Paramètres détectés par le système

La gem détecte le type de système sur lequel elle s’exécute et se configure en conséquence. Par exemple, lorsqu’elle s’exécute dans un système basé sur des conteneurs (comme Docker et Heroku), elle définit l’option de configuration :running_in_container sur true. Cette source est listée comme system dans la sortie de diagnose.

3. Configuration initiale donnée à l’initializer Config

Cette méthode de configuration est obsolète depuis la version 3.12 de la gem Ruby et a été supprimée dans la version 4.0.0 de la gem Ruby au profit de Appsignal.configure.
Lorsque vous créez manuellement une classe Appsignal::Config, vous pouvez passer la configuration initiale que vous souhaitez appliquer. Il s’agit d’un hash de l’une des options décrites ci-dessous.
Appsignal.config = Appsignal::Config.new(Dir.pwd, "production", {
  active: true,
  name: "My app!",
  push_api_key: "e55f8e96-62df-4817-b672-d10c8d924065"
})
Cette étape remplacera toutes les options données depuis les valeurs par défaut ou la configuration détectée par le système. Cette source est listée comme initial dans la sortie de diagnose.

4. Fichier de configuration appsignal.yml

Cette méthode de configuration sera supprimée dans la prochaine version majeure de la gem Ruby. Nous recommandons d’utiliser le fichier de configuration appsignal.rb à la place.
Une façon de configurer votre application consiste à utiliser le fichier appsignal.yml. Lorsque vous utilisez la commande appsignal install, la gem en créera un pour vous. Le chemin de ce fichier de configuration est {project_root}/config/appsignal.yml. Cette étape remplacera toutes les options données depuis les valeurs par défaut, la configuration détectée par le système et l’initializer. Lisez la documentation du fichier de configuration appsignal.yml pour plus d’informations sur le fonctionnement de cette méthode de configuration. Cette source est listée comme file dans la sortie de diagnose.

5. Variables d’environnement

AppSignal recherchera sa configuration dans les variables d’environnement. Lorsqu’elles sont trouvées, celles-ci remplaceront toutes les options de configuration données aux étapes précédentes.
export APPSIGNAL_APP_NAME="my custom app name"
# start your app here
Lisez la documentation sur les variables d’environnement système pour plus d’informations sur le fonctionnement de cette méthode de configuration. Cette source est listée comme env dans la sortie de diagnose.

6. Fichier de configuration appsignal.rb

Une façon de configurer votre application consiste à utiliser le fichier appsignal.rb. Le chemin de ce fichier de configuration est {project_root}/config/appsignal.rb. Ce chemin de chargement ne peut pas être personnalisé. Cette étape remplacera toutes les options données depuis les valeurs par défaut, la configuration détectée par le système et les variables d’environnement. Si à la fois un fichier de configuration appsignal.yml et un fichier de configuration appsignal.rb sont présents, seul le fichier de configuration appsignal.rb est chargé. Lisez la documentation du fichier de configuration appsignal.rb pour plus d’informations sur le fonctionnement de cette méthode de configuration. Cette source est listée comme dsl dans la sortie de diagnose.

7. Assistant Appsignal.configure

Dans les versions 3 et 4 de la gem Ruby, l’appel de l’assistant Appsignal.configure chargera également le fichier appsignal.yml, s’il est présent. Ce comportement sera supprimé dans la prochaine version majeure de la gem Ruby. Veuillez utiliser uniquement le fichier de configuration appsignal.rb ou l’assistant Appsignal.configure.
Enfin, la gem Ruby peut être configurée à l’aide de l’assistant Appsignal.configure dans l’application. Lorsqu’il est appelé, toutes les options de configuration configurées avec cet assistant remplaceront toutes les options de configuration données depuis les sources précédentes. Si un fichier de configuration config/appsignal.rb est également présent dans le projet, il ne sera pas chargé si l’assistant Appsignal.configure est appelé en premier dans votre application. Lisez la documentation de l’assistant Appsignal.configure pour plus d’informations sur le fonctionnement de cette méthode de configuration. Cette source est listée comme dsl dans la sortie de diagnose.