Este endpoint da API é fornecido para adicionar métricas adicionais ao AppSignal, onde uma integração existente não pode ser usada ou a linguagem usada ainda não é suportada.
Este endpoint é destinado a integrações que enviam métricas agregadas em um curto período; é preferível enviar uma requisição a cada 5 segundos com 100 métricas do que 100 requisições a cada 5 minutos com uma métrica cada.
Endpoint
Método da requisição: POST
| Endpoint | Descrição |
|---|
| https://appsignal-endpoint.net/metrics/json | Aceita dados formatados em JSON |
Parâmetros de URL
| Parâmetro | Tipo | Descrição |
|---|
| api_key | String | Chave de API Front-end, pode ser encontrada nas configurações do App. |
https://appsignal-endpoint.net/metrics/json?api_key=<api_key>
Parâmetros do corpo
O corpo do post deve conter métricas formatadas em JSON separadas por uma nova linha, ou como um corpo json completo.
| Parâmetro | Tipo | Descrição |
|---|
| name | String | Nome da métrica, não deve conter espaços ou caracteres especiais, ex.: somente ([a-zA-Z0-9-_]) |
| metricType | String | Tipo da métrica, pode ser um de [gauge, counter, timing, histogram] |
| value | Float | Valor (Float) |
| tags | Object<String, String> | Objeto contendo tags. Tanto chave quanto valor devem ser uma string, por exemplo: { "hostname": "frontend1" } |
Exemplo de corpo JSON
[
{
"name": "traffic_gauge",
"metricType": "gauge",
"value": 19.8,
"tags": { "hostname": "frontend1" }
},
{
"name": "error_counter",
"metricType": "counter",
"value": 10,
"tags": { "hostname": "frontend1", "disk": "vda" }
},
{
"name": "duration_timing",
"metricType": "timing",
"value": 19,
"tags": { "lambda": "login" }
},
{
"name": "duration_timing",
"metricType": "histogram",
"value": 5,
"tags": { "lambda": "login" }
}
]
Exemplo de corpo separado por nova linha:
{"name": "traffic_gauge", "metricType": "gauge", "value": 19.8, "tags": {"hostname": "frontend1"}}\n
{"name": "error_counter", "metricType": "counter", "value": 10, "tags": {"hostname": "frontend1", "disk": "vda"}}\n
{"name": "duration_timing", "metricType": "timing", "value": 19, "tags": {"lambda": "login"}}\n
{"name": "duration_timing", "metricType": "histogram", "value": 5, "tags": {"lambda": "login"}}\n
Nota: Este endpoint é otimizado para grandes volumes de tráfego e não
valida a chave da API ou o payload, uma resposta 200 (OK) é retornada quando o
tamanho do corpo está dentro do limite de 200k. Isso não significa que a requisição é
aceita ao ser recebida.