Choisir une option de configuration
Ce guide vous accompagne dans les étapes nécessaires pour configurer votre application afin qu’elle réponde au mieux à vos besoins. Il existe bien sûr plusieurs options de configuration pour votre application, mais comme la méthode d’implémentation est identique pour toutes les options, dans ce guide, nous nous concentrerons sur les configurations suivantes : Nous utiliserons l’optionlog_level comme exemple pour les applications Ruby, Elixir, Node.js et Python.
Nous utiliserons l’option namespace comme exemple pour les applications JavaScript front-end.
Méthodes de configuration
Il existe plusieurs façons de configurer votre intégration AppSignal, et les intégrations peuvent varier en fonction du langage de votre application, mais elles disposent toutes des méthodes de configuration suivantes :- Configuration par fichier :
Un fichier de configuration depuis lequel l’intégration AppSignal lit la configuration AppSignal. - Configuration par variables d’environnement système :
Les variables d’environnement sont définies sur le système hôte (serveur) sur le processus parent qui démarre votre application.
Remarque : cette méthode n’est pas disponible pour le JavaScript front-end.
Configuration par fichier
La configuration par fichier est le moyen le plus simple de configurer votre intégration. Certaines intégrations créent un fichier de configuration lors de l’installation d’AppSignal dans l’application. Dans ces fichiers de configuration, vous pouvez configurer de manière unique un ou plusieurs environnements d’application. Options de configuration pour :Ruby
Lorsque vous utilisez le gem d’intégration Ruby, il créera le fichierconfig/appsignal.yml à la racine du dossier de votre application, avec des paramètres de configuration de base lors de l’installation. Si votre application rapporte des données à AppSignal sans fichier appsignal.yml, votre application utilise très probablement des variables d’environnement système.
Dans l’exemple de fichier de configuration ci-dessous, deux environnements sont définis, development et production — chacun a des options de configuration spécifiques à son environnement imbriquées en dessous. Tout ce qui est défini et imbriqué dans default s’applique à tous les environnements, à condition que default soit inclus dans le mappage d’environnement.
Nous voulons définir le log_level sur debug exclusivement dans notre environnement development ; pour ce faire, nous avons ajouté log_level: "debug" dans la configuration de l’environnement de développement (ligne 10).
default s’applique à tous les environnements, donc pour définir le log_level sur debug dans tous les environnements, nous pouvons à la place imbriquer la configuration sous default, comme dans la ligne 6 de l’exemple de code ci-dessous :
En savoir plus :
- Rubrique Configuration de l’intégration Ruby
- Détails sur l’ordre de chargement de la configuration de l’intégration Ruby
Elixir
Lors de l’installation, l’intégration Elixir crée un fichierconfig/appsignal.exs (emplacement par défaut) avec des configurations de base. Si ce fichier n’est pas présent mais que votre application rapporte des données à AppSignal, vérifiez l’un des autres fichiers .exs du répertoire config/ de votre application Elixir. Si aucune configuration AppSignal n’est présente dans aucun des fichiers, votre application utilise probablement les variables d’environnement système comme méthode de configuration à la place.
Pour ajouter une option de configuration et l’appliquer à tous les environnements de votre application, ajoutez l’option de configuration au fichier config/appsignal.exs, comme à la ligne 7 de l’exemple ci-dessous :
config/.
Dans l’exemple ci-dessous, l’option log_level a été ajoutée à la ligne 3 de l’environnement de développement (ou « dev ») :
En savoir plus
- Rubrique Configuration de l’intégration Elixir
- Détails sur l’ordre de chargement de la configuration de l’intégration Elixir
Node.js
Après l’installation, vous devez créer un fichier de configuration AppSignal pour configurer votre application. Si aucun fichier avec la configuration AppSignal n’est présent, elle utilise très probablement les variables d’environnement système comme méthode de configuration à la place. Pour configurer AppSignal pour les applications Node.js, nous vous recommandons de créer un fichierappsignal.js avec la configuration AppSignal à la racine de votre application ou dans le répertoire src. Ensuite, importez-le ou requérez-le depuis le code de l’application avant que d’autres packages ne soient requis ou importés.
Dans l’exemple ci-dessous, il y a un fichier appsignal.js à la racine du répertoire de l’application. Dans ce fichier, nous ajouterons l’option de configuration logLevel.
NODE_ENV, par défaut « development »).
Dans Node.js, il existe de nombreuses façons de créer des configurations spécifiques à un environnement pour AppSignal. Si vous ne savez pas comment procéder dans votre propre application, une méthode que nous recommandons consiste à utiliser des conditionnelles dans votre appsignal.js, comme dans l’exemple ci-dessous où nous spécifions debug pour l’environnement de production.
- À la ligne 4 — nous activons l’intégration AppSignal uniquement si l’environnement est production.
- À la ligne 8 — comme dans notre exemple de code précédent, nous définissons
logLevelsurdebug
appsignal.js tout en haut du fichier principal de votre application. Le nom du fichier principal de votre application peut varier en fonction de la structure de votre application. Il s’agit du fichier que vous utilisez pour démarrer votre application Node et il est généralement nommé index.js ou app.js. Assurez-vous qu’AppSignal est requis tout en haut du fichier comme dans l’exemple ci-dessous :
En savoir plus
- Configuration de l’intégration Node.js
- Ordre de chargement de la configuration de l’intégration Node.js
Python
Lorsque vous utilisez l’installateur de l’intégration Python, celui-ci créera le fichier__appsignal__.py à la racine du dossier de votre application, avec des paramètres de configuration de base. Votre application peut également être configurée à l’aide de variables d’environnement système.
Pour ajouter une option de configuration et l’appliquer à l’environnement de développement de votre application, ajoutez l’option de configuration au fichier __appsignal__.py, comme dans l’exemple ci-dessous.
environment de la même manière que votre application détermine son environnement (development/staging/production). Cela peut se faire à l’aide d’une variable d’environnement système ou d’une autre méthode propre à l’application. Dans l’exemple ci-dessous, nous utiliserons une variable d’environnement système MY_APP_ENV à la fois pour définir l’environnement de l’application et n’activer que pour l’environnement de production.
En savoir plus :
- Rubrique Configuration de l’intégration Python
- Détails sur l’ordre de chargement de la configuration de l’intégration Python
JavaScript front-end
Pour configurer AppSignal pour le JavaScript front-end, nous vous recommandons de créer un fichierappsignal.js avec la configuration AppSignal à la racine de votre projet ou dans le répertoire src. Ensuite, requérez-le ou importez-le depuis le code de l’application avant que d’autres packages ne soient requis ou importés.
Dans l’exemple ci-dessous, il y a un fichier appsignal.js à la racine du répertoire de l’application. À la ligne 8, nous avons ajouté l’option de configuration namespace.
appsignal.js tout en haut du fichier principal de votre application, comme dans l’exemple ci-dessous :
En savoir plus
Configuration par variables d’environnement système
Les variables d’environnement système, ou « variables d’environnement » en abrégé, sont des variables accessibles par les processus, et qui sont héritées du processus parent qui les démarre. Au lieu d’utiliser un fichier de configuration pour la configuration, il est possible de configurer AppSignal en utilisant uniquement des variables d’environnement. Il est également possible de stocker des clés de configuration contenant des données sensibles, telles que la clé API Push, dans une variable d’environnement, et d’utiliser des fichiers de configuration pour le reste de la configuration. Cette méthode de configuration est compatible avec les applications Ruby, Elixir et Node.js. Avant de passer à l’exemple suivant de définition de variables d’environnement via un shell, expliquons comment fonctionnent les variables d’environnement concernant les shells et les processus. Les variables d’environnement peuvent appartenir à un processus tel qu’un shell ou votre application. La commandeexport FOO=BAR, par exemple, définirait la variable d’environnement FOO de votre shell sur BAR. Les variables d’environnement sont héritées entre les processus, donc lorsque ce shell démarre un nouveau processus, ce processus aura également les variables d’environnement du shell.
Lorsque vous lancez un processus dans le shell (par exemple, npm start), vous pouvez également fournir plus de variables d’environnement uniquement pour ce processus en assignant les variables comme ceci : FOO=BAR npm start
Pour plus de commodité, vous pouvez configurer votre shell pour définir certaines variables d’environnement à son démarrage, afin que tout processus démarré depuis ce shell hérite de ces variables d’environnement. Si vous utilisez le shell bash, les commandes du fichier .bash_profile dans votre répertoire personnel sont exécutées au démarrage du shell. Si vous utilisez zsh, qui est le shell par défaut dans macOS, le fichier .zshenv serait utilisé à la place pour configurer les variables d’environnement.
Dans l’exemple de fichier ci-dessous, nous exportons les variables d’environnement qui configurent la clé API Push d’AppSignal et le niveau de journalisation, afin que lorsqu’un nouveau shell est démarré, les bonnes variables d’environnement soient accessibles à votre application, lui permettant de communiquer avec AppSignal.
Les options de configuration définies via les variables d’environnement s’appliquent à tous les environnements d’application, cependant certaines options de configuration sont spécifiques au langage. Par exemple, l’option de configuration instrument_sequel n’existe que dans l’intégration Ruby, car Sequel est un gem Ruby, et donc définir la variable d’environnement APPSIGNAL_INSTRUMENT_SEQUEL n’a aucun effet pour les autres intégrations.
~/.profileou~/.bash_profile— Paramètres spécifiques à l’utilisateur. Utilisez cet emplacement pour configurer les variables d’environnement par utilisateur./etc/profile— Paramètres à l’échelle du système. Si plusieurs utilisateurs ou applications utilisent la même machine hôte, n’utilisez pas cet emplacement.
Lors de l’utilisation de la configuration basée sur les variables d’environnement
système, veillez à utiliser la valeur « System environment key » du tableau
des options de configuration comme clé de configuration. Cette clé est
toujours en snake case capitalisé*, comme ceci :
Fait amusant : ceci est également connu sous le nom de SCREAMING_SNAKE_CASE 🐍
EXAMPLE_OF_A_CONFIG_KEYFait amusant : ceci est également connu sous le nom de SCREAMING_SNAKE_CASE 🐍