API SintéticosAsyncBulkCreate
. SínteticsAssyncBulkCriar A API fornece endpoints para gerenciar a criação assíncrona de monitores sintéticos.
Use esta API para criar até 5 000 monitores por solicitação. Para operações em lote menores em que a validação imediata e os resultados são necessários, ou para vincular monitores a incidentes, use o. SintéticosBulkCriar API que oferece suporte à criação de até 50 monitores por solicitação.
Os monitores podem ser criados usando dados no formato JSON ou CSV. Para obter mais informações sobre como usar arquivos JSON ou CSV com Postman ou Terminal, consulte Guia do desenvolvedor de monitoramento sintético.
Esta API requer Synthetic monitoring(com.snc.uib.sow_synthetics), que está disponível no ServiceNow Store. Antes de chamar esta API, pelo menos um MID Server o local deve ser configurado para monitoramento sintético. Para obter instruções, consulte Create synthetic monitoring locations. Além disso, os itens de configuração (ICs) para os endpoints que estão sendo monitorados devem existir no Configuration Management Database (CMDB).
AsyncBulkCreate - OBTER /sn_sow_synthetics/synthetics_async_bulk_create/
Verifica o andamento de um trabalho de criação de monitor em massa.
Para chamar este endpoint, o usuário deve ter a função x_snc_sow_synthetics.synthetics_viewer.
Formato de URL
URL com controle de versão: /api/sn_sow_synthetics//synthetics_async_bulk_create/(job_id)
URL padrão: /api/sn_sow_synthetics/synthetics_async_bulk_create/
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | Opcional. Versão do endpoint para acessar. Por exemplo, v1 ou v2 . Especifique este valor somente para usar uma versão de endpoint diferente da mais recente. Tipo de dados: Cadeia de caracteres |
| JobId | ID do trabalho de criação do monitor. Tabela: Trabalho em massa sintético [sn_sow_synthetics_bulk_job] ID do trabalho Tipo de dados: Cadeia de caracteres |
| Nome | Descrição |
|---|---|
| Nenhum(a) |
| Nome | Descrição |
|---|---|
| Nenhum(a) |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos da REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Oferece suporte somente a application/json. |
| Autorização | Autenticação básica HTTP ou token do portador OAuth. Formato de autenticação básica: Formato OAuth: |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de possíveis códigos de status usados na REST API, consulte REST API códigos de resposta HTTP .
| Código de status | Descrição |
|---|---|
| 202 | Aceito. Status do trabalho recuperado com sucesso. |
| 401 | Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas. |
| 403 | Proibido. O usuário deve ter a função x_snc_sow_synthetics.synthetics_viewer para verificar o status do trabalho. |
| 404 | Não encontrado. Um trabalho com o ID fornecido não foi encontrado na tabela Trabalho em massa sintético [sn_sow_synthetics_bulk_job]. |
| 500 | Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro. |
Parâmetros do corpo da resposta (JSON)
| Nome | Descrição |
|---|---|
| erro | O objeto retornado se a solicitação de API falhar. Tipo de dados: Objeto |
| error.code | Código de erro. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| error.details | Detalhes adicionais sobre o erro. Os elementos incluídos neste objeto variam com base no tipo de erro. Tipo de dados: Objeto |
| mensagem.erro | Mensagens de erro Tipo de dados: Cadeia de caracteres |
| resultado | Objeto que contém informações sobre o status do trabalho de criação do monitor. Tipo de dados: Objeto |
| job_id.job_id | ID do trabalho de criação do monitor. Tabela: Trabalho em massa sintético [sn_sow_synthetics_bulk_job] ID do trabalho Tipo de dados: Cadeia de caracteres |
| mensagem.resultado | Mensagem sobre o status do trabalho de criação do monitor. Tipo de dados: Cadeia de caracteres |
| status.resultado | Status do trabalho de criação do monitor. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| resumo.resultado | Dados de resumo atuais do trabalho de criação do monitor. Tipo de dados: Objeto |
| resumo.resultado.criado | Número de monitores criados com sucesso. Tipo de dados: Número |
| resumo.resultado.falha | Número de monitores que não puderam ser criados ou atualizados. Tipo de dados: Número |
| result.summary.processed | Número de monitores processados pelo trabalho. Tipo de dados: Número |
| resultado.resumo.bem-sucedido | Número de monitores criados ou atualizados com sucesso. Tipo de dados: Número |
| result.summary.total | Número total de monitores incluídos no trabalho. Tipo de dados: Número |
| resumo.resultado.atualizado | Número de monitores atualizados com sucesso. Tipo de dados: Número |
| resultado.erros | Informações de erro para monitores com falha. Tipo de dados: Matriz |
| result.errors.check_number | Ordem do monitor no checksmatriz fornecida no corpo da solicitação para POST /sn_sow_synthetics/synthetics_async_bulk_create . Tipo de dados: Número |
| error.errors.error_code | Código de erro. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| error.errors.error_message | Mensagens de erro Tipo de dados: Cadeia de caracteres |
| result.errors.name | Nome do monitor. Tipo de dados: Cadeia de caracteres |
Solicitação de curl
Este exemplo verifica o status de um trabalho de criação de monitor.
curl "https://instance.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create/BCJ-1776889518281-0baf339f" \
--request GET \
--header "Accept:application/json" \
--user 'username':'password'
Corpo da resposta - processamento do trabalho.
{
"result": {
"job_id": "BCJ-1776889518281-0baf339f",
"status": "processing",
"message": "Processing in progress: 150/500 (30%)",
"summary": {
"total": 500,
"processed": 150,
"successful": 148,
"created": 145,
"updated": 3,
"failed": 2
}
}
}
Corpo da resposta - trabalho concluído com sucesso.
{
"result": {
"job_id": "BCJ-1776889518281-0baf339f",
"status": "completed",
"message": "Job completed successfully. 497 monitors created, 3 updated, 0 failed out of 500 total.",
"summary": {
"total": 500,
"processed": 500,
"successful": 500,
"created": 497,
"updated": 3,
"failed": 0
}
}
}
Corpo da resposta - trabalho concluído com erros.
{
"result": {
"job_id": "BCJ-1776889518281-0baf339f",
"status": "completed",
"message": "Job completed. 98 monitors created, 0 updated, 2 failed out of 100 total.",
"summary": {
"total": 100,
"processed": 100,
"successful": 98,
"created": 98,
"updated": 0,
"failed": 2
},
"errors": [
{
"check_number": 23,
"name": "Invalid Monitor",
"error_code": "CREATE_FAILED",
"error_message": "cmdb_ci is required"
},
{
"check_number": 45,
"name": "Bad Location Monitor",
"error_code": "CREATE_FAILED",
"error_message": "Location not found: invalid_sys_id"
}
]
}
}
AsyncBulkCreate - POST /sn_sow_synthetics/synthetics_async_bulk_create
Cria vários monitores sintéticos em uma única operação assíncrona.
Este endpoint é compatível com a criação de até 5 000 monitores por solicitação, com um tamanho máximo de carga de 10 MB. Chamar este endpoint envia um trabalho para criar de forma assíncrona os monitores em lotes de 500. Verifique o status do trabalho chamando o endpoint OBTENHA /sn_sow_synthetics/v1/synthetics_async_bulk_create/(job_id) .
Para chamar este endpoint, o usuário deve ter a função x_snc_sow_synthetics.synthetics_editor.
Formato de URL
URL com controle de versão: /api/sn_sow_synthetics//synthetics_async_bulk_create
URL padrão: /api/sn_sow_synthetics/synthetics_async_bulk_create
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | Opcional. Versão do endpoint para acessar. Por exemplo, v1 ou v2 . Especifique este valor somente para usar uma versão de endpoint diferente da mais recente. Tipo de dados: Cadeia de caracteres |
| Nome | Descrição |
|---|---|
| Nenhum(a) |
| Nome | Descrição |
|---|---|
| verificações | Necessário. Matriz de objetos de configuração de endpoint para os quais criar monitores. Esta matriz pode conter no máximo 5 000 objetos por solicitação de API. Tipo de dados: Matriz |
| verificações.alert_severity | Nível de gravidade dos alertas criados para testes de monitor com falha. Use este parâmetro somente se checks.should_create_alertestá definido como verdadeiro .Valores válidos:
Padrão: 1 Tipo de dados: Número |
| check.alert_tags | Marcadores personalizados a serem usados para alertas criados para testes de monitor com falha. Use este parâmetro somente se checks.should_create_alertestá definido como verdadeiro .Os elementos contidos neste objeto variam de acordo com os marcadores usados. Por exemplo, os marcadores podem ser usados para o ambiente ou a equipe, conforme mostrado abaixo. Padrão: Objeto vazio Tipo de dados: Objeto |
| corpo.verificações | Corpo da solicitação para endpoints de POST, PUT ou PATCH. Deve ser uma cadeia de caracteres JSON ou XML válida, dependendo de Tipo de conteúdo cabeçalho. O tamanho máximo é de 10 KB.Padrão: Nulo Tipo de dados: Cadeia de caracteres |
| body_condition | Validação do corpo da resposta. Tipo de dados: Objeto |
| body_condition.expression | A expressão para verificar o corpo da resposta. A expressão pode ser qualquer valor de cadeia de caracteres, incluindo suporte para regex, JSONPath e XPath. Padrão: Nulo Tipo de dados: Cadeia de caracteres |
| tipo.body_condition.type | Tipo de validação usado para avaliar o corpo da resposta checks.body_condition.expression. Valores válidos (diferencia maiúsculas de minúsculas):
Padrão: Nulo Tipo de dados: Cadeia de caracteres |
| cmdb_ci | Necessário. Sys_id do CMDB Item de configuração de endpoint (IC). Tabela: Endpoint HTTP [cmdb_ci_endpoint_http] Tipo de dados: Cadeia de caracteres |
| credencial.verificações | Sys_id da credencial para o monitor incluir na solicitação de endpoint. Tabela: Padrão: Nulo Tipo de dados: Cadeia de caracteres |
| checks.description | Descrição do monitor. Tipo de dados: Cadeia de caracteres |
| verificações.habilitado | Sinalizador que indica se o monitor começará a ser executado imediatamente após a criação. Valores válidos:
Padrão: verdadeiro Tipo de dados: Booliano |
| cabeçalhos.verificações | Matriz de cabeçalhos HTTP para o monitor incluir na solicitação de endpoint. Tipo de dados: Matriz Padrão: Matriz vazia (sem cabeçalhos) |
| checks.headers.name | Nome do cabeçalho HTTP, como Autorização ou Tipo de conteúdo .Tipo de dados: Cadeia de caracteres |
| valores.cabeçalhos.cheques | Valor do cabeçalho HTTP, como Token do portador ou aplicação/json .Tipo de dados: Cadeia de caracteres |
| checks.interval | Necessário. Frequência de execução do monitor em minutos. ServiceNow os locais hospedados são limitados a 6 testes por minuto por monitor. Valores válidos: 1-60 Por exemplo, um valor de Tipo de dados: Número |
| locais.verificações | Necessário. Lista de sys_ids de MID Server locais a serem usados para o monitor. Tabela: Local sintético [sn_sow_synthetics_location] Tipo de dados: Cadeia de caracteres |
| verificações.max_latence_ms | Tempo de resposta máximo aceitável em milissegundos. A diretriz geral é de 500 a 5000 ms, dependendo do tipo de endpoint. O monitor verifica esse valor durante o teste e o teste falha se o tempo de resposta exceder esse valor. Padrão: Nulo (sem limite de latência) Tipo de dados: Número |
| método.verificações | Necessário. Método HTTP a ser usado. Valores válidos (sem distinção entre maiúsculas e minúsculas):
Tipo de dados: Cadeia de caracteres |
| checks.name | Necessário. Nome de exibição do monitor. Tamanho máximo: 100 caracteres Tipo de dados: Cadeia de caracteres |
| verificações.parent_service_sys_id | Necessário. SYS_id do serviço de negócios compatível com este endpoint. Usado para relatórios de nível de serviço e análise de impacto. Tabela: Serviço de negócios [cmdb_ci_service] Tipo de dados: Cadeia de caracteres |
| check.query_string | Parâmetros de consulta para o monitor incluir na solicitação de endpoint. Padrão: Nulo Tipo de dados: Cadeia de caracteres |
| cheques.should_create_alert | Sinalizador que indica se o monitor criará um alerta se um teste falhar. Valores válidos:
Padrão: falso Tipo de dados: Booliano |
| verificações.single_api_check_sys_id | Sys_id do monitor para o endpoint. Use este parâmetro para atualizar um monitor existente. Tabela: API única [sn_sow_synthetics_check_single_api] Padrão: Nulo Tipo de dados: Cadeia de caracteres |
| verificações.support_group_sys_id | Necessário. Sys_id do grupo de suporte responsável por este endpoint. Usado para roteamento e atribuição de alertas. Tabela: Grupo [sys_user_group] Tipo de dados: Cadeia de caracteres |
| valid_http_code | Códigos de status HTTP esperados para uma resposta bem-sucedida. Formatos válidos:
O monitor verifica esses valores durante o teste e o teste falha se o código de status real não corresponder a um valor na lista. Padrão: Nulo Tipo de dados: Cadeia de caracteres |
| verificações.valid_http_code_type | Tipo de validação usado para verificar o código de status HTTP de uma resposta. Valores válidos (diferencia maiúsculas de minúsculas):
Padrão: Nulo Tipo de dados: Cadeia de caracteres |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos da REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Oferece suporte somente a application/json. |
| Autorização | Autenticação básica HTTP ou token do portador OAuth. Formato de autenticação básica: Formato OAuth: |
| Tipo de conteúdo | Formato de dados do corpo da solicitação. Tipos compatíveis: application/jsonou text/csv. Padrão: application/json |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de possíveis códigos de status usados na REST API, consulte REST API códigos de resposta HTTP .
| Código de status | Descrição |
|---|---|
| 202 | Aceito. Um trabalho de criação de monitor em massa foi enviado. |
| 400 | Solicitação incorreta. Falha na validação da solicitação. Verificar error.codee. error.messageno corpo da resposta para obter detalhes do erro. Causas comuns:
|
| 401 | Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas. |
| 403 | Proibido. O usuário deve ter a função x_snc_sow_synthetics.synthetics_editor para criar monitores. |
| 413 | Carga muito grande. O corpo da solicitação excede o limite de 10 MB. |
| 415 | Tipo de mídia não compatível. A carga deve ser formatada como JSON ou CSV. |
| 429 | Muitas solicitações ou muitos trabalhos de criação de monitor ativos. Aguarde e tente novamente. Verificar error.codee. error.messageno corpo da resposta para obter mais informações. Limites de taxa:
|
| 500 | Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro. |
Parâmetros do corpo da resposta (JSON)
| Nome | Descrição |
|---|---|
| erro | O objeto retornado se a solicitação de API falhar. Tipo de dados: Objeto |
| error.code | Código de erro. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| error.details | Detalhes adicionais sobre o erro. Os elementos incluídos neste objeto variam com base no tipo de erro. Tipo de dados: Objeto |
| mensagem.erro | Mensagens de erro Tipo de dados: Cadeia de caracteres |
| resultado | Objeto que contém informações sobre o trabalho de criação do monitor. Tipo de dados: Objeto |
| job_id.job_id | ID do trabalho de criação do monitor. Tabela: Trabalho em massa sintético [sn_sow_synthetics_bulk_job] ID do trabalho Tipo de dados: Cadeia de caracteres |
| job_sys_id.job_id | Sys_id do trabalho de criação do monitor. Tabela: Trabalho em massa sintético [sn_sow_synthetics_bulk_job] Tipo de dados: Cadeia de caracteres |
| mensagem.resultado | Mensagem sobre o status do trabalho de criação do monitor. Tipo de dados: Cadeia de caracteres |
| status.resultado | Status do trabalho de criação do monitor. Para uma solicitação de API bem-sucedida (código de status Tipo de dados: Cadeia de caracteres |
| resultado.status_check_url | Endpoint para acompanhar o status atual do trabalho de criação do monitor. Para obter mais informações, consulte OBTENHA /sn_sow_synthetics/v1/synthetics_async_bulk_create/(job_id) . Tipo de dados: Cadeia de caracteres |
Solicitação de curl
Este exemplo envia um trabalho para criar monitores para dois endpoints de API.
curl "https://instance.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
"checks": [
{
"name": "Production API Health Check",
"method": "GET",
"description": "Monitors the main API health endpoint",
"interval": 5,
"cmdb_ci": "21d4073087807610f13cbbf7cebb3500",
"enabled": true,
"should_create_alert": true,
"alert_severity": 1,
"locations": [
"0fd0279b87003210f13cbbf7cebb3552",
"2244a48d87cc7610f13cbbf7cebb3554"
],
"headers": [
{
"name": "Accept",
"value": "application/json"
}
],
"query_string": null,
"credential": "",
"body": null,
"parent_service_sys_id": "6731133c87c07610f13cbbf7cebb35d8",
"support_group_sys_id": "019ad92ec7230010393d265c95c260dd",
"alert_tags": {
"environment": "production",
"team": "platform"
},
"valid_http_code_type": "equals",
"valid_http_code": "200",
"max_latency_ms": 5000,
"body_condition": {
"type": "jsonpath",
"expression": "$.status == 'ok'"
}
},
{
"name": "User Service POST Test",
"method": "POST",
"description": "Tests user creation endpoint",
"interval": 10,
"cmdb_ci": "21d4073087807610f13cbbf7cebb3503",
"enabled": true,
"should_create_alert": true,
"alert_severity": 2,
"locations": [
"2244a48d87cc7610f13cbbf7cebb3554"
],
"headers": [
{
"name": "Content-Type",
"value": "application/json"
}
],
"body": "{\"test\": true}",
"parent_service_sys_id": "6731133c87c07610f13cbbf7cebb35e1",
"support_group_sys_id": "0762d92db72422103a858bbb4e11a928",
"valid_http_code_type": "in_range",
"valid_http_code": "200-201",
"max_latency_ms": 3000
}
]
}" \
--user 'username':'password'
Corpo da resposta - trabalho criado com sucesso.
{
"result": {
"job_id": "BCJ-1706789123456-a1b2c3d4",
"job_sys_id": "abc123def456abc123def456",
"status": "pending",
"message": "Job created successfully. File uploaded. Processing will begin shortly.",
"status_check_url": "/api/sn_sow_synthetics/v1/synthetics_async_bulk_create/BCJ-1706789123456-a1b2c3d4"
}
}
Corpo da resposta - Erro de limite de trabalho de criação do monitor simultâneo.
{
"error": {
"code": "CONCURRENT_JOB_LIMIT",
"message": "Maximum concurrent jobs exceeded. Please wait for existing jobs to complete."
}
}
Corpo da resposta - erro de limite de taxa.
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Please try again later.",
"details": {
"remaining_per_minute": 0,
"remaining_per_hour": 5,
"remaining_per_day": 100
}
}
}