> ## 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 für Python: 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 Python", version: "0.2.0" }
]}
/>

Das AppSignal-Paket für Python enthält ein Selbstdiagnose-Tool, mit dem sich die Installation und Konfiguration Ihrer AppSignal-Integration debuggen lässt. Es gehört zu den ersten Tools, deren Ausführung unser Support-Team bei der Fehlersuche anfordert.

## Der Diagnosebericht

Sie können dieses Diagnose-Tool verwenden, um Ihre AppSignal-Installation zu testen und zu validieren. Es gibt nützliche Informationen zur Fehlersuche aus und prüft, ob der AppSignal-Agent auf der Architektur des Rechners ausgeführt werden kann und mit den AppSignal-Servern kommunizieren kann.

Dieses Diagnose-Tool erfasst und gibt Folgendes aus:

* Informationen über das AppSignal-Paket.
* Informationen über das Host-System und Python.
* Ob der AppSignal-[Agent](/appsignal/how-appsignal-operates#agent) auf dem Host-System laufen kann.
* Alle konfigurierten Konfigurationsoptionen (einschließlich Standardwerte).
* Ob die Konfiguration gültig und aktiv ist.
* Ob der Push-API-Schlüssel vorhanden und gültig ist (Internetverbindung erforderlich).
* Woher die Werte der Konfigurationsoptionen stammen.
* Ob die erforderlichen Systempfade existieren, beschreibbar sind und welcher Benutzer und welche Gruppe Eigentümer sind.
* Kleine Teile vom Ende der verfügbaren Logdateien.

Weitere Informationen zur Verwendung des Diagnose-Befehls finden Sie in unserer [Debugging](/support/debugging)-Dokumentation.

## Den Bericht einreichen

Nachdem der Bericht erstellt wurde, werden Sie aufgefordert, ihn an unsere Server zu senden. Wenn Sie diese Aufforderung bestätigen, wird der Bericht an unsere Server gesendet und Sie erhalten einen Support-Token.

Wenn Sie [uns diesen Support-Token zusenden](mailto:support@appsignal.com), prüfen wir den Bericht und helfen Ihnen, das Problem zu debuggen. Da das Kopieren und Einfügen der Berichtsausgabe in der Regel die Formatierung zerstört und das Lesen erschwert, wird der Bericht im JSON-Format an unsere Server gesendet.

Nach dem Senden des Berichts an unsere Server wird in der Diagnose-Ausgabe ein Link zur Webansicht des Berichts ausgegeben. Diese Webansicht zeigt auch alle Validierungsprobleme und Warnungen an, die unser System erkannt hat.

## Verwendung

Führen Sie in der Befehlszeile in Ihrem Projekt aus:

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

Wenn Sie ein Problem in der Produktion haben und den Bericht an AppSignal-Support senden müssen, können Sie den folgenden Befehl ausführen, um den Bericht zu erstellen und an unsere Server zu senden:

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

## Optionen

| Option             | Verwendung                                      | Beschreibung                                  |
| ------------------ | ----------------------------------------------- | --------------------------------------------- |
| `[no]-send-report` | [`--[no-]send-report`](#report-submission-flag) | Bericht automatisch senden oder nicht senden. |

### Flag zum Einreichen des Berichts

Mit dem Flag `--send-report` lässt sich der Bericht automatisch senden, ohne dass eine Bestätigung erforderlich ist. Das erleichtert die Nutzung in nicht-interaktiven Umgebungen.

Um die Diagnose auszuführen und die Berichtsdaten an AppSignal zu senden, führen Sie den folgenden Befehl aus:

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

Um die Diagnose auszuführen, ohne die Berichtsdaten an AppSignal zu senden, führen Sie den folgenden Befehl aus:

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

## Format der Konfigurationsausgabe

### Format der Konfigurationsoptionswerte

Die Konfigurationsoptionen werden in der CLI als deren inspizierte Werte ausgegeben. Das bedeutet, dass wir sie so ausgeben, wie Python sie in einer Konsole ausgeben würde.

* Zeichenkettenwerte werden mit doppelten Anführungszeichen ausgegeben, z. B. `"My app name"`.
* Boolesche Werte werden als Rohwerte ausgegeben: `True` und `False`.
* Array-Werte werden als Sammlung von Werten in eckigen Klammern ausgegeben, z. B. `["accept", "accept-charset"]`.
  * Leere Arrays werden als zwei eckige Klammern ausgegeben: `[]`.

### Konfigurationsquellen

Der Konfigurationsabschnitt zeigt auch die Herkunft der Werte der Konfigurationsoptionen an, was dabei hilft, Quellen zu identifizieren, die in anderen Konfigurationsquellen definierte Werte überschreiben.

Weitere Informationen zu Konfigurationsquellen, deren Ladereihenfolge und Priorität finden Sie in der Dokumentation zur [Konfigurations-Ladereihenfolge](/python/configuration/load-order).

Die Konfigurationsoptionen werden basierend auf der Quelle ihrer Werte und der Anzahl der Quellen, die sie setzen, angezeigt, wie im folgenden Beispiel:

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