• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Criar um problema

Envie seus dados de registro com nossa API log

Se nossas soluções de encaminhamento de logs não atenderem às suas necessidades, você poderá usar nossa Log API para enviar dados log diretamente para o New Relic por meio de um endpoint HTTP.

Quer experimentar nossa API de log? Se ainda não o fez, crie sua conta New Relic gratuita abaixo para começar a monitorar seus dados hoje mesmo.

Endpoint HTTP

Use o endpoint aplicável à sua conta New Relic:

Endpoint dos Estados Unidos (EUA):

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

DaUnião Europeia (UE): endpoint

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

Endpoint FedRAMP:

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

Configuração HTTP

Para enviar dados log para sua conta New Relic por meio da API log :

  1. Obtenha seu .

  2. Revise os limites e caracteres restritos para sua carga JSON.

  3. Gere a mensagem JSON usando os cabeçalhos e campos de corpo necessários.

  4. Certifique-se de que Api-Key ou License-Key esteja incluído nos cabeçalhos ou no parâmetro de consulta. Consulte os exemplos de log JSON.

  5. Envie sua mensagem JSON para o endpoint HTTP apropriado para sua conta New Relic em uma solicitação POST .

    • NÓS: 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. Gere algum tráfego e aguarde alguns minutos e, em seguida, verifique os dados da sua conta .

Se nenhum dado aparecer após você ativar nossos recursos , siga nossos procedimentos de resolução de problemas.

Cabeçalhos HTTP

Ao criar seus cabeçalhos HTTP, use estas diretrizes:

Cabeçalho

Valores suportados

Content-Type

Obrigatório

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

A formatação JSON compactada com gzip é aceita. Se estiver enviando JSON compactado, inclua os cabeçalhos Content-Type: application/json e Content-Encoding: gzip .

Autenticação

Seu serve para autenticar sua solicitação na API log e determina a conta New Relic onde suas mensagens de log enviadas serão gravadas. Ele precisa ser passado como um cabeçalho HTTP ou um parâmetro de string de consulta.

Opção 1: autenticar usando cabeçalho HTTP

Passe sua chave de licença adicionando um cabeçalho HTTP personalizado conforme descrito abaixo:

Cabeçalho

Valores suportados

Api-Key

Uma New Relic . Você também pode enviar isso via parâmetro de consulta.

Opção 2: autenticar usando o parâmetro de string de consulta (autenticação sem cabeçalho)

A chave de licença também pode ser passada como um parâmetro de string de consulta na URL. Isto é útil ao enviar log de fontes baseadas em nuvem que não permitem cabeçalhos de solicitação HTTP personalizados.

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

Parâmetro de consulta

Valor

Api-Key

Seu . Você também pode enviar isso via cabeçalho HTTP.

Corpo JSON

Você pode enviar sua mensagem JSON usando um conjunto de atributos simplificado ou detalhado:

Tipos de atributos suportados

Atributo pode ser de qualquer um dos seguintes tipos:

Digite a solicitação JSON

Tipo armazenado no banco de dados New Relic

boolean

boolean

integer

integer

long

long

float

float

double

double

string

string (Observe que se um valor de string for JSON stringificado, ele será analisado e seus campos extraídos como variáveis. Veja análise de atributo de mensagem JSON)

Matriz

(sem suporte)

Limites e caracteres restritos

Cuidado

Evite chamar nossa API dentro do código de um aplicativo voltado para o cliente. Isso pode causar problemas de desempenho ou bloquear seu aplicativo se o tempo de resposta for lento. Se precisar fazer desta forma, chame nossa API de forma assíncrona para evitar esses problemas de desempenho.

Restrições no log enviado para a API log :

  • Tamanho total da carga útil:

    1MB(10^6 bytes) maximum per POST

    . É altamente recomendável usar compactação.

  • A carga deve ser codificada como

    UTF-8

    .

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

  • Comprimento do nome do atributo: 255 caracteres.

  • Comprimento do valor do atributo: os primeiros 4.094 caracteres são armazenados no NRDB como um campo de evento Log com o mesmo nome, como message. Se o valor da string exceder 4.094 caracteres, armazenamos a string longa como um blob.

Alguns atributos específicos possuem restrições adicionais:

  • accountId: este é um nome de atributo reservado. Se estiver incluído, será descartado durante a ingestão.
  • appId: Deve ser um número inteiro. Ao usar um tipo de dados não inteiro, os dados serão ingeridos, mas se tornarão inquestionáveis.
  • entity.guid, entity.name e entity.type: Esses atributo são usados internamente para identificar entidade. Quaisquer valores enviados com essas chaves na seção atributo de um ponto de dados métricos podem causar comportamento indefinido, como falta de entidade na UI ou telemetria não associada à entidade esperada. Para mais informações consulte a síntese da entidade.
  • eventType: este é um nome de atributo reservado. Se estiver incluído, será descartado durante a ingestão.
  • timestamp: deve ser um timestamp da época Unix (em segundos ou milissegundos) ou um timestamp formatado em ISO8601.

Importante

Carga com carimbo de data/hora superior a 48 horas poderá ser descartada.

Limites de taxa no log enviado para a API log :

  • Taxa máxima de solicitações HTTP enviadas à API log : 300.000 solicitações por minuto
  • Taxa máxima de bytes JSON de log descompactados enviados para a API de log: 10 GB por minuto

Violação do limite de taxa

Exceder os limites de taxa afeta o comportamento da API log . Siga estas instruções se isso acontecer.

Formato de carga log

Aceitamos qualquer carga JSON válida. A carga deve ser codificada como UTF-8.

Atributo da mensagem JSON

Análise de atributo de mensagem JSON

Nossos recursos de gerenciamento de logs analisarão qualquer atributo message como JSON. O atributo JSON resultante na mensagem analisada será adicionado ao evento. Se o atributo message não for JSON, ele será deixado como está.

Aqui está um exemplo de atributo message :

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

Isso será tratado como:

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

Log exemplos JSON

Atributo podem ser tipos JSON escalares como string e número. Eles também podem ser objetos compostos (ou aninhados). Atributo composto terá seu atributo associado armazenado com nomes achatados.

Por exemplo, aqui está um atributo user composto nos atributos de uma entrada de log :

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

Isso resultará no seguinte atributo sendo armazenado com o evento de log:

Atributo

Valor

"action"

"login"

"user.id"

123

"user.name"

"alice"

Exemplo de mensagem POST log

Exemplo de mensagem 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
$
}
$
}]
$
}]

Essa mensagem POST resultaria no armazenamento da seguinte mensagem do log no New Relic:

Atributo

Valor

"logtype"

"accesslogs"

"service"

"login-service"

"hostname"

"login.example.com"

Aqui está um exemplo de atributo de bloco de log armazenado:

Atributo

Valor

"timestamp"

1550086450124

"message"

"User 'xyz' logged out"

"auditId"

123

Exemplo de solicitação JSON POST

Aqui está um exemplo de solicitação 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"
$
}

Qual é o próximo?

Explore os dados de registro em sua plataforma.

Copyright © 2024 New Relic Inc.

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