Passer au contenu principal
🔐 N’envoyez pas d’informations personnelles identifiables (PII) à AppSignal. Filtrez les PII (par exemple, noms, e-mails) des journaux et utilisez un identifiant, un hash ou un identifiant pseudonymisé à la place.

Pour les entités couvertes par la HIPAA, plus d’informations sur la signature d’un Business Associate Agreement (BAA) sont disponibles dans notre documentation Business Add-Ons.

Point de terminaison

Vous pouvez POST des journaux à AppSignal. Vos journaux doivent être formatés en NDJSON et envoyés au point de terminaison suivant :
https://appsignal-endpoint.net/logs/json?api_key=YOUR_LOG_SOURCE_API_KEY

NDJSON

Notre point de terminaison HTTP-JSON attend que les journaux soient envoyés au format NDJSON à notre point de terminaison. NDJSON signifie Newline Delimited JSON, ce qui signifie que chaque ligne de journal est son propre objet JSON, par exemple :
{"timestamp": "2022-06-02T04:17:25.783Z", "message": "foo", [...]}
{"timestamp": "2022-06-02T04:17:26.000Z", "message": "bar", [...]}

Données requises

Voici un exemple d’un message NDJSON (mis en forme). Vous pouvez en savoir plus sur les données dont AppSignal a besoin dans la section Champs requis.

Exemple de message

Attention : Ceci est formaté avec des sauts de ligne pour la lisibilité. Votre client doit envoyer la ligne de journal sur une seule ligne, sans saut de ligne.
{
  "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
  }
}

Champs requis

AppSignal supprimera silencieusement tout message qui ne contient pas les champs requis ci-dessous ou toute valeur incorrecte.
La charge utile NDJSON que vous envoyez à AppSignal doit contenir les champs suivants :

timestamp

Un horodatage formaté en RFC 3339 avec une précision en nanosecondes à 3 chiffres.
YAML
YYYY-MM-DDThh:mm:ss.sss
2022-01-12T07:20:50.520Z

group

Chaîne d’un mot qui permet à l’utilisateur de séparer les lignes de journal selon un certain contexte (par exemple, les journaux d’une partie spécifique de votre application, le groupe pourrait être “admin”, “payments”, “database” ou “background”).

severity

Le champ severity accepte les valeurs suivantes : unknown, trace, debug, info, notice, warn, error, critical, alert et fatal.

message

Message Plaintext.

hostname

Nom d’hôte du serveur qui envoie le message.

Champs optionnels

Les champs suivants sont optionnels mais recommandés pour des données de journal plus riches :

attributes

Attributs pouvant être utilisés pour filtrer ou rechercher le message, avec les règles suivantes :
  • Les attributs ne peuvent pas être imbriqués ni contenir de tableaux
  • La taille maximale d’une clé est de 50 caractères
  • Le nombre maximum d’attributs est de 100
  • Les primitives suivantes sont acceptées comme valeurs :
    • String : idéalement utilisé comme “tags”, par exemple des valeurs d’un mot, avec un maximum de 100 caractères
    • Integer : 10
    • Double : 0.01
    • Boolean : true/false

format

Remplace le format configuré de la source de journaux lors de l’analyse du message. Accepte plaintext, logfmt, json ou autodetect ; les valeurs inconnues sont ignorées.