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

# HTTP-JSON-Konfiguration

<Warning>
  🔐 Senden Sie keine <strong>personenbezogenen Daten (Personal Identifiable Information, PII)</strong> an AppSignal. Filtern Sie PII (z. B. Namen, E-Mail-Adressen) aus Logs und verwenden Sie stattdessen eine ID, einen Hash oder einen pseudonymisierten Bezeichner. <br /> <br /> Für **HIPAA-pflichtige Stellen** finden Sie weitere Informationen zum Abschluss eines Business Associate Agreement (BAA) in unserer [Business Add-Ons-Dokumentation](/support/business-add-ons).
</Warning>

## Endpunkt

Sie können Logs per `POST` an AppSignal senden. Ihre Logs müssen im [`NDJSON`](#ndjson)-Format formatiert und an den folgenden Endpunkt gesendet werden:

<CodeGroup>
  ```shell Shell theme={null}
  https://appsignal-endpoint.net/logs/json?api_key=YOUR_LOG_SOURCE_API_KEY
  ```
</CodeGroup>

## NDJSON

Unser HTTP-JSON-Endpunkt erwartet, dass die Logs im `NDJSON`-Format an unseren Endpunkt gesendet werden.
`NDJSON` steht für Newline Delimited JSON, was bedeutet, dass jede Log-Zeile ein eigenes JSON-Objekt ist, zum Beispiel:

<CodeGroup>
  ```shell Shell theme={null}
  {"timestamp": "2022-06-02T04:17:25.783Z", "message": "foo", [...]}
  {"timestamp": "2022-06-02T04:17:26.000Z", "message": "bar", [...]}
  ```
</CodeGroup>

### Erforderliche Daten

Unten sehen Sie ein Beispiel einer (formatierten) `NDJSON`-Nachricht. Mehr über die von AppSignal benötigten Daten erfahren Sie im Abschnitt [Erforderliche Felder](#required-fields).

#### Beispielnachricht

<Warning>
  **Warnung:** Diese Darstellung verwendet zur besseren Lesbarkeit
  Zeilenumbrüche. Ihr Client **muss** die Log-Zeile als einzelne Zeile ohne
  Zeilenumbrüche senden.
</Warning>

<CodeGroup>
  ```json JSON theme={null}
  {
    "timestamp": "2022-06-02T04:17:25.783Z",
    "group": "organisations",
    "severity": "warn",
    "message": "This is a test message",
    "hostname": "frontend1",
    "attributes": {
      "org": "appsignal",
      "step": 1,
      "seen_terms": true,
      "entries": 10.01
    }
  }
  ```
</CodeGroup>

#### Erforderliche Felder

<Warning>
  AppSignal verwirft stillschweigend jede Nachricht, die nicht die unten
  aufgeführten erforderlichen Felder oder falsche Werte enthält.
</Warning>

Die `NDJSON`-Payload, die Sie an AppSignal senden, muss die folgenden Felder enthalten:

#### timestamp

Ein nach `RFC 3339` formatierter Zeitstempel mit 3-stelliger Nanosekundengenauigkeit.

```yaml YAML theme={null}
YYYY-MM-DDThh:mm:ss.sss
2022-01-12T07:20:50.520Z
```

#### group

Eine einwortige Zeichenkette, mit der der Benutzer Log-Zeilen nach einem bestimmten Kontext trennen kann (z. B. Logs für einen bestimmten Teil Ihrer Anwendung; group könnte "admin", "payments", "database" oder "background" sein).

#### severity

Das Feld severity akzeptiert die folgenden Werte: `unknown`, `trace`, `debug`, `info`, `notice`, `warn`, `error`, `critical`, `alert` und `fatal`.

#### message

`Plaintext`-Nachricht.

#### hostname

Hostname des Servers, der die Nachricht sendet.

#### Optionale Felder

Die folgenden Felder sind optional, werden aber für umfangreichere Log-Daten empfohlen:

#### attributes

Attribute, die zum Filtern oder Suchen der Nachricht verwendet werden können, mit den folgenden Regeln:

* Attribute dürfen nicht verschachtelt sein oder Arrays enthalten
* Die maximale Schlüssellänge beträgt `50` Zeichen
* Die maximale Anzahl an Attributen beträgt `100`
* Die folgenden Primitive werden als Werte akzeptiert:
  * String: idealerweise als "Tags" verwendet, z. B. einwortige Werte, mit maximal `100` Zeichen
  * Integer: `10`
  * Double: `0.01`
  * Boolean: `true`/`false`

#### format

Überschreibt das konfigurierte Format der Log-Quelle beim Parsen der `message`. Akzeptiert `plaintext`, `logfmt`, `json` oder `autodetect`; unbekannte Werte werden ignoriert.
