O New Relic permite que você use o NerdGraph para criar monitores de ping (também conhecidos como monitores simples). Os monitores de ping verificam se um URL ou endpoint está acessível, fazendo requests HTTP em intervalos regulares. Este tutorial fornece exemplos de como usar a API do NerdGraph para automatizar a criação de monitores de ping.
Crie um monitor de ping
Você pode criar um monitor de ping usando a mutação syntheticsCreateSimpleMonitor. Essa mutação permite configurar o monitoramento para qualquer URL ou endpoint acessível publicamente.
Parâmetro de entrada
Parâmetro | Tipo de dados | É obrigatório? | Descrição |
|---|---|---|---|
| Inteiro | Sim | Seu New Relic onde o monitor será criado. |
| Matriz | Sim | matriz de identificadar onde o monitor executará verificações (por exemplo,
). |
| Corda | Sim | O nome de exibição do seu monitor de ping. |
| Enum | Sim | Com que frequência o monitor é executado? Opções:
,
,
,
,
,
,
,
,
. |
| Enum | Sim | O estado do monitor. Opções:
(monitor ativo e realizando verificações),
(monitor inativo). |
| Corda | Sim | A URL ou endpoint a ser monitorado (por exemplo,
). |
| Corda | Não | Texto que deve constar na resposta para que a verificação seja aprovada. Se especificado, o monitor falhará se esse texto não for encontrado no corpo da resposta. |
| Boleano | Não | Se deve validar o certificado TLS/SSL. Defina como
para verificar a validade da cadeia SSL do certificado. |
| Float | Não | O monitor Apdex destino em segundos, usado para preencher relatórios SLA. O valor padrão é de 7,0 segundos. |
Solicitação de amostra
mutation { syntheticsCreateSimpleMonitor( accountId: ACCOUNT_ID monitor: { locations: { public: ["LOCATION_1", "LOCATION_2"] } name: "YOUR_MONITOR_NAME" period: PERIOD status: STATUS uri: "MONITORED_URI" advancedOptions: { customHeaders: { name: "HEADER_NAME", value: "HEADER_VALUE" } redirectIsFailure: REDIRECT_IS_FAILURE responseValidationText: "VALIDATION_TEXT" shouldBypassHeadRequest: BYPASS_HEAD_REQUEST useTlsValidation: TLS_VALIDATION } apdexTarget: APDEX_TARGET } ) { errors { description type } }}Resposta de amostra
Uma resposta bem-sucedida retorna null para erros:
{ "data": { "syntheticsCreateSimpleMonitor": { "errors": null } }}Se houver algum problema ao criar o monitor, a matriz errors conterá objetos com campos description e type explicando o que deu errado.
Atualizar um monitor de ping
Você pode atualizar um monitor de ping existente usando a mutação syntheticsUpdateSimpleMonitor. Isso permite modificar a configuração de um monitor de ping que já foi criado.
Parâmetro de entrada
Parâmetro | Tipo de dados | É obrigatório? | Descrição |
|---|---|---|---|
| Corda | Sim | O exclusivo da entidade do monitor que você deseja atualizar. |
| Matriz | Não | matriz de identificadar onde o monitor executará verificações (por exemplo,
). |
| Corda | Não | O nome de exibição atualizado para o seu monitor de ping. |
| Enum | Não | Com que frequência o monitor é executado? Opções:
,
,
,
,
,
,
,
,
. |
| Enum | Não | O estado do monitor. Opções:
(monitor ativo e realizando verificações),
(monitor inativo). |
| Corda | Não | A URL ou endpoint a ser monitorado (por exemplo,
). |
| Objeto | Não | Cabeçalhos HTTP personalizados para incluir na solicitação. Cada cabeçalho possui uma propriedade
e uma propriedade
. |
| Boleano | Não | Se
, o monitor tratará os redirecionamentos HTTP (códigos de status 3xx) como falhas. |
| Corda | Não | Texto que deve constar na resposta para que a verificação seja aprovada. Se especificado, o monitor falhará se esse texto não for encontrado no corpo da resposta. |
| Boleano | Não | Se
, o monitor ignorará a solicitação HEAD inicial e fará apenas uma solicitação GET. |
| Boleano | Não | Se deve validar o certificado TLS/SSL. Defina como
para verificar a validade da cadeia SSL do certificado. |
| Float | Não | O monitor Apdex destino em segundos, usado para preencher relatórios SLA. O valor padrão é de 7,0 segundos. |
Solicitação de amostra
mutation { syntheticsUpdateSimpleMonitor( guid: "ENTITY_GUID" monitor: { locations: { public: ["LOCATION_1", "LOCATION_2"] } name: "YOUR_MONITOR_NAME" period: PERIOD status: STATUS uri: "MONITORED_URI" advancedOptions: { customHeaders: { name: "HEADER_NAME", value: "HEADER_VALUE" } redirectIsFailure: REDIRECT_IS_FAILURE responseValidationText: "VALIDATION_TEXT" shouldBypassHeadRequest: BYPASS_HEAD_REQUEST useTlsValidation: TLS_VALIDATION } apdexTarget: APDEX_TARGET } ) { errors { description type } }}Resposta de amostra
Uma resposta bem-sucedida retorna null para erros:
{ "data": { "syntheticsUpdateSimpleMonitor": { "errors": null } }}Se houver algum problema ao atualizar o monitor, a matriz errors conterá objetos com campos description e type explicando o que deu errado.
Excluir um monitor Sintético
Esta API permite que você exclua um monitor existente usando a mutação syntheticsDeleteMonitor com o parâmetro guid.
Parâmetro de entrada
Parâmetro | Tipo de dados | É obrigatório? | Descrição |
|---|---|---|---|
| Corda | Sim | O exclusivo da entidade do monitor que você deseja excluir. |
Solicitação de amostra
mutation { syntheticsDeleteMonitor(guid: "ENTITY_GUID") { deletedGuid }}Resposta de amostra
Uma exclusão bem-sucedida retorna o GUID do monitor excluído:
{ "data": { "syntheticsDeleteMonitor": { "deletedGuid": "ENTITY_GUID" } }}Caso ocorra algum problema ao excluir o monitor, uma mensagem de erro será retornada com detalhes sobre o que deu errado.