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.
Atualmente, a New Relic oferece suporte a duas versões da API de monitoramento sintético: v1 e v3. A versão 3 foi lançada em outubro de 2016. Version 1 is deprecated e eventualmente não estará mais disponível. Nenhuma data de rescisão foi anunciada. No entanto, nenhum desenvolvimento ou modificação adicional será feito na v1.
Cuidado
Recomendação: Crie novos monitores usando a API v3 Sintético e migre o script v1 para seu equivalente v3.
Você deve usar a chave API do seu usuário administrador para fazer chamada de API REST Sintético. A chave de API REST da conta não funcionará.
Cuidado
A API REST Sintético limita a taxa de solicitações de uma conta a três solicitações por segundo. As solicitações feitas além desse limite retornarão um código de resposta 429.
Estes exemplos mostram o comando curl:
Para visualizar uma lista de todos os monitores da sua conta no New Relic, envie uma solicitação GET para https://synthetics.newrelic.com/synthetics/api/v1/monitors. Por exemplo:
Uma solicitação bem-sucedida retornará uma resposta 200 OK . Os dados retornados serão um objeto JSON no seguinte formato:
{
"count": integer,
"monitors": [
{
"id": UUID,
"name": string,
"type": string,
"frequency": integer,
"uri": string,
"locations": array of strings,
"status": string,
"slaThreshold": double,
"userId": integer,
"apiVersion": string
}
]
}
Para visualizar um único monitor existente no New Relic, envie uma solicitação GET para https://synthetics.newrelic.com/synthetics/api/v1/monitors/{id}. Substitua {id} no exemplo a seguir pelo ID do monitor específico.
Uma solicitação bem-sucedida retornará uma resposta 200 OK . Os dados retornados serão um objeto JSON no seguinte formato:
{
"id": UUID,
"name": string,
"type": string,
"frequency": integer,
"uri": string,
"locations": array of strings,
"status": string,
"slaThreshold": double,
"userId": integer,
"apiVersion": string
}
Um ID de monitor inválido retornará o erro 404 Not Found: O monitor especificado não existe.
Para adicionar um novo monitor à sua conta no New Relic, envie uma solicitação POST para https://synthetics.newrelic.com/synthetics/api/v1/monitors com uma carga JSON que descreve o monitor:
"frequency": integer (minutes) [required, must be one of 1, 5, 10, 15, 30, 60, 360, 720, or 1440],
"uri": string [required for SIMPLE and BROWSER type],
"locations": array of strings (send a GET request to https://synthetics.newrelic.com/synthetics/api/v1/locations to get a list of valid locations) [at least one required],
"status": string (ENABLED, DISABLED) [required],
"slaThreshold": double,
}
Além disso, para add a scripted monitor por meio da chamada de API REST, um endpoint adicional de API para enviar o script para o monitor recém-criado.
Uma solicitação bem-sucedida retornará uma resposta 201 Created , com o URI do monitor recém-criado especificado no cabeçalho location . Os possíveis códigos de erro incluem:
400 Bad Request
: um ou mais valores de monitor são inválidos ou o formato da solicitação é inválido. Por exemplo, a frequência está fora dos limites ou um ou mais dos locais especificados são inválidos (consulte a mensagem de erro no corpo da resposta).
402 Payment Required
: a criação do monitor aumentará suas verificações programadas além do limite de verificações compradas da sua conta.
Para atualizar um monitor existente no New Relic, envie uma solicitação PUT para https://synthetics.newrelic.com/synthetics/api/v1/monitors/{id}. Além disso, para monitores com script, siga os procedimentos para atualizar o script codificado em BASE64.
Substitua o {id} no exemplo a seguir pelo ID do monitor específico e substitua o atributo da API REST Sintético pelos seus valores específicos.
As solicitações PUT destinam-se a substituir a entidade alvo, portanto, todos os atributos necessários no payload JSON ao criar um novo monitor também são necessários ao atualizar um monitor existente.
Uma solicitação bem-sucedida retornará uma resposta 204 No Content , com corpo vazio. Os possíveis códigos de erro incluem:
400 Bad Request
: um ou mais valores de monitor são inválidos ou o formato da solicitação é inválido. Por exemplo, a frequência está fora dos limites ou um ou mais dos locais especificados são inválidos (consulte a mensagem de erro no corpo da resposta).
404 Not Found
: o monitor especificado não existe.
Para excluir um monitor existente no New Relic, envie uma solicitação DELETE para https://synthetics.newrelic.com/synthetics/api/v1/monitors/{id}. Substitua {id} no exemplo a seguir pelo ID do monitor específico.
Uma solicitação bem-sucedida retornará uma resposta 204 No Content , com corpo vazio. Uma solicitação malsucedida retornará a resposta 404 Not Found: O monitor especificado não existe.
Para recuperar a lista de locais válidos no New Relic, use o seguinte comando.
curl -v \
-X GET -H 'X-Api-Key:{Admin_User_Key}' https://synthetics.newrelic.com/synthetics/api/v1/locations
Gerenciando monitor com script
Além da API geral, existem vários métodos de API para os tipos de monitor scripted browser (SCRIPT_BROWSER) e api test (SCRIPT_API).
Esses exemplos mostram o comando curl.
Para visualizar o script associado a um monitor SCRIPT_BROWSER ou SCRIPT_API específico no New Relic para sua conta, envie uma solicitação GET para https://synthetics.newrelic.com/synthetics/api/v1/monitors/{id}/script. Substitua {id} pelo ID do monitor específico. Por exemplo:
Para atualizar o script associado a um monitor SCRIPT_BROWSER ou SCRIPT_API específico no New Relic para sua conta, envie uma solicitação PUT para https://synthetics.newrelic.com/synthetics/api/v1/monitors/{id}/script com uma carga JSON que contém o scriptText (obrigatório). Os dados scriptLocations são necessários apenas para localização privada com Verified Script Execution ativado.
A senha utilizada para gerar a string HMAC deve corresponder à senha definida para a localização privada. Ao gerar a string HMAC, use o algoritmo SHA256.
{
"scriptText": BASE64 encoded String,
"scriptLocations": [
{
"name": Location name,
"hmac" BASE64 encoded String of SHA256 HMAC for location
}
]
}
Substitua {id} pelo ID do monitor específico. Aqui está um exemplo para o script:
var assert = require('assert');
assert.equal('1', '1');
Este exemplo usa password como senha para scriptLocation.
Uma solicitação bem-sucedida retornará uma resposta 204 No Content com corpo vazio. Os possíveis códigos de erro incluem:
400 Bad Request:
Sequência codificada em BASE64 inválida para scriptText ou hmac.
403 Forbidden:
O monitor especificado não é do tipo script ou script.
404 Not Found:
O monitor especificado não existe.
Exemplo de browser com script
Aqui está um exemplo de uso da API REST da New Relic e do script bash para criar um script com monitor de browser.
O exemplo a seguir mostra o comando curl para criar um script com do monitor do browser.
Na parte superior do script, substitua as variáveis pelos seus valores específicos.
Para a variável scriptfile , identifique o nome do arquivo do script a ser criado. Aqui está um exemplo de script que pode ser salvo como sample_synth_script.js para usar no exemplo:
String: o URI para os tipos de monitorSIMPLE e BROWSER ; por exemplo, http://my-site.com. Opcional para SCRIPT_BROWSER e SCRIPT_API.
userID
Inteiro: o ID do usuário específico.
endpointespecífico do monitor
Ao fazer uma chamada de API REST para um monitor específico, inclua monitor_uuid como parte do endpoint. O monitor_uuid é o GUID que faz parte do URL. Por exemplo, um monitor Sintético selecionado possui esta URL: