> ## 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 Ruby: Diagnose-tool

export const VersionRequirements = ({versions = []}) => {
  if (!Array.isArray(versions) || versions.length === 0) {
    return null;
  }
  const boundaries = {
    upper: " or lower",
    exact: "",
    lower: " or higher"
  };
  const containerStyle = {
    marginTop: "0.5rem",
    marginBottom: "1.5rem"
  };
  const lineStyle = {
    display: "block",
    margin: "0 0 0.35rem 0",
    fontSize: "0.875rem",
    lineHeight: "1.4"
  };
  const pillBaseStyle = {
    display: "inline-block",
    padding: "0.1em 0.4em",
    borderRadius: "0.25rem",
    border: "1px solid",
    fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
    fontSize: "0.85em",
    fontWeight: 500
  };
  const pillColors = {
    "AppSignal for Elixir": {
      background: "#f3e8ff",
      borderColor: "#e9d5ff",
      color: "#9333ea"
    },
    "AppSignal for Front-end": {
      background: "#fef9c3",
      borderColor: "#fde68a",
      color: "#ca8a04"
    },
    "AppSignal for Go": {
      background: "#ccfbf1",
      borderColor: "#99f6e4",
      color: "#0d9488"
    },
    "AppSignal for JavaScript": {
      background: "#fef9c3",
      borderColor: "#fde68a",
      color: "#ca8a04"
    },
    "AppSignal for Node.js": {
      background: "#dcfce7",
      borderColor: "#bbf7d0",
      color: "#16a34a"
    },
    "AppSignal for Python": {
      background: "#dbeafe",
      borderColor: "#bfdbfe",
      color: "#2563eb"
    },
    "AppSignal for Ruby": {
      background: "#fee2e2",
      borderColor: "#fecaca",
      color: "#dc2626"
    },
    "AppSignal for Rust": {
      background: "#ffedd5",
      borderColor: "#fed7aa",
      color: "#ea580c"
    }
  };
  const defaultPillColor = {
    background: "#f4f4f5",
    borderColor: "#e4e4e7",
    color: "#52525b"
  };
  const getPillStyle = name => ({
    ...pillBaseStyle,
    ...pillColors[name] || defaultPillColor
  });
  const getBoundText = bound => {
    return boundaries[bound] || boundaries.lower;
  };
  return <div style={containerStyle}>
      {versions.map((v, i) => <p key={`${v.name}-${v.version}-${v.bound || "lower"}-${i}`} style={lineStyle}>
          This feature requires{" "}
          <code style={getPillStyle(v.name)}>{v.name}</code> version {v.version}
          {getBoundText(v.bound)}.
        </p>)}
    </div>;
};

<VersionRequirements
  versions={[
{ name: "AppSignal for Ruby", version: "1.1.0" }
]}
/>

De AppSignal Ruby gem bevat een zelfdiagnostisch hulpmiddel waarmee u de installatie en configuratie van uw AppSignal-integratie kunt debuggen. Het is een van de eerste tools die ons supportteam u vraagt uit te voeren bij het oplossen van een probleem.

## Het diagnoserapport

U kunt deze diagnosetool gebruiken om uw AppSignal-installatie te testen en valideren. Het geeft nuttige informatie weer om problemen op te lossen en controleert of de AppSignal-agent op de architectuur van de machine kan draaien en met de AppSignal-servers kan communiceren.

Deze diagnosetool verzamelt en geeft het volgende weer:

* Informatie over de AppSignal gem.
* Informatie over het hostsysteem en Ruby.
* Of de AppSignal [extension](/appsignal/how-appsignal-operates#extension) en [agent](/appsignal/how-appsignal-operates#agent) op het hostsysteem kunnen draaien.
* Alle geconfigureerde configuratieopties (inclusief standaardwaarden).
* Of de configuratie geldig en actief is.
* Of de Push API key aanwezig en geldig is (internetverbinding vereist).
* Waar de waarden van configuratieopties vandaan komen.
* Of de vereiste systeempaden bestaan, schrijfbaar zijn en welke gebruiker en groep eigenaar zijn.
* Kleine delen van het einde van de beschikbare logbestanden.

U kunt meer lezen over het gebruik van het diagnose-commando in onze [Debugging](/support/debugging) documentatie.

## Het rapport indienen

In gem versie `2.2.0` en hoger wordt u gevraagd om het rapport naar AppSignal te sturen. Als u akkoord gaat, wordt het rapport naar onze servers verzonden en ontvangt u een support-token.

Wanneer u [dit support-token naar ons stuurt](mailto:support@appsignal.com) bekijken we het rapport en helpen we u het probleem te debuggen. We hebben gemerkt dat het kopiëren en plakken van de rapportuitvoer doorgaans opmaak verliest en het moeilijker leesbaar maakt, daarom wordt het in JSON-formaat naar onze servers verzonden.

In gem versie `2.8.0` is de optie toegevoegd om het rapport zelf op AppSignal.com te bekijken. 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 command-line in uw project het volgende uit:

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

Als u een probleem ondervindt in productie en het rapport voor support naar AppSignal moet sturen, kunt u het volgende commando uitvoeren om het rapport te genereren en naar onze servers te sturen:

<CodeGroup>
  ```bash Bash theme={null}
  bundle exec appsignal diagnose --environment=production --send-report
  ```
</CodeGroup>

## Opties

| Optie                                                | Beschrijving                                                                           |
| ---------------------------------------------------- | -------------------------------------------------------------------------------------- |
| [`--environment=<environment>`](#environment-option) | Stel de omgeving in die in het commando gebruikt wordt, bv. `production` of `staging`. |
| [`--[no-]send-report`](#report-submission-option)    | Stuur het rapport automatisch, of niet.                                                |
| `--[no-]color`                                       | Schakel de kleuring van de uitvoer in of uit.                                          |

### Environment-optie

Voer het onderstaande commando uit om een specifieke omgeving te selecteren met de CLI:

<CodeGroup>
  ```bash Bash theme={null}
  appsignal diagnose --environment=production
  ```
</CodeGroup>

De environment-optie is nuttig wanneer er geen standaardomgeving is (niet-Rails-apps en apps die geconfigureerd zijn met een [configuratiebestand](/ruby/configuration/load-order#file)) of wanneer de standaardomgeving niet de omgeving is die u wilt diagnosticeren. De diagnosetool waarschuwt u wanneer er geen omgeving is geselecteerd.

### Optie voor het indienen van het rapport

De opties om [het rapport](#submitting-the-report) direct in te dienen of niet, zijn toegevoegd in AppSignal gem versie `2.8.0`. Door deze opties te gebruiken om wel of niet het rapport te verzenden, wordt deze vraag niet meer gesteld, wat het gebruik in niet-interactieve omgevingen vergemakkelijkt.

Voer het onderstaande commando uit om diagnose uit te voeren en de rapportgegevens naar AppSignal te sturen:

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

Voer het onderstaande commando uit om diagnose uit te voeren zonder de rapportgegevens naar AppSignal te sturen:

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

## Formaat van configuratie-uitvoer

### Formaat van configuratieoptiewaarden

De configuratieopties worden afgedrukt naar de CLI als hun geïnspecteerde waarden. Dit betekent dat we ze afdrukken zoals Ruby dat in een console zou doen.

* Stringwaarden worden afgedrukt met dubbele aanhalingstekens, bv. `"My app name"`.
* Boolean-waarden worden afgedrukt als hun ruwe waarden: `true` en `false`.
* Array-waarden worden afgedrukt als een verzameling waarden omringd door vierkante haakjes, bv. `["HTTP_ACCEPT", "HTTP_ACCEPT_CHARSET"]`.
  * Lege arrays worden afgedrukt als twee vierkante haakjes: `[]`.
* Nil-waarden worden afgedrukt als `nil`.

### Configuratiebronnen

De configuratiesectie toont ook de herkomst van de waarden van configuratieopties, wat kan helpen om bronnen te identificeren die waarden uit andere configuratiebronnen overschrijven.

U kunt meer lezen over configuratiebronnen, hun laadvolgorde en prioriteit in de documentatie over [laadvolgorde van configuratie](/ruby/configuration/load-order).

De configuratieopties worden weergegeven op basis van de bron van hun waarden en het aantal bronnen die ze instellen, zoals in het onderstaande voorbeeld:

```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
```

[debugging]: /support/debugging.html
