Este documento descreve os requisitos de dados para a API métrica, incluindo:
Limites máximos
Atributo restrito
Valores métricos restritos
Limites máximos
Os seguintes limites padrão se aplicam a todos os dados métricos:
Doença
Limite
Faixa etária para valores timestamp
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.
Valores longos numéricos que estão fora dos valores longos Java mínimos ou máximos
Valores longos numéricos que estiverem fora do valor longo mínimo ou máximo do Java serão rejeitados.
Se o número estiver no bloco comum, todo o bloco será descartado.
Se o número estiver em um ponto de dados métricos, o ponto de dados métricos em que ele reside será eliminado.
Valores duplos numéricos fora dos valores duplos Java mínimos ou máximos
Os valores duplos numéricos que estiverem fora do valor duplo Java mínimo ou máximo serão rejeitados.
Se o número estiver no bloco comum, todo o bloco será descartado.
Se o número estiver em um ponto de dados métricos, o ponto de dados métricos em que ele reside será eliminado.
Valores numéricos duplos que requerem arredondamento para serem convertidos em um número de ponto flutuante de precisão dupla.
Valores numéricos duplos que exigem arredondamento para serem convertidos em um número de ponto flutuante de precisão dupla serão rejeitados.
Um exemplo disso é 1.12345678901234567E18. Um double pode conter um valor tão grande, mas não tem precisão suficiente para representá-lo com precisão (teria que ser arredondado para 1.12345678901234573E18).
Se o número estiver no bloco comum, todo o bloco será descartado.
Se o número estiver em um ponto de dados métricos, o ponto de dados métricos em que ele reside será eliminado.
Tamanho da carga útil
Tamanho ou comprimento máximo total: 1MB (10^6 bytes) maximum per POST. É altamente recomendável usar compactação.
Formato de carga útil
A carga deve ser codificada como UTF-8.
Sintaxe de nomenclatura de atributo
Nomes de atributos podem ser uma combinação de caracteres alfanuméricos, dois pontos (:), pontos (.) e sublinhados (_).
Os limites padrão a seguir se aplicam somente aos dados coletados por meio da integração do Prometheus Remote Write:
Doença
Limite
Máximo de série temporal exclusiva de contagem e resumo (cardinalidade) por conta em intervalo de 5 minutos
Uma série temporal é uma combinação única de um nome métrico e qualquer atributo. As séries temporais recebidas acima deste limite são descartadas. Este limite é aplicado antes e além dos limites métricos padrão.
Condições adicionais da conta
Os limites da API métrica se aplicam no nível da conta individual. Os limites padrão para DPM e cardinalidade variam de 3M para organização em nossa edição gratuita, até 10,2M para algumas organizações pagantes. Para entender os limites da sua organização, consulte a interface Limites. O DPM e a cardinalidade podem ser aumentados para 15M mediante solicitação da organização pagadora. A carga máxima por minuto pode ser ajustada acima de 100k caso a caso. Para solicitar alterações em seus limites de taxas métricas, entre em contato com seu representante de conta New Relic ou visite nosso portal de suporte.
Incidente de limite de taxa
Esta seção descreve como a API métrica se comporta quando você excede os limites de taxa e como responder se os limites forem excedidos.
Os pontos de dados por minuto referem-se à taxa por minuto na qual os valores métricos individuais são enviados para a API métrica.
Quando o limite máximo de DPM é excedido para uma conta, a API métrica da New Relic retorna uma resposta 429 para o restante do minuto. A resposta incluirá um cabeçalho Retry-After indicando quanto tempo esperar, em segundos, antes de reenviar ou enviar novos dados.
Para resolver esse problema, reduza o número de pontos de dados que você está enviando ou solicite uma alteração no limite de taxa. As alterações subsequentes na assinatura não afetam os limites de taxas modificados. Se uma alteração na conta afetar seu limite de tarifa, você deverá nos notificar para ajustar seu limite de tarifa.
Para solicitar alterações no limite de taxa, entre em contato com seu representante de conta da New Relic ou visite nosso portal de suporte.
Uma série temporal é uma combinação única de um nome de métrica e qualquer atributo atribuído a essa métrica. Por exemplo, se uma métrica CPU utilization com um único atributo hostname for enviada de dez hosts diferentes, isso equivale a dez valores distintos para o atributo hostname e dez séries temporais de métricas únicas.
Se o limite de série temporal métrica exclusiva por conta e por dia (cardinalidade) for excedido durante um período de 24 horas, o endpoint continuará a receber e armazenar dados métricos brutos. No entanto, a New Relic deixará de criar rollups agregados adicionais (1 minuto, 5 minutos, etc.) durante o restante do período de 24 horas. (Esses rollups são usados por padrão para consultar janelas de tempo superiores a 60 minutos.)
Você pode continuar a consultar seus dados quando tal incidente ocorrer, especificando uma janela de tempo de 60 minutos ou menos ou especificando a palavra-chave RAW (para mais informações, consulte cardinalidade alta métrica). Isso pode ser útil na identificação de possíveis causas do incidente.
Uma série temporal é uma combinação única de um nome de métrica e qualquer atributo atribuído a essa métrica. Por exemplo, se uma métrica CPU utilization com um único atributo hostname for enviada de dez hosts diferentes, isso equivale a dez valores distintos para o atributo hostname e dez séries temporais de métricas únicas.
Se o limite de série temporal de métrica exclusiva por dia (cardinalidade) por nome por métrica for excedido durante um período de 24 horas, o endpoint continuará a receber e armazenar dados de métrica brutos. No entanto, a New Relic deixará de criar rollups agregados adicionais (1 minuto, 5 minutos, etc.) durante o restante do período de 24 horas. (Esses rollups são usados por padrão para consultar janelas de tempo superiores a 60 minutos.)
Você pode continuar a consultar seus dados quando tal incidente ocorrer, especificando uma janela de tempo de 60 minutos ou menos ou especificando a palavra-chave RAW (para mais informações, consulte cardinalidade alta métrica). Isso pode ser útil na identificação de possíveis causas do incidente.
Se você fizer mais de 100 mil solicitações POST para os endpoints métricos da API em um minuto, o endpoint retornará uma resposta 429 para o restante do minuto. A resposta incluirá um cabeçalho Retry-After indicando quanto tempo esperar, em segundos, antes de reenviar ou enviar novos dados.
Em geral, se você atingir esse limite, considere criar uma carga maior. Para fazer isso, combine mais pontos de dados em cada solicitação para reduzir o número de POSTs necessários.
Se esta não for uma opção, você pode solicitar um aumento do limite de taxa entrando em contato com seu representante de conta da New Relic ou visitando nosso portal de suporte.
Atributo restrito
Esses atributos são restritos pela plataforma New Relic. Quaisquer valores enviados com estas chaves na seção atributo de um ponto de dados métricos farão com que o ponto de dados seja eliminado ou o valor seja omitido ou substituído:
Atributo
Descrição
newrelic.source
Isso é redefinido para o valor metricAPI.
metricName
Isso redefine o valor name transmitido para cada ponto de dados. Isso permite que name seja uma chave de atributo.
endTimestamp
timestamp e interval.ms será convertido em endTimestamp para o ponto de dados.
Estes atributo são utilizados 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:
Atributo
Descrição
entity.guid
Identificador exclusivo atribuído a uma entidade pela New Relic.
entity.name
Nome legível de uma entidade, geralmente usado para identificar uma entidade na interface.
entity.type
Usado para diferenciar diferentes tipos de entidade, como hosts, aplicativo, etc.
Restrições adicionais incluem:
Restrição
Comentários
Nomes de métrica e atributo
Você não pode passar o mesmo valor para nome de métrica e nome de atributo.
No exemplo a seguir, a métrica é inválida porque a métrica se chama service.errors.all e existe um atributo service.errors.all.
Example: Metric value used as an attribute (invalid)
[
{
"metrics":[
{
"name":"service.errors.all",
"type":"count",
"value":15,
"timestamp":1531414060739,
"interval.ms":10000,
"attributes":{
"service.response.statuscode":"400",
"service.errors.all":"test",
"service.name":"foo"
}
}
]
}
]
Palavras reservadas
Evite usar palavras reservadas, como accountId, appId e eventType. Você também deve evitar o uso de termos de sintaxe NRQL, a menos que você os coloque com acento grave (``).
Chaves na métrica JSON
Todas as chaves usadas na métrica JSON não podem ser chaves de atributo. Isso inclui interval.ms, timestamp, value, common, min, max, count, sum e metrics.
Exception: Você pode usar name como chave de atributo.
Valores métricos restritos
Quaisquer dados de métrica enviados à API métrica com value igual a NaN (não um número), positive infinity ou negative infinity serão eliminados.