Passer au contenu principal
Le paquet AppSignal pour Elixir est livré avec un outil d’auto-diagnostic. Cet outil peut être utilisé pour déboguer votre installation AppSignal et c’est l’une des premières choses que notre équipe de support demande lorsqu’il y a un problème. Cet outil est disponible depuis la version 0.12.0 du paquet AppSignal pour Elixir.

Le rapport de diagnostic

Cet outil en ligne de commande est utile pour tester AppSignal sur un système et valider la configuration locale. Il affiche des informations utiles pour déboguer les problèmes et vérifie que l’agent AppSignal peut fonctionner sur l’architecture de la machine et communiquer avec les serveurs AppSignal. Cet outil de diagnostic collecte et affiche les éléments suivants :
  • des informations sur le paquet AppSignal.
  • des informations sur le système hôte, Elixir et Erlang.
  • si l’extension et l’agent AppSignal peuvent fonctionner sur le système hôte.
  • toutes les options de configuration définies (y compris les valeurs par défaut).
  • si la configuration est valide et active.
  • si la Push API key est présente et valide (connexion Internet requise).
  • d’où proviennent les valeurs des options de configuration.
  • si les chemins système requis existent, sont accessibles en écriture, et quels utilisateur et groupe en sont propriétaires.
  • de petites portions de la fin des fichiers de logs disponibles.
En savoir plus sur l’utilisation de la commande diagnose sur la page Débogage.

Soumission du rapport

Depuis la version 1.3.0 du paquet, vous serez invité à envoyer le rapport à AppSignal. Si vous acceptez, le rapport sera envoyé à nos serveurs et vous recevrez un jeton de support. Lorsque vous nous envoyez ce jeton de support, nous examinerons le rapport et vous aiderons à déboguer le problème. Nous avons constaté que le copier-coller du rapport en sortie perd généralement le formatage et le rend plus difficile à lire, c’est pourquoi il est envoyé à nos serveurs au format JSON. Dans la version 1.9.0 du paquet, l’option a été ajoutée pour consulter vous-même le rapport sur AppSignal.com. Un lien vers le rapport est imprimé dans la sortie de diagnose. Cette vue web affichera également tout problème de validation et tout avertissement détecté par notre système.

Utilisation

Sur la ligne de commande dans votre projet :
mix appsignal.diagnose

Avec un binaire de release Elixir

Si votre application Elixir est empaquetée dans un binaire de release Elixir, construit avec mix release, vous ne pourrez pas appeler la tâche avec mix. Utilisez plutôt la commande eval sur votre binaire de release pour appeler la tâche AppSignal diagnose comme ceci :
bin/your_app eval ":appsignal_tasks.diagnose()"

Avec un binaire de release

Si votre application Elixir est empaquetée dans un binaire de release avec un outil tel que distillery, vous ne pourrez pas appeler la tâche avec mix. Utilisez plutôt la commande command sur votre binaire de release pour appeler la tâche AppSignal diagnose comme ceci :
bin/your_app command appsignal_tasks diagnose

Options

OptionDescription
Option d’environnementDéfinit l’environnement à utiliser dans la commande, par ex. production ou staging.
--[no-]send-reportEnvoie automatiquement le rapport, ou non.

Option d’environnement

Sélectionner un environnement spécifique avec la CLI.
MIX_ENV=prod mix appsignal.diagnose
L’option d’environnement est utile lorsque l’environnement par défaut n’est pas celui que vous souhaitez diagnostiquer. L’outil de diagnostic vous avertira si aucun environnement n’est sélectionné.

Option de soumission du rapport

Les options pour soumettre le rapport immédiatement, ou non, ont été ajoutées dans la version 1.9.0 du paquet AppSignal. Choisir d’envoyer ou non le rapport avec ces options évitera l’invite, ce qui facilite l’utilisation dans des environnements non interactifs. Soumettre le rapport à AppSignal :
mix appsignal.diagnose --send-report
Ne pas soumettre le rapport à AppSignal :
mix appsignal.diagnose --no-send-report

Format de sortie de la configuration

Format des valeurs des options de configuration

Les options de configuration sont affichées dans la CLI sous leur forme inspectée. Cela signifie que nous les affichons comme Elixir le ferait dans une console.
  • Les valeurs de type string sont affichées entre guillemets doubles, par exemple "My app name".
  • Les valeurs booléennes sont affichées telles quelles : true et false.
  • Les valeurs de type liste sont affichées comme une collection de valeurs entre crochets, par exemple ["HTTP_ACCEPT", "HTTP_ACCEPT_CHARSET"].
    • Les listes vides sont affichées par deux crochets : [].
  • Les valeurs Nil sont affichées comme nil.

Sources de la configuration

La section configuration affiche également d’où proviennent les valeurs des options. Cela peut aider à identifier les sources qui remplacent les valeurs d’autres sources de configuration. Pour plus d’informations sur les sources de configuration disponibles, leur ordre de chargement et donc leur priorité, consultez la page ordre de chargement de la configuration. Les options de configuration sont affichées comme illustré ci-dessous selon l’origine de la valeur et le nombre de sources qui définissent cette option.
Shell
Configuration
  # Option with a value loaded only from the default source
  send_params: true

  # Option with one source
  # A different source than the default source
  name: "My app name" (Loaded from file)

  # Option with multiple sources
  # Listed in order of priority (highest priority last)
  active: true
    Sources:
      default: false
      file:    false
      env:     true

Codes de sortie

  • Sort avec le code d’état 0 si la commande s’est terminée avec succès.
  • Sort avec le code d’état 1 si la commande s’est terminée avec une erreur.