Zum Hauptinhalt springen
🔐 Senden Sie keine personenbezogenen Daten (Personal Identifiable Information, PII) 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.

Für HIPAA-pflichtige Stellen finden Sie weitere Informationen zum Abschluss eines Business Associate Agreement (BAA) in unserer Business Add-Ons-Dokumentation.

Endpunkt

Sie können Logs per POST an AppSignal senden. Ihre Logs müssen im NDJSON-Format formatiert und an den folgenden Endpunkt gesendet werden:
https://appsignal-endpoint.net/logs/json?api_key=YOUR_LOG_SOURCE_API_KEY

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:
{"timestamp": "2022-06-02T04:17:25.783Z", "message": "foo", [...]}
{"timestamp": "2022-06-02T04:17:26.000Z", "message": "bar", [...]}

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.

Beispielnachricht

Warnung: Diese Darstellung verwendet zur besseren Lesbarkeit Zeilenumbrüche. Ihr Client muss die Log-Zeile als einzelne Zeile ohne Zeilenumbrüche senden.
{
  "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
  }
}

Erforderliche Felder

AppSignal verwirft stillschweigend jede Nachricht, die nicht die unten aufgeführten erforderlichen Felder oder falsche Werte enthält.
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
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.