Naar hoofdinhoud gaan
Het AppSignal voor Elixir-pakket wordt geleverd met een zelfdiagnosetool. Deze tool kan worden gebruikt om uw AppSignal-installatie te debuggen en is een van de eerste dingen die ons supportteam vraagt wanneer er een probleem is. Deze tool is beschikbaar sinds versie 0.12.0 van het AppSignal voor Elixir-pakket.

Het diagnoserapport

Deze commandoregeltool is handig bij het testen van AppSignal op een systeem en het valideren van de lokale configuratie. Het levert nuttige informatie op om problemen te debuggen en het controleert of de AppSignal-agent kan draaien op de architectuur van de machine en kan communiceren met de AppSignal-servers. Deze diagnosetool verzamelt en geeft het volgende weer:
  • informatie over het AppSignal-pakket.
  • informatie over het hostsysteem, Elixir en Erlang.
  • of de AppSignal extensie en agent kunnen draaien op het hostsysteem.
  • alle geconfigureerde configuratieopties (inclusief standaardwaarden).
  • of de configuratie geldig en actief is.
  • of de Push API-sleutel aanwezig en geldig is (internetverbinding vereist).
  • waar configuratieoptiewaarden vandaan komen.
  • of de vereiste systeempaden bestaan, beschrijfbaar zijn en welke gebruiker en groep eigenaar zijn.
  • kleine delen van het einde van de beschikbare logbestanden.
Lees meer over hoe u het diagnosecommando kunt gebruiken op de pagina Debuggen.

Het rapport indienen

Sinds pakketversie 1.3.0 wordt u gevraagd het rapport naar AppSignal te sturen. Als u akkoord gaat, wordt het rapport naar onze servers gestuurd en ontvangt u een supporttoken. Wanneer u deze supporttoken naar ons stuurt, beoordelen wij het rapport en helpen wij u het probleem te debuggen. We hebben gemerkt dat het kopiëren en plakken van de rapportuitvoer meestal opmaak verloren laat gaan en het lastiger leesbaar maakt; daarom wordt het in JSON-formaat naar onze servers gestuurd. In pakketversie 1.9.0 is de optie toegevoegd om het rapport zelf te bekijken op AppSignal.com. Een link naar het rapport wordt afgedrukt in de diagnose-uitvoer. Deze webweergave toont ook eventuele validatieproblemen en waarschuwingen die ons systeem heeft gedetecteerd.

Gebruik

Voer op de commandoregel in uw project uit:
mix appsignal.diagnose

Met een Elixir release binary

Als uw Elixir-app is verpakt in een Elixir release binary, gebouwd met mix release, kunt u de taak niet aanroepen met mix. Gebruik in plaats daarvan het eval-commando op uw release binary om de AppSignal-taak diagnose als volgt aan te roepen:
bin/your_app eval ":appsignal_tasks.diagnose()"

Met een release binary

Als uw Elixir-app is verpakt in een release binary met een tool zoals distillery, kunt u de taak niet aanroepen met mix. Gebruik in plaats daarvan het command-commando op uw release binary om de AppSignal-taak diagnose als volgt aan te roepen:
bin/your_app command appsignal_tasks diagnose

Opties

OptieBeschrijving
OmgevingsoptieStel de omgeving in voor het commando, bijv. production of staging.
--[no-]send-reportVerzend het rapport automatisch wel of niet.

Omgevingsoptie

Selecteer een specifieke omgeving met de CLI.
MIX_ENV=prod mix appsignal.diagnose
De omgevingsoptie is handig wanneer de standaardomgeving niet de omgeving is die u wilt diagnosticeren. De diagnosetool waarschuwt u wanneer er geen omgeving is geselecteerd.

Rapportverzendoptie

De opties om het rapport direct wel of niet in te dienen zijn toegevoegd in AppSignal-pakketversie 1.9.0. Door met deze opties te kiezen of het rapport wel of niet wordt verzonden, wordt deze vraag niet langer gesteld, wat het gebruik in niet-interactieve omgevingen vereenvoudigt. Verzend het rapport naar AppSignal:
mix appsignal.diagnose --send-report
Verzend het rapport niet naar AppSignal:
mix appsignal.diagnose --no-send-report

Uitvoerformaat van configuratie

Formaat van configuratieoptiewaarden

De configuratieopties worden naar de CLI afgedrukt als hun geïnspecteerde waarden. Dit betekent dat we ze afdrukken zoals Elixir dat in een console zou doen.
  • Stringwaarden worden afgedrukt met dubbele aanhalingstekens eromheen, bijv. "My app name".
  • Booleaanse waarden worden afgedrukt als hun ruwe waarden: true en false.
  • Lijstwaarden worden afgedrukt als een verzameling waarden omgeven door blokhaken, bijv. ["HTTP_ACCEPT", "HTTP_ACCEPT_CHARSET"].
    • Lege lijsten worden afgedrukt als twee blokhaken: [].
  • Nil-waarden worden afgedrukt als nil.

Configuratiebronnen

De configuratiesectie laat ook zien waar waarden voor configuratieopties vandaan komen. Dit kan helpen bij het identificeren van bronnen die waarden van andere configuratiebronnen overschrijven. Voor meer informatie over welke configuratiebronnen er beschikbaar zijn en in welke volgorde ze worden geladen (en dus hun prioriteit), zie de pagina configuratie-laadvolgorde. De configuratieopties worden hieronder afgebeeld, afhankelijk van waar de waarde van de configuratieoptie vandaan komt en hoeveel bronnen deze optie instellen.
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

Exitcodes

  • Sluit af met statuscode 0 als het commando succesvol is voltooid.
  • Sluit af met statuscode 1 als het commando is voltooid met een fout.