> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AppSignal voor Elixir: Diagnosetool

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](/appsignal/how-appsignal-operates#extension) en [agent](/appsignal/how-appsignal-operates#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][debugging].

## 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](mailto:support@appsignal.com), 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:

<CodeGroup>
  ```bash Bash theme={null}
  mix appsignal.diagnose
  ```
</CodeGroup>

### 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:

<CodeGroup>
  ```bash Bash theme={null}
  bin/your_app eval ":appsignal_tasks.diagnose()"
  ```
</CodeGroup>

### Met een release binary

Als uw Elixir-app is verpakt in een release binary met een tool zoals [distillery](https://github.com/bitwalker/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:

<CodeGroup>
  ```bash Bash theme={null}
  bin/your_app command appsignal_tasks diagnose
  ```
</CodeGroup>

## Opties

| Optie                                             | Beschrijving                                                            |
| ------------------------------------------------- | ----------------------------------------------------------------------- |
| [Omgevingsoptie](#environment-option)             | Stel de omgeving in voor het commando, bijv. `production` of `staging`. |
| [`--[no-]send-report`](#report-submission-option) | Verzend het rapport automatisch wel of niet.                            |

### Omgevingsoptie

Selecteer een specifieke omgeving met de CLI.

<CodeGroup>
  ```bash Bash theme={null}
  MIX_ENV=prod mix appsignal.diagnose
  ```
</CodeGroup>

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](#submitting-the-report) 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:

<CodeGroup>
  ```bash Bash theme={null}
  mix appsignal.diagnose --send-report
  ```
</CodeGroup>

Verzend het rapport niet naar AppSignal:

<CodeGroup>
  ```bash Bash theme={null}
  mix appsignal.diagnose --no-send-report
  ```
</CodeGroup>

## 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](/elixir/configuration/load-order).

De configuratieopties worden hieronder afgebeeld, afhankelijk van waar de waarde van de configuratieoptie vandaan komt en hoeveel bronnen deze optie instellen.

```text Shell theme={null}
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.

[debugging]: /support/debugging.html
