• /
  • EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

Envíe sus datos de logging con nuestra API log

Si nuestras soluciones de reenvío de logs no satisfacen sus necesidades, puede utilizar nuestra API log para enviar datos log directamente a New Relic a través de un extremo HTTP.

Extremo HTTP

Utilice el extremo que corresponda a su cuenta New Relic:

Extremo de Estados Unidos (EE.UU.):

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

Extremo de la Unión Europea (UE):

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

Extremo FedRAMP:

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

Configuración HTTP

Para enviar datos log a su cuenta New Relic a través de la API log :

  1. Consigue tu .

  2. Revise los límites y caracteres restringidos para su carga útil JSON.

  3. Genere el mensaje JSON utilizando los encabezados y campos de cuerpo requeridos.

  4. Asegúrese de que su Api-Key o License-Key esté incluido en sus encabezados o parámetro de consulta. Consulte los ejemplos de log JSON.

  5. Envíe su mensaje JSON al extremo HTTP apropiado para su cuenta New Relic en una solicitud POST .

    • A NOSOTROS: https://log-api.newrelic.com/log/v1
    • UE: https://log-api.eu.newrelic.com/log/v1
    • FedRAMP: https://gov-log-api.newrelic.com/log/v1
  6. Genere algo de tráfico y espere unos minutos, luego verifique los datos de su cuenta .

Si no aparecen datos después de habilitar nuestras capacidades , siga nuestros procedimientos de resolución de problemas.

Encabezados HTTP

Al crear sus encabezados HTTP, utilice estas pautas:

Encabezamiento

Valores admitidos

Content-Type

Requerido

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

Se acepta el formato JSON comprimido con Gzip. Si envía JSON comprimido, incluya los encabezados Content-Type: application/json y Content-Encoding: gzip .

Autenticación

Su sirve para autenticar su solicitud en la API log y determina la cuenta de New Relic donde se escribirán los mensajes de log enviados. Debe pasarse como un encabezado HTTP o un parámetro de cadena de consulta.

Opción 1: autenticar mediante el encabezado HTTP

Pase su clave de licencia agregando un encabezado HTTP personalizado como se describe a continuación:

Encabezamiento

Valores admitidos

Api-Key

Una New Relic . También puede enviar esto a través del parámetro de consulta.

Opción 2: autenticar mediante el parámetro de cadena de consulta (autenticación sin encabezado)

La clave de licencia también se puede pasar como parámetro de cadena de consulta en la URL. Esto resulta útil al enviar logs desde fuentes basadas en la nube que no permiten encabezados de solicitud HTTP personalizados.

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

Parámetro de consulta

Valor

Api-Key

Tu . También puedes enviar esto a través del encabezado HTTP.

Cuerpo JSON

Puedes enviar tu mensaje JSON utilizando un conjunto de atributos simplificado o detallado:

Tipos de atributos soportados

El atributo puede ser de cualquiera de los siguientes tipos:

Escriba la solicitud JSON

Tipo almacenado en la base de datos de New Relic

boolean

boolean

integer

integer

long

long

float

float

double

double

string

string (Tenga en cuenta que si un valor de cadena es JSON encadenado, se analizará y sus campos se extraerán como variables. Ver análisis de atributos de mensajes JSON)

Matriz

(sin soporte)

Límites y personajes restringidos

Advertencia

Evite llamar a nuestra API desde el código de una aplicación orientada al cliente. Esto puede causar problemas de rendimiento o bloquear su aplicación si el tiempo de respuesta es lento. Si necesita hacerlo de esta manera, llame a nuestra API de forma asincrónica para evitar estos problemas de rendimiento.

Restricciones sobre el log enviado a la API log :

  • Tamaño total de la carga útil:

    1MB(10^6 bytes) maximum per POST

    . Recomendamos encarecidamente utilizar compresión.

  • La carga útil debe estar codificada como

    UTF-8

    .

  • Número de atributos por evento: 255 máximo.

  • Longitud del nombre del atributo: 255 caracteres.

  • Longitud del valor del atributo: los primeros 4094 caracteres se almacenan en NRDB como un campo de evento Log con el mismo nombre, como message. Si el valor de la cadena supera los 4094 caracteres, almacenamos la cadena larga como un blob.

Algunos atributos específicos tienen restricciones adicionales:

  • accountId: Este es un nombre de atributo reservado. Si está incluido, se eliminará durante la ingesta.
  • appId: Debe ser un entero. Cuando se utiliza un tipo de datos no entero, los datos se ingerirán pero no se podrán consultar.
  • entity.guid, entity.name y entity.type: estos atributos se utilizan internamente para identificar la entidad. Cualquier valor enviado con estas claves en la sección de atributos de un punto de datos métrico puede causar un comportamiento indefinido, como la falta de entidad en la UI o la telemetría que no se asocia con la entidad esperada. Para obtener más información, consulte síntesis de entidad.
  • eventType: Este es un nombre de atributo reservado. Si está incluido, se eliminará durante la ingesta.
  • timestamp: Debe ser una timestamp de época Unix (ya sea en segundos o en milisegundos) o una timestamp con formato ISO8601.

Importante

La carga con marca de tiempo anterior a 48 horas puede eliminarse.

Límites de velocidad en el log enviado a la API log :

  • Tasa máxima de solicitudes HTTP enviadas a la API log : 300.000 solicitudes por minuto
  • Tasa máxima de bytes JSON log sin comprimir enviados a la API log : 10 GB por minuto

Compromiso de límite de tarifa

Exceder los límites de velocidad afecta el comportamiento de la API log . Siga estas instrucciones si esto sucede.

Formato de carga útil log

Aceptamos cualquier carga útil JSON válida. La carga útil debe codificarse como UTF-8.

Atributo de mensaje JSON

Análisis de atributos de mensajes JSON

Nuestras capacidades de administración de logs analizarán cualquier atributo message como JSON. El atributo JSON resultante en el mensaje analizado se agregará al evento. Si el atributo message no es JSON, se deja como está.

A continuación se muestra un atributo message de ejemplo:

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

Esto será tratado como:

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

Log ejemplos JSON

El atributo puede ser tipos JSON escalares como cadena y número. También pueden ser objetos compuestos (o anidados). El atributo compuesto tendrá su atributo asociado almacenado con nombres aplanados.

Por ejemplo, aquí hay un atributo user compuesto en los atributos de una entrada de log :

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

Esto dará como resultado que el siguiente atributo se almacene con el log de evento:

Atributo

Valor

"action"

"login"

"user.id"

123

"user.name"

"alice"

Ejemplo de mensaje POST log

Ejemplo de mensaje 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
$
}
$
}]
$
}]

Este mensaje POST daría como resultado que el siguiente mensaje de log se almacene en New Relic:

Atributo

Valor

"logtype"

"accesslogs"

"service"

"login-service"

"hostname"

"login.example.com"

A continuación se muestra un ejemplo de atributo de bloque de log almacenado:

Atributo

Valor

"timestamp"

1550086450124

"message"

"User 'xyz' logged out"

"auditId"

123

Ejemplo de solicitud JSON POST

A continuación se muestra un ejemplo de una solicitud 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"
$
}

¿Que sigue?

Explore los datos de logging en su plataforma.

Copyright © 2024 New Relic Inc.

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