• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Envoyez vos données de logging avec notre API de Log

Si nos solutions de transfert de log ne répondent pas à vos besoins, vous pouvez utiliser notre API de logs pour envoyer les données log directement à New Relic via un point de terminaison HTTP.

Point de terminaison HTTP

Utilisez le point de terminaison applicable à votre compte New Relic :

Point de terminaison des États-Unis :

https://log-api.newrelic.com/log/v1

Point de terminaison de l’Union européenne (UE) :

https://log-api.eu.newrelic.com/log/v1

Point de terminaison FedRAMP :

https://gov-log-api.newrelic.com/log/v1

Configuration HTTP

Pour envoyer des données log à votre compte New Relic via l'API de Log :

  1. Obtenez votre .

  2. Vérifiez les limites et les caractères restreints pour votre charge utile JSON.

  3. Générez le message JSON en utilisant les en-têtes et les champs de corps requis.

  4. Assurez-vous que votre Api-Key ou License-Key est inclus dans vos en-têtes ou paramètres de requête. Reportez-vous aux exemples de logs JSON.

  5. Envoyez votre message JSON au point de terminaison HTTP approprié pour votre compte New Relic dans une requête POST .

    • NOUS: https://log-api.newrelic.com/log/v1
    • UE: https://log-api.eu.newrelic.com/log/v1
    • Programme FedRAMP : https://gov-log-api.newrelic.com/log/v1
  6. Générez du trafic et attendez quelques minutes, puis vérifiez les données de votre compte .

Si aucune donnée n'apparaît après avoir activé nos fonctionnalités , suivez nos procédures de dépannage.

En-têtes HTTP

Lors de la création de vos en-têtes HTTP, utilisez ces directives :

En-tête

Valeurs prises en charge

Content-Type

Requis

  • application/json
  • json
  • application/gzip
  • gzip

Le formatage JSON gzippé est accepté. Si vous envoyez du JSON compressé, veuillez inclure les en-têtes Content-Type: application/json et Content-Encoding: gzip .

Authentification

Votre sert à authentifier votre demande auprès de l'API de Log et détermine le compte New Relic où vos messages de log soumis seront écrits. Il doit être transmis soit sous forme d'en-tête HTTP, soit sous forme de paramètre de chaîne de requête.

Option 1 : authentification à l'aide de l'en-tête HTTP

Transmettez votre clé de licence en ajoutant un en-tête HTTP personnalisé comme décrit ci-dessous :

En-tête

Valeurs prises en charge

Api-Key

New Relic . Vous pouvez également l'envoyer via le paramètre de requête.

Option 2 : authentification à l'aide d'un paramètre de chaîne de requête (authentification « sans en-tête »)

La clé de licence peut également être transmise en tant que paramètre de chaîne de requête dans l'URL. Cela est utile lors de l'envoi de logs à partir de sources basées sur le cloud qui n'autorisent pas les en-têtes de requête HTTP personnalisés.

Exemple: https://LOG_API_ENDPOINT/log/v1?Api-Key=YOUR_API_KEY_HERE

Paramètre de requête

Valeur

Api-Key

Votre . Vous pouvez également l'envoyer via l'en-tête HTTP.

Corps JSON

Vous pouvez envoyer votre message JSON en utilisant un ensemble d'attributs simplifié ou détaillé :

Types d'attributs pris en charge

L'attribut peut être de l'un des types suivants :

Tapez la requête JSON

Type stocké dans la base de données New Relic

boolean

boolean

integer

integer

long

long

float

float

double

double

string

string (Notez que si une valeur de chaîne est une chaîne JSON, elle sera analysée et ses champs extraits en tant que variables. Voir analyse des attributs de message JSON)

Array

Les éventails (arrays) sont convertis en chaînes puis stockés. Les logs OpenTelemetry prennent en charge les éventails homogènes. Pour plus d'informations, voir éventails dans OpenTelemetry.

Limites et caractères restreints

Prudence

Évitez d’appeler notre API à partir du code d’une application destinée aux clients. Cela peut entraîner des problèmes de performances ou bloquer votre application si le temps de réponse est lent. Si vous devez procéder de cette manière, appelez notre API de manière asynchrone pour éviter ces problèmes de performances.

Restrictions sur le log envoyé à l'API de Log :

  • Taille totale de la charge utile : 1MB(10^6 bytes) maximum per POST. Nous vous recommandons fortement d'utiliser la compression.
  • La charge utile doit être codée comme UTF-8.
  • Nombre d'attribut par événement : 255 maximum.
  • Longueur du nom de l'attribut : 255 caractères.
  • Longueur de la valeur de l'attribut : les 4 094 premiers caractères sont stockés dans NRDB sous la forme d'un champ d'événement Log portant le même nom, tel que message. Si la valeur de la chaîne dépasse 4 094 caractères, nous stockons la longue chaîne sous forme de blob.

Certains attributs spécifiques ont des restrictions supplémentaires :

  • accountId:Il s'agit d'un nom d'attribut réservé. S'il est inclus, il sera supprimé lors de l'ingestion.
  • appId: Doit être un entier. Lorsque vous utilisez un type de données non entier, les données seront ingérées mais ne pourront plus être interrogées.
  • entity.guid, entity.name et entity.type: Ces attributs sont utilisés en interne pour identifier l'entité. Toutes les valeurs soumises avec ces clés dans la section d'attribut d'un point de données métrique peuvent provoquer un comportement indéfini tel qu'une entité manquante dans l'UI ou une télémétrie ne s'associant pas à l'entité attendue. Pour plus d'informations, veuillez vous référer à la synthèse d'entité.
  • eventType:Il s'agit d'un nom d'attribut réservé. S'il est inclus, il sera supprimé lors de l'ingestion.
  • timestamp:Doit être un horodatage d'époque Unix (en secondes ou en millisecondes) ou un horodatage au format ISO8601.

Important

les frais dont l'horodatage est supérieur à 48 heures peuvent être abandonnés.

Limites de débit sur le log envoyé à l'API de Log :

  • Taux maximal de requests HTTP envoyées à l'API de Log : 300 000 requests par minute
  • Taux maximal d'octets de log JSON non compressés envoyés à l'API de Log : 10 Go par minute

Violation de la limite de débit

Le dépassement des limites de débit affecte le comportement de l'API de Log. Suivez ces instructions si cela se produit.

format de charge du log

Nous acceptons toute charge utile JSON valide. La charge utile doit être codée comme UTF-8.

Attribut de message JSON

Analyse des attributs des messages JSON

Nos capacités de gestion des loganalyseront tout attribut message en JSON. L'attribut JSON résultant dans le message analysé sera ajouté à l'événement. Si l'attribut message n'est pas JSON, il est laissé tel quel.

Voici un exemple d'attribut message :

{
"timestamp": 1562767499238,
"message": "{\"service-name\": \"login-service\", \"user\": {\"id\": 123, \"name\": \"alice\"}}"
}

Cela sera traité comme :

{
"timestamp": 1562767499238,
"service-name": "login-service",
"user": {
"id": 123,
"name": "alice"
}
}

Exemples de logs JSON

l'attribut peut être des types JSON scalaires comme une chaîne et un nombre. Ils peuvent également être des objets composés (ou imbriqués). L'attribut composé aura son attribut associé stocké avec des noms aplatis.

Par exemple, voici un attribut composé user dans l'attribut d'une entrée log :

"attributes": {
"action": "login",
"user": {
"id": 123,
"name": "alice"
}
}

Cela entraînera le stockage de l'attribut suivant avec l'événement de log:

Attribut

Valeur

"action"

"login"

"user.id"

123

"user.name"

"alice"

Exemple de message POST de log

Exemple de message de log POST :

bash
$
POST /log/v1 HTTP/1.1
$
Host: log-api.newrelic.com
$
Content-Type: application/json
$
Api-Key: <YOUR_LICENSE_KEY>
$
Accept: */*
$
Content-Length: 319
$
[{
$
"common": {
$
"attributes": {
$
"logtype": "accesslogs",
$
"service": "login-service",
$
"hostname": "login.example.com"
$
}
$
},
$
"logs": [{
$
"timestamp": <TIMESTAMP_IN_UNIX_EPOCH_OR_IS08601_FORMAT>,
$
"message": "User 'xyz' logged in"
$
},{
$
"timestamp": <TIMESTAMP_IN_UNIX_EPOCH_OR_IS08601_FORMAT>,
$
"message": "User 'xyz' logged out",
$
"attributes": {
$
"auditId": 123
$
}
$
}]
$
}]

Ce message POST entraînerait le stockage du message de log suivant dans New Relic :

Attribut

Valeur

"logtype"

"accesslogs"

"service"

"login-service"

"hostname"

"login.example.com"

Voici un exemple d'attribut de bloc de log stocké :

Attribut

Valeur

"timestamp"

1550086450124

"message"

"User 'xyz' logged out"

"auditId"

123

Exemple de requête JSON POST

Voici un exemple de requête JSON POST :

bash
$
POST /log/v1 HTTP/1.1
$
Host: log-api.newrelic.com
$
Content-Type: application/json
$
Api-Key: <YOUR_LICENSE_KEY>
$
Accept: */*
$
Content-Length: 133
$
{
$
"timestamp": <TIMESTAMP_IN_UNIX_EPOCH_OR_IS08601_FORMAT>,
$
"message": "User 'xyz' logged in",
$
"logtype": "accesslogs",
$
"service": "login-service",
$
"hostname": "login.example.com"
$
}

Quelle est la prochaine étape ?

Explorez les données de logging sur votre plateforme.

Droits d'auteur © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.