Utilize a API métrica para enviar métrica personalizada para a plataforma New Relic. Este documento inclui um início rápido para enviar sua primeira métrica personalizada, além de informações detalhadas sobre como formatar e enviar seus dados de métrica.
Início rápido: Enviar dados métricos
Reportamos os tipos de métricas count
, gauge
e summary
. Para mais informações sobre métrica consulte nossa documentação.
Os dados métricos são enviados à New Relic por meio de uma solicitação HTTP POST. Cada solicitação é composta por um ou mais pontos de dados métricos, que consistem em um nome métrico, um timestamp e um valor.
Siga este exemplo para enviar seus primeiros pontos de dados métricos para o New Relic:
Obtenha o da conta para a qual você deseja relatar dados.
Insira a chave de licença no JSON a seguir e envie o JSON para nosso endpoint.
Atualize o
timestamp
com um carimbo de epoch timestamp válido. Este exemplo cria um único ponto de dados de métrica para uma métrica denominadamemory.heap
, mas você pode criar atributos ou pontos de dados adicionais especificando tipos de métrica ou adicionando blocoscommon
opcionais.bash$curl -vvv -k -H "Content-Type: application/json" \>-H "Api-Key: NEW_RELIC_LICENSE_KEY" \>-X POST https://metric-api.newrelic.com/metric/v1 \>--data '[{$"metrics":[{$"name":"memory.heap",$"type":"gauge",$"value":2.3,$"timestamp":CURRENT_TIME,$"attributes":{"host.name":"dev.server.com"}$}]$}]'
A métrica deverá estar disponível no New Relic em alguns segundos. Você pode consultar os dados de qualquer interface NRQL usando esta consulta:
FROM Metric SELECT max(memory.heap) TIMESERIES
Para saber mais sobre onde os dados aparecem, consulte Encontrar dados da API métrica.
URL endpoint
Use um HTTP POST ao enviar dados de métrica para os endpoints de métrica da API:
https://metric-api.newrelic.com/metric/v1
Dica
Se a sua organização alojar dados no centro de dados da UE, certifique-se de que está a utilizar o ponto final da região da UE. Para esta API, o endpoint da UE é:
https://metric-api.eu.newrelic.com/metric/v1
Cabeçalhos de solicitação HTTP
Inclua os seguintes cabeçalhos de solicitação HTTP na solicitação POST. Você pode enviar alguns parâmetros como parâmetro de consulta em vez de cabeçalhos de solicitação.
Cabeçalho | Enviar como parâmetro de consulta? | Detalhes |
---|---|---|
| Não | Required. Deve ser |
| Não | Required (usually set automatically by the HTTP client). O comprimento do corpo da solicitação em octetos (bytes de 8 bits), a menos que seja enviado com codificação em partes. Esse cabeçalho geralmente é definido por padrão pelo cliente HTTP subjacente que envia os dados e, na maioria dos casos, não deve exigir nenhum esforço adicional por parte do usuário final. |
| Sim | Required. Um para a conta para a qual você deseja relatar dados. Se for fornecido como cabeçalho e parâmetro de consulta, os valores deverão corresponder. |
| Não | Required if GZIP. O valor deve ser |
| Não | Optional - Reserved for future use. O valor deve ser um |
Corpo da solicitação HTTP
O corpo da solicitação HTTP POST deve estar no formato JSON. A seguir descrevemos os requisitos e recomendações para a carga JSON.
A carga deve ser codificada como UTF-8.
Estrutura
A carga JSON usa esta estrutura:
- A carga JSON é uma matriz de mapas.
- Cada mapa deve conter uma chave
metrics
cujo valor é uma matriz contendo um ou mais pontos de dados métricos. - Um ponto de dados métrico é identificado por
name
,value
etimestamp
junto com um conjunto opcional de atributo.
Pares de valores principais obrigatórios
Cada mapa de pontos de dados métricos na matriz metrics
usa a seguinte estrutura de valor principal:
Chave | Descrição |
---|---|
corda | Required. O nome da métrica. O valor deve ter menos de 255 caracteres. |
número ou mapa | Required. O valor varia dependendo do tipo de métrica. Para |
longo | Required. A hora de início da métrica no horário Unix. O padrão usa o fuso horário UTC. Este campo também oferece suporte a segundos, microssegundos e nanossegundos. No entanto, os dados serão convertidos em milissegundos para armazenamento e consulta. As métricas reportadas com timestamp hora anterior a 48 horas ou mais recente que 24 horas a partir do momento em que foram reportadas são descartadas. |
positivo longo | Required for |
| Recomendado. Este deve ser um dos tipos de métrica suportados. Se você não especificar um tipo, o padrão será |
strings, números JSON ou booleanos | Recomendado. Um mapa de pares de valores principais associados a esta métrica específica. Os valores podem ser strings, números JSON ou booleanos. As chaves diferenciam maiúsculas de minúsculas e devem ter menos de 255 caracteres. |
Compartilhe atributo entre métricas com common
Se quiser incluir um conjunto de atributos em múltiplas métricas (e não adicionar o mesmo atributo para cada métrica), você pode usar o bloco common
. Este é um mapa opcional que especifica informações que se aplicam a todos os pontos de dados métricos associados. Os valores na seção comum serão substituídos se a mesma chave existir em um ponto de dados métricos.
O bloco pode incluir:
Atributo | Descrição |
---|---|
longo | A hora de início da métrica no horário Unix. O padrão é a hora atual no fuso horário UTC. Este campo também oferece suporte a segundos, microssegundos e nanossegundos. Porém, os dados serão convertidos em milissegundos para armazenamento e consulta posterior. |
positivo longo | Required for |
strings, números JSON ou booleanos | Um mapa de pares de valores principais associados a esta métrica específica. Os valores podem ser strings, números JSON ou booleanos. |
Validação de resposta e códigos de status
A API métrica retorna um código de resposta 202
para solicitações bem-sucedidas. Quando seus dados são aceitos, um código de resposta HTTP 202
é retornado com uma estrutura de resposta como esta:
HTTP/1.1 202 AcceptedContent-Type: application/json; charset=UTF-8Content-Length: 52Access-Control-Allow-Methods: GET, POST, PUT, HEAD, OPTIONSAccess-Control-Allow-Credentials: trueAccess-Control-Allow-Origin: *Connection: keep-alive
{"requestId":"f0e7bfff-001a-b000-0000-01682bcf4565"}
Dados ausentes com 202
Um código 202
indica que a API recebeu seus dados e que os dados passaram nas verificações básicas de validação. Normalmente, seus dados estarão disponíveis para consulta em alguns segundos. No entanto, o New Relic executa validação adicional de forma assíncrona após receber seus dados. Se você receber uma resposta 202
, mas não conseguir encontrar sua métrica, isso indica que a New Relic encontrou um erro durante esta validação assíncrona.
Você pode encontrar esses erros consultando o eventoNrIntegrationError
na conta associada à chave de API Insert que você usou. O requestId
de cada solicitação será marcado no evento NrIntegrationError
. Para obter mais informações, consulte Solucionar problemas de um evento NRIntegrationError
.
Códigos de status
A API métrica pode retornar os seguintes códigos de status HTTP:
Código de status | Definição |
---|---|
| Dados aceitos. |
| A estrutura da solicitação é inválida. |
| Falha de autenticação. |
| O caminho da solicitação está incorreto. |
| Usou um método de solicitação diferente de POST. |
| A solicitação demorou muito para chegar ao endpoint. |
| O cabeçalho |
| A carga útil era muito grande. carga deve ter menos de 1MB (10^6 bytes). |
| O URI da solicitação era muito longo. |
| O |
| A cota de taxa de solicitação foi excedida. |
| Os cabeçalhos da solicitação são muito longos. |
| Ocorreu um erro no servidor (tente novamente). |