MetricBase Time Series API
. MetricBase Time Series A API fornece endpoints para inserir dados em, recuperar informações de e executar transformações em um MetricBase banco de dados.
Esta API só pode ser usada quando MetricBase o plug-in (com.snc.clotho) está instalado e ativado.
Função necessária para gravar nesta API: Clotho_rest_put.
Os exemplos nesta seção foram criados usando dados no plug-in MetricBase (com.snc.clotho).
MetricBase Time Series - OBTER /now/clotho/table/
Recupera dados da série temporal especificada do MetricBase banco de dados.
Formato de URL
URL com controle de versão: /api/now/
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | |
| métrica | Nome da coluna na tabela identificada em subjectparâmetro a ser usado como métrica. Tipo de dados: Cadeia de caracteres |
| assunto | Sys_id do GlideRecord associado a esta série. Tipo de dados: Cadeia de caracteres |
| tabela | Nome da tabela que contém o GlideRecord associado a esta série. Tipo de dados: Cadeia de caracteres |
| Nome | Descrição |
|---|---|
| sysparm_display_value | Sinalizador que indica se rotular os dados do resultado com o valor de exibição do registro do assunto se nenhum outro rótulo for especificado. Valores válidos:
Tipo de dados: Booliano Padrão: falso |
| sysparm_end | Obrigatório. Hora de término do período de avaliação. Um valor vazio ou ausente é tratado como a hora atual. Os valores de tempo incluem esta hora de término. Tipo de dados: Cadeia de caracteres Formato: ISO 8601 (UTC), seja:
|
| sysparm_start | Obrigatório. Hora de início do período de avaliação. O valor especial todos pode ser usado para definir a hora de início como a hora atual menos o período máximo de retenção para as métricas especificadas. Um valor vazio ou ausente é tratado como implícito todos . Os valores de tempo incluem esta hora de início.Tipo de dados: Cadeia de caracteres Formato: ISO 8601 (UTC), seja:
|
| 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 de REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Oferece suporte somente a 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 Códigos de resposta HTTP da REST API .
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 401 | Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas. |
| 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 ou XML)
| Nome | Descrição |
|---|---|
| rótulo | Rótulo usado para identificar o conjunto de resultados desta métrica. Tipo de dados: Cadeia de caracteres |
| SeriesRef | Resultados da série de dados. Tipo de dados: Matriz de objetos |
| SeriesRef.métrica | Nome da métrica da qual a série de dados foi obtida. Aparece somente se metricso objeto foi passado na solicitação. Tipo de dados: Cadeia de caracteres |
| SeriesRef.Assunto | Sys_id do registro da série de dados. Localizado na tabela especificada em seriesRef.table. Tipo de dados: Cadeia de caracteres |
| SeriesRef.table | Nome da tabela da qual a série de dados foi obtida. Tipo de dados: Cadeia de caracteres |
| valores | Valores de série transformados. Tipo de dados: Matriz de objetos |
| values.carimbo de data/hora | Carimbo de data/hora do valor. Tipo de dados: Cadeia de caracteres Formato: ISO 8601 |
| values.value | Valores de métrica. Tipo de dados: Número |
Solicitação de curl
curl "https://instance.servicenow.com/api/now/v1/clotho/
table/mb_demo_drone/626b051787333200a328c5b836cb0b99/
mb_demo_mt_altitude?sysparm_start=2019-03-20T17%3A04%3A55
&sysparm_end=2019-03-20T17%3A09%3A55" \
--request GET \
--header "Accept:application/json" \
--user "username":"password"
{
"seriesRef": {
"subject": "626b051787333200a328c5b836cb0b99",
"table": "mb_demo_drone",
"metric": "mb_demo_mt_altitude"
},
"label": "626b051787333200a328c5b836cb0b99:
mb_demo_drone|mb_demo_mt_altitude",
"values": [
{
"timestamp": "2019-03-20T17:05:00Z",
"value": 83.150185
},
{
"timestamp": "2019-03-20T17:06:00Z",
"value": 83.46074
},
{
"timestamp": "2019-03-20T17:07:00Z",
"value": 83.83104
},
{
"timestamp": "2019-03-20T17:08:00Z",
"value": 84.260635
},
{
"timestamp": "2019-03-20T17:09:00Z",
"value": 84.749
}
]
}
MetricBase Time Series - OBTER /now/clotho/transform/
Transforma os dados especificados com base nos parâmetros especificados.
Formato de URL
URL com controle de versão: /api/now/
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | |
| métrica | Nome da coluna na tabela identificada em subjectparâmetro a ser usado como métrica. Tipo de dados: Cadeia de caracteres |
| tabela | Nome da tabela que contém o GlideRecord associado a esta série. Tipo de dados: Cadeia de caracteres |
| Nome | Descrição |
|---|---|
| sysparm_display_value | Sinalizador que indica se rotular os dados do resultado com o valor de exibição do registro do assunto se nenhum outro rótulo for especificado. Valores válidos:
Tipo de dados: Booliano Padrão: falso |
| sysparm_end | Obrigatório. Hora de término do período de avaliação. Um valor vazio ou ausente é tratado como a hora atual. Os valores de tempo incluem esta hora de término. Tipo de dados: Cadeia de caracteres Formato: ISO 8601 (UTC), seja:
|
| sysparm_query | Cadeia de caracteres de consulta codificada para encontrar os registros de assunto. Tipo de dados: Cadeia de caracteres Padrão: Nenhum |
| sysparm_start | Obrigatório. Hora de início do período de avaliação. O valor especial todos pode ser usado para definir a hora de início como a hora atual menos o período máximo de retenção para as métricas especificadas. Um valor vazio ou ausente é tratado como implícito todos . Os valores de tempo incluem esta hora de início.Tipo de dados: Cadeia de caracteres Formato: ISO 8601 (UTC), seja:
|
| sysparm_subject_limit | Limitar o tamanho do resultado da consulta de assunto. Tipo de dados: Número Padrão: 10.000 |
| sysparm_transforms | Lista de transformações separada por vírgulas. Transformações válidas:
Tipo de dados: Cadeia de caracteres Padrão: Nenhum |
| 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 de REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Tipos compatíveis: application/jsonou application/xml. 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 Códigos de resposta HTTP da REST API .
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 401 | Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas. |
| 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 ou XML)
| Nome | Descrição |
|---|---|
| rótulo | Rótulo usado para identificar o conjunto de resultados desta métrica. Tipo de dados: Cadeia de caracteres |
| SeriesRef | Resultados da série de dados. Tipo de dados: Matriz de objetos |
| SeriesRef.métrica | Nome da métrica da qual a série de dados foi obtida. Aparece somente se metricso objeto foi passado na solicitação. Tipo de dados: Cadeia de caracteres |
| SeriesRef.Assunto | Sys_id do registro da série de dados. Localizado na tabela especificada em seriesRef.table. Tipo de dados: Cadeia de caracteres |
| SeriesRef.table | Nome da tabela da qual a série de dados foi obtida. Tipo de dados: Cadeia de caracteres |
| valores | Valores de série transformados. Tipo de dados: Matriz de objetos |
| values.carimbo de data/hora | Carimbo de data/hora do valor. Tipo de dados: Cadeia de caracteres Formato: ISO 8601 |
| values.value | Valores de métrica. Tipo de dados: Número |
Solicitação de curl
curl "https://instance.servicenow.com/api/now/v1/clotho/
transform/mb_demo_drone/mb_demo_mt_speed?
sysparm_query=model%3DKingfisher%20Phantom&
sysparm_start=2019-03-25T17%3A04%3A55&
sysparm_end=2019-03-25T17%3A05%3A10" \
--request GET \
--header "Accept:application/json" \
--user "username":"password"
Saída:
[
{
"seriesRef": {
"subject": "2a6b051787333200a328c5b836cb0b92",
"table": "mb_demo_drone",
"metric": "mb_demo_mt_speed"
},
"label": "2a6b051787333200a328c5b836cb0b92:mb_demo_drone
|mb_demo_mt_speed",
"values": [
{
"timestamp": "2019-03-25T17:05:00Z",
"value": 33.67892
}
]
},
{
"seriesRef": {
"subject": "666b051787333200a328c5b836cb0b92",
"table": "mb_demo_drone",
"metric": "mb_demo_mt_speed"
},
"label": "666b051787333200a328c5b836cb0b92:mb_demo_drone
|mb_demo_mt_speed",
"values": [
{
"timestamp": "2019-03-25T17:05:00Z",
"value": 41.94985
}
]
},
{
"seriesRef": {
"subject": "a26b051787333200a328c5b836cb0b92",
"table": "mb_demo_drone",
"metric": "mb_demo_mt_speed"
},
"label": "a26b051787333200a328c5b836cb0b92:mb_demo_drone
|mb_demo_mt_speed",
"values": [
{
"timestamp": "2019-03-25T17:05:00Z",
"value": 37.74187
}
]
},
{
"seriesRef": {
"subject": "ea6b051787333200a328c5b836cb0b92",
"table": "mb_demo_drone",
"metric": "mb_demo_mt_speed"
},
"label": "ea6b051787333200a328c5b836cb0b92:mb_demo_drone
|mb_demo_mt_speed",
"values": [
{
"timestamp": "2019-03-25T17:05:00Z",
"value": 34.914192
}
]
},
{
"seriesRef": {
"subject": "ee6b051787333200a328c5b836cb0b91",
"table": "mb_demo_drone",
"metric": "mb_demo_mt_speed"
},
"label": "ee6b051787333200a328c5b836cb0b91:mb_demo_drone
|mb_demo_mt_speed",
"values": [
{
"timestamp": "2019-03-25T17:05:00Z",
"value": 44.170887
}
]
}
]
MetricBase Time Series - POST /now/clotho/accumulate
Acumula valores de métrica no carimbo de data/hora especificado e salva o resultado no banco de dados em vez de substituir o valor.
Use esta API Para lidar com métricas que podem ser somadas para uma acumulação, como quilowatts-hora (kWhs) de eletricidade. Acumular faz uma chamada para cada métrica no carimbo de data/hora fornecido. Por exemplo, os quilowatts coletados para um aquecedor, chaleira elétrica e máquina de lavar roupa resultariam em três chamadas para acumular.
Formato de URL
URL com controle de versão: /api/now//clotho/accumulate
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | Opcional. Versão do endpoint a ser acessado. 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 |
|---|---|
| default_value | Valor padrão para acúmulo em um determinado carimbo de data/hora. Usado somente durante a primeira chamada para acumular se um valor não estiver disponível para um determinado carimbo de data/hora. Um caso de uso pode estar acumulando uma métrica de watts para um total_power. Você deseja acumular watts para um roteador conetado a uma tomada sem um medidor de energia para medi-lo. Se você souber o valor de consumo e ele for constante), poderá usar o valor da constante como valor padrão para acumular total_power. Por exemplo, você usaria 20 se o roteador estiver conectado constantemente e consumir 20 Watts. Tipo de dados: Cadeia de caracteres Padrão: 0 |
| sysparm_ignore_unknown_series | Sinalizador que indica se uma série desconhecida deve ser ignorada e continuar a transação sem retornar um erro. Valores válidos:
Padrão: verdadeiro |
| Nome | Descrição |
|---|---|
| SeriesRef | Lista de cadeias de caracteres que representam informações da série de dados a serem atualizadas. Tipo de dados: Matriz |
| SeriesRef.métrica | Obrigatório. Nome da métrica de acúmulo a ser atualizada. Tipo de dados: Cadeia de caracteres |
| SeriesRef.Assunto | Obrigatório. Sys_id do registro no qual os dados serão atualizados. Tipo de dados: Cadeia de caracteres Tabela: Especificada em seriesRef.table |
| SeriesRef.table | Obrigatório. Nome da tabela na qual os dados serão salvos. Tipo de dados: Cadeia de caracteres |
| valores | Obrigatório. Valores de série a serem acumulados e armazenados. Os valores com o mesmo carimbo de data/hora são somados com default_valueparâmetro de consulta. Tipo de dados: Matriz |
| values.carimbo de data/hora | Obrigatório. Carimbo de data/hora ISO 8601 do valor. Tipo de dados: Cadeia de caracteres Formato: AAAA-MM-ddTHH:mm:ddZ O caractere representado por "Z" indica o fuso horário UTC em um carimbo de data/hora formatado ISO. Esta parte do formato de carimbo de data/hora é opcional. Exemplo: |
| values.value | Obrigatório. Valor da métrica. Tipo de dados: Número |
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 de REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Oferece suporte somente a application/json. |
| Tipo de conteúdo | Formato de dados do corpo da solicitação. Oferece suporte somente a 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 Códigos de resposta HTTP da REST API .
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 401 | Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas. |
| 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 ou XML)
| Nome | Descrição |
|---|---|
| mensagem | Mensagem indicando sucesso (OK) ou erro. |
Solicitação de curl
Este exemplo mostra como acumular valores de métrica em um determinado carimbo de data/hora.
curl "https://instance.servicenow.com/api/now/v1/clotho/accumulate" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"seriesRef\": {
\"subject\": \"3D666b051787333200a328c5b836cb0b92\",
\"table\": \"power_monitoring\",
\"metric\": \"total_power\"
},
\"values\": [
{
\"timestamp\": \"2019-03-21T17:05:00Z\",
\"value\": 0.150185
},
{
\"timestamp\": \"2019-03-21T17:05:00Z \",
\"value\": 0.46074
},
{
\"timestamp\": \"2019-03-21T17:05:00Z \",
\"value\": 0.83104
},
{
\"timestamp\": \"2019-03-21T17:05:00Z \",
\"value\": 1.260635
},
{
\"timestamp\": \"2019-03-21T17:05:00Z \",
\"value\": 1.749
}
]
}" \
--user "username":"password"
Saída fornecida com resultados bem-sucedidos.
{
"result": {
"message": "ok"
}
}
MetricBase Time Series - POST /now/clotho/transform
Recupera e agrupa opcionalmente dados de série temporal para uma ou mais métricas depois de aplicar uma lista especificada de transformações que formam um pipeline linear.
Formato de URL
URL com controle de versão: /api/now//clotho/transform
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | Opcional. Versão do endpoint a ser acessado. 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 |
|---|---|
| sysparm_display_value | Sinalizador que indica se rotular os dados do resultado com o valor de exibição do registro do assunto se nenhum outro rótulo for especificado. Valores válidos:
Tipo de dados: Booliano Padrão: falso |
| Nome | Descrição |
|---|---|
| término | Obrigatório. Hora de término do período de avaliação. Um valor vazio ou ausente é tratado como a hora atual. Os valores de tempo incluem esta hora de término. Tipo de dados: Cadeia de caracteres Formato: ISO 8601 (UTC), seja:
|
| limite | Número máximo de registros a serem retornados. Valores excepcionalmente grandes podem afetar o desempenho do sistema. Tipo de dados: Número Padrão: 10.000 |
| métricas | Lista de objetos de métrica a serem usados na transformação. Para obter mais informações sobre métricas, consulte Metrics. Tipo de dados: Matriz |
| metrics.groupBy | Lista separada por vírgulas de campos, contida na tabela especificada em tableparâmetro, para agrupar a série antes de coletar ou aplicar transformações agregadas. A ordem dos itens na lista é a ordem pela qual os dados são agrupados. Por exemplo, se houver dois itens na lista, "estado, CEP", a série será agrupada primeiro por estado e, em seguida, por CEP no estado. Tipo de dados: Cadeia de caracteres Padrão: Os dados não estão agrupados. |
| metrics.label | Rótulo a ser usado para o conjunto de resultados desta métrica. Substitui todos os rótulos gerados pela cadeia de transformação. Tipo de dados: Cadeia de caracteres Rótulo padrão: Rótulo padrão gerado. |
| metrics.metric | Necessário se metricso objeto foi aprovado. Campo de métrica a ser usado na transformação. Este campo deve estar na tabela especificada em tableparâmetro. Tipo de dados: Cadeia de caracteres |
| metrics.transformações | Lista de transformações (cadeia de transformação) a serem aplicadas aos dados da série temporal recuperados. Cada transformação se baseia nos resultados da transformação anterior. Para obter uma lista de transformações disponíveis, consulte Transformações compatíveis abaixo. Tipo de dados: Matriz de objetos |
| metrics.transformações.arg | Dependente da transformação. Parâmetro ou parâmetros a serem passados para a transformação. Diretrizes gerais:
Tipo de dados: Número, cadeia de caracteres, booliano ou objeto JSON, dependendo da transformação. (Para obter uma lista de transformações disponíveis, consulte a tabela Transformações compatíveis abaixo.) |
| metrics.transforms.name | Necessário se for um transformso objeto foi especificado. Nome da transformação. Para obter uma lista de transformações disponíveis, consulte a tabela Transformações compatíveis abaixo. Tipo de dados: Cadeia de caracteres |
| consulta | Consulta codificada a ser usada para filtrar o conjunto de resultados. Você pode compor a consulta usando o editor de filtros da tabela especificada. Depois de criado, selecione Copiar URL no menu de contexto de trilhas do filtro. Tipo de dados: Cadeia de caracteres Padrão: Nenhum |
| início | Obrigatório. Hora de início do período de avaliação. O valor especial todos pode ser usado para definir a hora de início como a hora atual menos o período máximo de retenção para as métricas especificadas. Um valor vazio ou ausente é tratado como implícito todos . Os valores de tempo incluem esta hora de início.Tipo de dados: Cadeia de caracteres Formato: ISO 8601 (UTC), seja:
|
| tabela | Obrigatório. Nome da tabela que contém o GlideRecord associado a esta série. 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 de REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Oferece suporte somente a application/json. |
| Tipo de conteúdo | Formato de dados do corpo da solicitação. Oferece suporte somente a 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 Códigos de resposta HTTP da REST API .
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 400 | Solicitação Incorreta. Um tipo de solicitação incorreto ou uma solicitação malformada foi detectada. |
| 401 | Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas. |
| 404 | Não encontrado. O item solicitado não foi encontrado. |
| 405 | Método inválido. A funcionalidade está desabilitada. |
| 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 ou XML)
| Nome | Descrição |
|---|---|
| resultados | Zero ou mais objetos de resultado retornam que atendem à consulta. Contém um seriesmatriz ou um groupedmatriz. Tipo de dados: Matriz |
| results.grouped | Lista de objetos de resultado agrupados, em que cada um groupedo objeto de resultado corresponde a um grupo específico. Este formato é retornado quando metrics.groupByo parâmetro é passado no corpo da solicitação. Tipo de dados: Matriz |
| results.grouped.groupingBy | Valor passado em metrics.groupByparâmetro na solicitação. Tipo de dados: Cadeia de caracteres |
| results.grouped.groups | Lista de grupos gerados com base no conteúdo do metrics.groupByparâmetro na solicitação. Tipo de dados: Matriz |
| results.grouped.groups.group | Nome do grupo. Tipo de dados: Cadeia de caracteres |
| results.grouped.groups.label | Rótulo do grupo. Tipo de dados: Cadeia de caracteres |
| results.grouped.groups.series | Valores transformados para o resultado do grupo. Tipo de dados: Matriz |
| results.grouped.groups.series.label | Rótulo da série. Tipo de dados: Cadeia de caracteres |
| results.grouped.groups.series.seriesRef | Resultados de uma única série de dados. Não aparece se houver várias séries de dados na resposta. Tipo de dados: Objeto |
| results.grouped.groups.series.seriesRef.metric | Nome da métrica da qual a série de dados foi obtida. Aparece somente se metricso objeto foi passado na solicitação. Tipo de dados: Cadeia de caracteres |
| results.grouped.groups.series.seriesRef.subject | Sys_id do registro da série de dados. Tipo de dados: Cadeia de caracteres Tabela: A tabela especificada em results.series.seriesRef.tableparâmetro. |
| results.grouped.groups.series.seriesRef.table | Nome da tabela da qual a série de dados foi obtida. Tipo de dados: Cadeia de caracteres |
| results.grouped.groups.series.values | Lista de valores de resultado do grupo. Tipo de dados: Matriz |
| results.grouped.groups.series.values.timestamp | Carimbo de data/hora ISO 8601 do valor. Tipo de dados: Cadeia de caracteres |
| results.grouped.groups.series.values.value | Valor transformado. Tipo de dados: Número |
| results.marker | Identificador exclusivo para os resultados correspondentes. Tipo de dados: Cadeia de caracteres |
| results.series | Série desagrupada de objetos de resultado. Tipo de dados: Matriz de objetos |
| results.series.label | Rótulo da série de dados. Este valor é gerado pelo endpoint ou é o valor passado no metrics.labelparâmetro. Tipo de dados: Cadeia de caracteres |
| results.series.seriesRef | Resultados de uma única série de dados. Não aparece se houver várias séries de dados na resposta. Tipo de dados: Objeto |
| results.series.seriesRef.metric | Nome da métrica da qual a série de dados foi obtida. Aparece somente se metricso objeto foi passado na solicitação. Tipo de dados: Cadeia de caracteres |
| results.series.seriesRef.subject | Sys_id do registro da série de dados. Tipo de dados: Cadeia de caracteres Tabela: Especificada em results.series.seriesRef.tableparâmetro. |
| results.series.seriesRef.table | Nome da tabela da qual a série de dados foi obtida. Tipo de dados: Cadeia de caracteres |
| results.series.values | Valores de série transformados. Tipo de dados: Matriz de objetos |
| results.series.values.timestamp | Carimbo de data/hora ISO 8601 do valor. Tipo de dados: Cadeia de caracteres |
| results.series.values.value | Valor transformado. Tipo de dados: Número |
Transformações compatíveis
| Transformação | Descrição |
|---|---|
| adicionar | Adiciona o número especificado a cada valor de carimbo de data/hora. Argumento: Arg (tipo de dados decimal) - número a ser adicionado. Por exemplo: |
| correlação automática | Calcula a correlação entre valores de carimbo de data/hora separados por um número crescente de períodos que começam em 1. |
| média | Agrega a série temporal em uma série que contém o valor médio de cada carimbo de data/hora correspondente na entrada. |
| parte inferior | Retorna o número especificado de séries que têm os valores mais baixos. Argumento: arg (Inteiro) - O número de séries a serem retornadas. Por exemplo, o seguinte retorna as duas séries temporais que contêm os conjuntos mais baixos de valores. |
| ceil | Arredonda o valor em cada carimbo de data/hora para a precisão especificada: ceil(value / <arg>) * <arg>) Argumento: Arg (tipo de dados decimal) - precisão decimal para arredondar para. |
| coletar | Exibe os resultados de transformação da cadeia de transformação até o ponto da chamada de transformação Coletar. Coletar resultados de transformação contêm um marcador exclusivo, mas você também pode definir um rótulo. Por exemplo: |
| Restringir Valores | Substitui qualquer valor fora do intervalo especificado pelo valor máximo ou mínimo correspondente. Por exemplo, se você especificou o seguinte, a transformação substituirá qualquer valor menor que 0 por 0 e qualquer valor maior que 100 por 100. Argumentos:
|
| contagem | Agrega a série temporal em uma série. A nova série contém o número de valores que não são NaN (não é um número) para cada carimbo de data/hora correspondente na série. |
| derivado | Determina a taxa de mudança entre carimbos de data/hora. Divide a diferença entre o valor em cada carimbo de data/hora e o valor no próximo carimbo de data/hora pelo período do carimbo de data/hora. Nota: Esta transformação retorna um valor a menos do que o número de valores na série. |
| div | Divide o valor em cada carimbo de data/hora pelo número especificado (arg). Argumento: Arg (decimal - o número pelo qual dividir o valor de cada carimbo de data/hora. |
| envelope | Retorna duas séries temporais, em que, a qualquer momento, uma contém o maior valor e a outra contém o menor valor. Nota: Nans são ignorados, mas são retornados se não houver outros valores de retorno. |
| exp | Eleva o valor da base especificada para o poder do valor em cada carimbo de data/hora. Argumento: Arg (tipo de dados decimal) - o valor base. |
| filtros | Aplica um agregador ao conteúdo de uma janela deslizante, como produzir uma média móvel. Argumentos:
|
| andar | Arredonda o valor em cada carimbo de data/hora para a precisão especificada: andar (valor / <arg>) * <arg> Argumento: Arg (tipo de dados decimal) - A precisão decimal para arredondar para baixo. |
| fractis | Retorna uma série temporal para cada fração na matriz especificada. Cada valor de carimbo de data/hora é o valor no qual a fração de valores especificada, para o carimbo de data/hora correspondente na série de entrada, está abaixo da porcentagem especificada. Por exemplo, se a fração for 0,5, o valor no carimbo de data/hora será o valor em que metade dos valores na série de entrada está abaixo de 0,5. Argumento: Arg (matriz de decimal) - as frações a serem usadas na série de entrada. Por exemplo: |
| groupBy | Agrupa dados pelos campos especificados antes de coletar ou aplicar transformações agregadas. Argumento: Arg (cadeia de caracteres) - Uma lista separada por vírgulas de campos na tabela a ser usada para agrupar os resultados da transformação. Por exemplo: |
| integrar | Multiplica o valor em cada carimbo de data/hora por seu período. |
| interpolar | Cria um valor de dados para um item de dados NaN interpolando valores de dados adjacentes. Argumento: Arg (inteiro) - Número de amostras de dados em cada direção para verificar se há um valor não NaN. Se um valor não NaN não for encontrado, NaN será usado. |
| inverso | Calcula o inverso de cada valor de carimbo de data/hora. |
| iqr | Executa uma transformação de intervalo interquartil e cria um conjunto de resultados que contém quatro séries:
Nota: Q3 - Q1 |
| rótulo | Rotula uma cadeia de transformação. Nota: Transformações subsequentes podem modificar ou substituir o rótulo. Argumento: Arg (cadeia de caracteres) - Texto do rótulo. Pode conter as seguintes expressões de formatação:
Por exemplo:
|
| limite | Retorna, no máximo, a duração especificada ou o número de valores, começando com o valor salvo mais recentemente. Argumentos:
|
| log | Executa um logaritmo no valor em cada carimbo de data/hora em que o resultado é o log da base especificada para o valor de carimbo de data/hora. Argumento: Arg (tipo de dados decimal) - Base para o cálculo do logaritmo. |
| MapValues | Substitui todos os valores dentro do intervalo especificado (inclusive) pelo valor especificado. Se ambos lowerBounde. upperBoundSão especificados como NaN e, em seguida, substituem qualquer valor NaN pelo targetValue. Argumentos:
Por exemplo, o seguinte muda todos os valores na série temporal que estão entre .1 e .9 a 1: |
| máx. | Retorna uma série que contém o valor máximo para cada carimbo de data/hora correspondente na entrada. |
| mediana | Cria uma série que contém a mediana de valores para cada carimbo de data/hora em um conjunto de séries. Se houver n série:
|
| mín | Retorna uma série que contém o valor mínimo para cada carimbo de data/hora correspondente na entrada. |
| mul | Multiplica o valor em cada carimbo de data/hora pelo número especificado. Argumento: Arg (tipo de dados decimal) - número pelo qual multiplicar o valor de cada carimbo de data/hora. |
| partição | Produz uma nova série com valores filtrados aplicando um agregador especificado a uma janela não sobreposta. Argumentos:
|
| pow | Aumenta cada valor de carimbo de data/hora para a energia especificada. Argumento: Arg (tipo de dados decimal) - Potência para a qual aumentar cada valor. |
| Produto | Agrega a série de métricas selecionada em uma única série que contém o produto de todos os valores de cada carimbo de data/hora. Nans são excluídos. Se todos os números da série forem NaN, a saída também será NaN. |
| reamostrar | Reamostra uma série temporal para um número fixo de pontos ou de uma frequência para outra. Use a transformação de reamostragem para reduzir o número de amostras no conjunto de resultados para corresponder mais ao número de amostras que você deseja exibir. Argumentos: Você pode passar vários argumentos para esta transformação. Abaixo está uma lista de cada um dos grupos de argumentos possíveis. Somente um desses grupos de argumentos pode ser passado em uma única transformação. Os seguintes grupos de argumentos são delineados por E/OU. E significa que o argumento faz parte do grupo atual; OU significa que é o início de um novo grupo de argumentos.
|
| arredondar | Arredonda o valor em cada carimbo de data/hora para a precisão especificada: (value / <arg>) * <arg> Argumento: Arg (tipo de dados decimal) - A precisão decimal para arredondar para. |
| raiz | Calcula a raiz de cada valor de carimbo de data/hora usando o índice especificado. Argumento: Arg (tipo de dados decimal) - o índice da raiz. Por exemplo, o seguinte retorna a raiz quadrada de cada carimbo de data/hora: |
| desv. padrão | Cria uma série que contém o desvio padrão de valores para cada carimbo de data/hora em um conjunto de séries. |
| sub | Subtrai o número especificado do valor em cada carimbo de data/hora. Argumento: Arg (número) - O número a ser subtraído do valor em cada carimbo de data/hora. |
| soma | Agrega a série de métricas selecionada em uma série que contém a soma de todos os valores de cada carimbo de data/hora, excluindo quaisquer Nans. Se todos os números da série forem NaN, a saída será NaN. |
| timeshift | Muda o intervalo de tempo adicionando o deslocamento especificado ao carimbo de data/hora de um valor sem modificar o valor. Use esta transformação para mudar carimbos de data/hora para outro fuso horário. Argumento: Arg (tipo de dados de duração) - a quantidade de tempo para mudar. |
| superior | Retorna o número especificado de séries que têm os valores mais altos. Argumento: Arg (inteiro) - o número de séries a serem retornadas. Por exemplo, o seguinte retorna as duas séries temporais que contêm os conjuntos mais altos de valores. |
| Tipo de dados | Descrição |
|---|---|
| Agregador | Agregadores disponíveis para usar na transformação.
|
| DateTime | Valores absolutos de data/hora são especificados pelo formato de data e hora ISO 8601: AAAA-MM-DDThh:mm:ss . Por exemplo: 2020-02-28T13:10:42.Em que:
Os valores relativos de data/hora são especificados usando uma duração (tipo de dados de duração), que é subtraído da hora atual. Por exemplo: P7D: Sete dias atrás. |
| Decimal | Valor decimal que pode ser:
|
| Duração | Quantidade de tempo em um intervalo de tempo. Os valores de duração são especificados pelo formato de duração ISO 8601: P[n]Y[n]M[n]DT[n]H[n]M[n]S[n]S. Em que:
Por exemplo:
|
Solicitação de curl
curl "https://instance.servicenow.com/api/now/v1/clotho/transform \
--request POST \
--header "Accept:application/json", "Content-Type:application/json" \
--user "username":"password"
-d {\
"start": "PT15M",\
"end": "",\
"table": "mb_demo_drone",\
"query": "fleet.nameSTARTSWITHB",\
"limit": 5000,\
"metrics": [\
{\
"metric": "mb_demo_mt_altitude",\
"label": "Series - Avg",\
"transforms": [\
{\
"name": "partition",\
"arg": {\
"aggregator": "AVG",\
"window": "PT5M"\
}\
},
{\
"name": "avg"\
}\
]\
},
{\
"metric": "mb_demo_mt_altitude",\
"groupBy": "fleet",\
"label": "Fleet - AVG",\
"transforms": [\
{\
"name": "partition",\
"arg": {\
"aggregator": "AVG",\
"window": "PT5M"\
}\
},
{\
"name": "avg"\
}\
]\
}\
]\
} \
Saída:
"results:" [
{
"marker": "674d86ba-a810-4065-942b-0b7ca2f95db2",
"series": [
{
"label": "Series - Avg",
"values": [
{
"timestamp": "2020-05-01T21:05:00Z",
"value": 157.43086
},
{
"timestamp": "2020-05-01T21:10:00Z",
"value": 162.92278
}
]
}
]
},
{
"marker": "846aa334-232a-4015-b033-d18ebc4b1d23",
"grouped": [
{
"groupingBy": "fleet",
"groups": [
{
"group": "86fac11787333200a328c5b836cb0b4e",
"label": "Bantams",
"series": {
"label": "Fleet - AVG",
"values": [
{
"timestamp": "2020-05-01T21:05:00Z",
"value": 159.70201
},
{
"timestamp": "2020-05-01T21:10:00Z",
"value": 165.1136
}
]
}
},
{
"group": "4afac11787333200a328c5b836cb0b4e",
"label": "Bumble Untd",
"series": {
"label": "Fleet - AVG",
"values": [
{
"timestamp": "2020-05-01T21:05:00Z",
"value": 154.5403
},
{
"timestamp": "2020-05-01T21:10:00Z",
"value": 160.13445
}
]
}
}
]
}
]
}
]
MetricBase Time Series - POST /now/clotho/transform/stream
Retorna um fluxo de dados de série temporal transformados para uma ou mais métricas depois de aplicar a lista especificada de transformações.
O streaming de dados dessa maneira permite que você processe os dados conforme transformações individuais são concluídas e retornadas, em vez de esperar que todos os resultados da transformação sejam concluídos e baixados. Se grandes quantidades de dados precisarem ser processadas pelo cliente, esse tipo de processamento reduz o tempo de processamento de ponta a ponta e potencialmente reduz o uso de memória no cliente.
- Especificar os dados transmitidos a serem codificados em um formato binário,
- Serialize dados transmitidos em uma matriz JSON ou
- Transmitir dados de volta para o cliente em um formato CSV amplo ou estreito.
Formato de URL
URL com controle de versão: /api/now//clotho/transform/stream
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | Opcional. Versão do endpoint a ser acessado. 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 |
|---|---|
| sysparm_display_value | Sinalizador que indica se rotular os dados do resultado com o valor de exibição do registro do assunto se nenhum outro rótulo for especificado. Valores válidos:
Tipo de dados: Booliano Padrão: falso |
| Nome | Descrição |
|---|---|
| término | Obrigatório. Hora de término do período de avaliação. Um valor vazio ou ausente é tratado como a hora atual. Os valores de tempo incluem esta hora de término. Tipo de dados: Cadeia de caracteres Formato: ISO 8601 (UTC), seja:
|
| limite | Número máximo de registros a serem retornados. Valores excepcionalmente grandes podem afetar o desempenho do sistema. Tipo de dados: Número Padrão: 10.000 |
| métricas | Lista de objetos de métrica a serem usados na transformação. Para obter mais informações sobre métricas, consulte Métricas . Tipo de dados: Matriz |
| metrics.label | Rótulo a ser usado para o conjunto de resultados desta métrica. Substitui todos os rótulos gerados pela cadeia de transformação. Tipo de dados: Cadeia de caracteres Rótulo padrão: Rótulo padrão gerado. |
| metrics.metric | Necessário se metricso objeto foi aprovado. Campo de métrica a ser usado na transformação. Este campo deve estar na tabela especificada em tableparâmetro. Tipo de dados: Cadeia de caracteres |
| metrics.transformações | Lista de transformações (cadeia de transformação) a serem aplicadas aos dados da série temporal recuperados. Cada transformação se baseia nos resultados da transformação anterior. Para obter uma lista de transformações disponíveis, consulte Transformações compatíveis abaixo. Tipo de dados: Matriz de objetos |
| metrics.transformações.arg | Dependente da transformação. Parâmetro ou parâmetros a serem passados para a transformação. Diretrizes gerais:
Tipo de dados: Número, cadeia de caracteres, booliano ou objeto JSON, dependendo da transformação. (Para obter uma lista de transformações disponíveis, consulte a tabela Transformações compatíveis abaixo.) |
| metrics.transforms.name | Necessário se for um transformso objeto foi especificado. Nome da transformação. Para obter uma lista de transformações disponíveis, consulte a tabela Transformações compatíveis abaixo. Tipo de dados: Cadeia de caracteres |
| consulta | Consulta codificada a ser usada para filtrar o conjunto de resultados. Você pode compor a consulta usando o editor de filtros da tabela especificada. Depois de criado, selecione Copiar URL no menu de contexto de trilhas do filtro. Tipo de dados: Cadeia de caracteres Padrão: Nenhum |
| início | Obrigatório. Hora de início do período de avaliação. O valor especial todos pode ser usado para definir a hora de início como a hora atual menos o período máximo de retenção para as métricas especificadas. Um valor vazio ou ausente é tratado como implícito todos . Os valores de tempo incluem esta hora de início.Tipo de dados: Cadeia de caracteres Formato: ISO 8601 (UTC), seja:
|
| tabela | Obrigatório. Nome da tabela que contém o GlideRecord associado a esta série. 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 de REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. O oferece suporte ao seguinte:
texto/csv; formato estreito ou texto/csv; formato largo . |
| Tipo de conteúdo | Formato de dados do corpo da solicitação. Oferece suporte somente a application/json. |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) | Formato de dados do corpo da resposta. Com base nos valores de aceitação especificados da solicitação, use:
Se vários tipos de aceitação forem especificados, o primeiro tipo compatível será retornado. |
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 Códigos de resposta HTTP da REST API .
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso e os dados começará a transmissão. Nota: Uma resposta 200 ainda pode incorrer em um erro de processamento de midstream conforme as transformações são calculadas. |
| 400 | Solicitação Incorreta. Um tipo de solicitação incorreto ou uma solicitação malformada foi detectada. |
| 401 | Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas. |
| 404 | Não encontrado. O item solicitado não foi encontrado. |
| 405 | Método inválido. A funcionalidade está desabilitada. |
| 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 (octet-stream ou JSON)
| Nome | Descrição |
|---|---|
| Fluxo de saída (octeto-Stream) | Se o cabeçalho Aceitar solicitação estiver definido como application/octet-stream, Os dados do MetricBase correspondentes são retornados como um fluxo binário serializado. O Clotho-Util para aplicações Java fornece um desserializador que permite analisar esses dados. O fluxo consiste em uma serialização binária de cada datum, precedida por um número inteiro que representa seu comprimento. As entradas a seguir descrevem os dados na representação binária e a ordem desses dados. |
| Fluxo CSV (fluxo UTF-8) | Se o cabeçalho Aceitar solicitação estiver definido como text/csv, Os dados do MetricBase correspondentes são retornados como dados CSV codificados em UTF-8 em formatos amplos ou estreitos. Um formato estreito retorna colunas de assunto e carimbo de data/hora e uma coluna para cada métrica retornada. Um formato amplo retorna uma coluna de carimbo de data/hora com uma coluna separada para cada par de métrica/assunto. |
| Assunto | Origem dos dados. Por exemplo, se a métrica dos dados for altitudes do drone, esse valor poderá ser o ID de um drone específico. Se dois pontos forem incluídos no valor, as partes após o assunto representarão a métrica da qual os dados fazem parte. Valores nulos são representados por uma cadeia de caracteres vazia codificada. Tipo de dados: Cadeia de caracteres (UTF modificado por Java) Tamanho: Mais de 2 bytes |
| Dimensão | Métrica de origem dos dados. Valores nulos são representados por uma cadeia de caracteres vazia codificada. Tipo de dados: Cadeia de caracteres (UTF modificado por Java) Tamanho: Mais de 2 bytes |
| Rótulo | Rótulo dos dados. Valores nulos são representados por uma cadeia de caracteres vazia codificada. Tipo de dados: Cadeia de caracteres (UTF modificado por Java) Tamanho: Mais de 2 bytes |
| Tipo | Tipo de dados codificados em um byte. Valores possíveis:
Tipo de dados: Byte Tamanho: 1 byte |
| Sinalizadores | Codificado serializeFlagsvariável. Se serializeTagse os dados contêm marcadores, o valor é 2, caso contrário, será 0. Tipo de dados: Byte Tamanho: 1 byte |
| Período | Período associado aos dados. Tipo de dados: Número (inteiro) Tamanho: 4 bytes |
| Número de marcadores | Se serializeTagsé verdadeiro, então este é o número de marcadores armazenados nos dados. Tipo de dados: Número (inteiro) Tamanho: 4 bytes |
| Marcadores | Se serializeTagsé verdadeiro, cada marcador é armazenado nos dados. Tipo de dados: Cadeia de caracteres (UTF modificado por Java) Tamanho: Depende do número de marcadores (mais de 2 bytes). |
| Époch em segundo | Hora UTC da época que representa a hora de início desta série de dados. Tipo de dados: Número (longo) Tamanho: 8 bytes |
| Número de valores | Número de valores armazenados nesses dados. Tipo de dados: Número (inteiro) Tamanho: 4 bytes |
| Valores | Se Type. Sinal flutuante , em seguida, o restante consiste em valores flutuantes. Tamanho: Number of Values* 4 Tipo de dados: Número (flutuante) |
| Valores | Se Type. Sinal duplo , em seguida, o restante consiste em valores duplos. Tipo de dados: Número (duplo) Tamanho: Number of Values* 4 bytes |
| Modelo JSON (Modelo) | Se Type. Modelo flutuante ou Modelo duplo , O restante é uma cadeia de caracteres UTF modificada do Java que representa o modelo como JSON. Tipo de dados: Cadeia de caracteres (UTF modificado por Java) Tamanho: Mais de 2 bytes |
| Marcador de modelo grande (modelo grande) | Se o tamanho do JSON do modelo for maior que 65 535 bytes, este campo será gravado em vez de Model Json. Tipo de dados: Cadeia de caracteres (UTF modificado por Java) Tamanho: 5 |
| Tamanho do modelo grande (modelo grande) | Tamanho da representação JSON do modelo grande. Tipo de dados: Número (inteiro) Tamanho: 4 bytes |
| JSON de modelo grande (modelo grande) | Representação JSON do modelo como uma série de caracteres UTF, o tamanho é ditado pelo Big Model Sizecampo. Tipo de dados: Cadeia de caracteres (caracteres UTF) Tamanho: 65535-256000 bytes |
| Fluxo JSON (JSON) | Se o cabeçalho Aceitar solicitação estiver definido como application/json, Os dados correspondentes do MetricBase são retornados como um fluxo de novos objetos JSON separados por linha. As entradas a seguir descrevem os elementos possíveis em cada objeto retornado. |
| rótulo | Rótulo dos dados. Este valor é gerado pelo endpoint ou é o valor passado no metrics.labelparâmetro. Tipo de dados: Cadeia de caracteres |
| período | Tempo entre cada valor. Por exemplo, um período de 60 significaria que cada valor tem um minuto de intervalo. Tipo de dados: Número Unidade: segundos |
| intervalo | Horas de início e término dos dados Tipo de dados: Matriz Formato: ISO 8601 (UTC) |
| série | Identifica os dados individuais. Se presente, normalmente está na forma de [id do registro do glide]:[métrica] . Isso pode não estar presente ao usar transformações.Tipo de dados: Cadeia de caracteres |
| espécie | Tipo de dados de retorno. Para uma série de valores flutuantes ou duplos, isso é FLOAT_SIGNAL ou DOUBLE_SIGNAL. Para um modelo destinado a analisar dados flutuantes ou duplos, isso é FLOAT_MODEL ou DOUBLE_MODEL. Tipo de dados: Cadeia de caracteres |
| marcadores | Marcadores associados aos dados. Tipo de dados: Matriz de cadeias de caracteres |
| valor | Valores flutuantes ou duplos para os dados. Tipo de dados: Matriz de números |
| erro | Mensagem de erro se a transformação da série de dados especificada falhar. Tipo de dados: Cadeia de caracteres |
Transformações compatíveis
| Transformação | Descrição |
|---|---|
| adicionar | Adiciona o número especificado a cada valor de carimbo de data/hora. Argumento: Arg (tipo de dados decimal) - número a ser adicionado. Por exemplo: |
| correlação automática | Calcula a correlação entre valores de carimbo de data/hora separados por um número crescente de períodos que começam em 1. |
| média | Agrega a série temporal em uma série que contém o valor médio de cada carimbo de data/hora correspondente na entrada. |
| parte inferior | Retorna o número especificado de séries que têm os valores mais baixos. Argumento: arg (Inteiro) - O número de séries a serem retornadas. Por exemplo, o seguinte retorna as duas séries temporais que contêm os conjuntos mais baixos de valores. |
| ceil | Arredonda o valor em cada carimbo de data/hora para a precisão especificada: ceil(value / <arg>) * <arg>) Argumento: Arg (tipo de dados decimal) - precisão decimal para arredondar para. |
| coletar | Exibe os resultados de transformação da cadeia de transformação até o ponto da chamada de transformação Coletar. Coletar resultados de transformação contêm um marcador exclusivo, mas você também pode definir um rótulo. Por exemplo: |
| Restringir Valores | Substitui qualquer valor fora do intervalo especificado pelo valor máximo ou mínimo correspondente. Por exemplo, se você especificou o seguinte, a transformação substituirá qualquer valor menor que 0 por 0 e qualquer valor maior que 100 por 100. Argumentos:
|
| contagem | Agrega a série temporal em uma série. A nova série contém o número de valores que não são NaN (não é um número) para cada carimbo de data/hora correspondente na série. |
| derivado | Determina a taxa de mudança entre carimbos de data/hora. Divide a diferença entre o valor em cada carimbo de data/hora e o valor no próximo carimbo de data/hora pelo período do carimbo de data/hora. Nota: Esta transformação retorna um valor a menos do que o número de valores na série. |
| div | Divide o valor em cada carimbo de data/hora pelo número especificado (arg). Argumento: Arg (decimal - o número pelo qual dividir o valor de cada carimbo de data/hora. |
| envelope | Retorna duas séries temporais, em que, a qualquer momento, uma contém o maior valor e a outra contém o menor valor. Nota: Nans são ignorados, mas são retornados se não houver outros valores de retorno. |
| exp | Eleva o valor da base especificada para o poder do valor em cada carimbo de data/hora. Argumento: Arg (tipo de dados decimal) - o valor base. |
| filtros | Aplica um agregador ao conteúdo de uma janela deslizante, como produzir uma média móvel. Argumentos:
|
| andar | Arredonda o valor em cada carimbo de data/hora para a precisão especificada: andar (valor / <arg>) * <arg> Argumento: Arg (tipo de dados decimal) - A precisão decimal para arredondar para baixo. |
| fractis | Retorna uma série temporal para cada fração na matriz especificada. Cada valor de carimbo de data/hora é o valor no qual a fração de valores especificada, para o carimbo de data/hora correspondente na série de entrada, está abaixo da porcentagem especificada. Por exemplo, se a fração for 0,5, o valor no carimbo de data/hora será o valor em que metade dos valores na série de entrada está abaixo de 0,5. Argumento: Arg (matriz de decimal) - as frações a serem usadas na série de entrada. Por exemplo: |
| groupBy | Agrupa dados pelos campos especificados antes de coletar ou aplicar transformações agregadas. Argumento: Arg (cadeia de caracteres) - Uma lista separada por vírgulas de campos na tabela a ser usada para agrupar os resultados da transformação. Por exemplo: |
| integrar | Multiplica o valor em cada carimbo de data/hora por seu período. |
| interpolar | Cria um valor de dados para um item de dados NaN interpolando valores de dados adjacentes. Argumento: Arg (inteiro) - Número de amostras de dados em cada direção para verificar se há um valor não NaN. Se um valor não NaN não for encontrado, NaN será usado. |
| inverso | Calcula o inverso de cada valor de carimbo de data/hora. |
| iqr | Executa uma transformação de intervalo interquartil e cria um conjunto de resultados que contém quatro séries:
Nota: Q3 - Q1 |
| rótulo | Rotula uma cadeia de transformação. Nota: Transformações subsequentes podem modificar ou substituir o rótulo. Argumento: Arg (cadeia de caracteres) - Texto do rótulo. Pode conter as seguintes expressões de formatação:
Por exemplo:
|
| limite | Retorna, no máximo, a duração especificada ou o número de valores, começando com o valor salvo mais recentemente. Argumentos:
|
| log | Executa um logaritmo no valor em cada carimbo de data/hora em que o resultado é o log da base especificada para o valor de carimbo de data/hora. Argumento: Arg (tipo de dados decimal) - Base para o cálculo do logaritmo. |
| MapValues | Substitui todos os valores dentro do intervalo especificado (inclusive) pelo valor especificado. Se ambos lowerBounde. upperBoundSão especificados como NaN e, em seguida, substituem qualquer valor NaN pelo targetValue. Argumentos:
Por exemplo, o seguinte muda todos os valores na série temporal que estão entre .1 e .9 a 1: |
| máx. | Retorna uma série que contém o valor máximo para cada carimbo de data/hora correspondente na entrada. |
| mediana | Cria uma série que contém a mediana de valores para cada carimbo de data/hora em um conjunto de séries. Se houver n série:
|
| mín | Retorna uma série que contém o valor mínimo para cada carimbo de data/hora correspondente na entrada. |
| mul | Multiplica o valor em cada carimbo de data/hora pelo número especificado. Argumento: Arg (tipo de dados decimal) - número pelo qual multiplicar o valor de cada carimbo de data/hora. |
| partição | Produz uma nova série com valores filtrados aplicando um agregador especificado a uma janela não sobreposta. Argumentos:
|
| pow | Aumenta cada valor de carimbo de data/hora para a energia especificada. Argumento: Arg (tipo de dados decimal) - Potência para a qual aumentar cada valor. |
| Produto | Agrega a série de métricas selecionada em uma única série que contém o produto de todos os valores de cada carimbo de data/hora. Nans são excluídos. Se todos os números da série forem NaN, a saída também será NaN. |
| reamostrar | Reamostra uma série temporal para um número fixo de pontos ou de uma frequência para outra. Use a transformação de reamostragem para reduzir o número de amostras no conjunto de resultados para corresponder mais ao número de amostras que você deseja exibir. Argumentos: Você pode passar vários argumentos para esta transformação. Abaixo está uma lista de cada um dos grupos de argumentos possíveis. Somente um desses grupos de argumentos pode ser passado em uma única transformação. Os seguintes grupos de argumentos são delineados por E/OU. E significa que o argumento faz parte do grupo atual; OU significa que é o início de um novo grupo de argumentos.
|
| arredondar | Arredonda o valor em cada carimbo de data/hora para a precisão especificada: (value / <arg>) * <arg> Argumento: Arg (tipo de dados decimal) - A precisão decimal para arredondar para. |
| raiz | Calcula a raiz de cada valor de carimbo de data/hora usando o índice especificado. Argumento: Arg (tipo de dados decimal) - o índice da raiz. Por exemplo, o seguinte retorna a raiz quadrada de cada carimbo de data/hora: |
| desv. padrão | Cria uma série que contém o desvio padrão de valores para cada carimbo de data/hora em um conjunto de séries. |
| sub | Subtrai o número especificado do valor em cada carimbo de data/hora. Argumento: Arg (número) - O número a ser subtraído do valor em cada carimbo de data/hora. |
| soma | Agrega a série de métricas selecionada em uma série que contém a soma de todos os valores de cada carimbo de data/hora, excluindo quaisquer Nans. Se todos os números da série forem NaN, a saída será NaN. |
| timeshift | Muda o intervalo de tempo adicionando o deslocamento especificado ao carimbo de data/hora de um valor sem modificar o valor. Use esta transformação para mudar carimbos de data/hora para outro fuso horário. Argumento: Arg (tipo de dados de duração) - a quantidade de tempo para mudar. |
| superior | Retorna o número especificado de séries que têm os valores mais altos. Argumento: Arg (inteiro) - o número de séries a serem retornadas. Por exemplo, o seguinte retorna as duas séries temporais que contêm os conjuntos mais altos de valores. |
| Tipo de dados | Descrição |
|---|---|
| Agregador | Agregadores disponíveis para usar na transformação.
|
| DateTime | Valores absolutos de data/hora são especificados pelo formato de data e hora ISO 8601: AAAA-MM-DDThh:mm:ss . Por exemplo: 2020-02-28T13:10:42.Em que:
Os valores relativos de data/hora são especificados usando uma duração (tipo de dados de duração), que é subtraído da hora atual. Por exemplo: P7D: Sete dias atrás. |
| Decimal | Valor decimal que pode ser:
|
| Duração | Quantidade de tempo em um intervalo de tempo. Os valores de duração são especificados pelo formato de duração ISO 8601: P[n]Y[n]M[n]DT[n]H[n]M[n]S[n]S. Em que:
Por exemplo:
|
Solicitação de curl
O exemplo a seguir mostra como chamar esse endpoint para retornar um fluxo JSON para métricas na tabela mb_demo_drone. Observação: Embora os objetos neste exemplo sejam expandidos para várias linhas para legibilidade, em um resultado real, cada objeto retornado está em sua própria linha. Você pode fazer a mesma chamada e retornar um fluxo de octeto definindo --header "accept:application/octet-stream" .
curl "localhost:8080/api/now/v1/clotho/transform/stream" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--user "username":"password" \
-d "{\
\"start\": \"PT5M\",\
\"end\": \"\",\
\"table\": \"mb_demo_drone\",\
\"query\": \"fleet.nameSTARTSWITHB\",\
\"limit\": 5000,\
\"metrics\": [\
{\
\"metric\": \"mb_demo_mt_altitude\",\
\"label\": \"Series - Avg\",\
\"transforms\": [\
{\
\"name\": \"partition\",\
\"arg\": {\
\"aggregator\": \"AVG\",\
\"window\": \"PT5M\"\
}\
},
{\
\"name\": \"avg\"\
}\
]\
},
{\
\"metric\": \"mb_demo_mt_altitude\",\
\"groupBy\": \"fleet\",\
\"label\": \"Fleet - AVG\",\
\"transforms\": [\
{\
\"name\": \"partition\",\
\"arg\": {\
\"aggregator\": \"AVG\",\
\"window\": \"PT5M\"\
}\
},
{\
\"name\": \"avg\"\
}\
]\
}\
]\
}"
Resposta:
[
{
"label": "Series - Avg",
"tags": [
"#4fb1114f-2426-4acb-8e3e-6435dd62134c"
],
"species": "DOUBLE_SIGNAL",
"range": [
"2022-06-16T17:50:00Z",
"2022-06-16T17:50:00Z"
],
"values": [
132.86805196126303
],
"period": 300
},
{
"label": "Fleet - AVG",
"tags": [
":fleet:86fac11787333200a328c5b836cb0b4e:Bantams",
"#6641aab4-c55f-4d11-8846-26b0b706ec1c"
],
"species": "DOUBLE_SIGNAL",
"range": [
"2022-06-16T17:50:00Z",
"2022-06-16T17:50:00Z"
],
"values": [
134.3775875908988
],
"period": 300
},
{
"label": "Fleet - AVG",
"tags": [
"#6641aab4-c55f-4d11-8846-26b0b706ec1c",
":fleet:4afac11787333200a328c5b836cb0b4e:Bumble Untd"
],
"species": "DOUBLE_SIGNAL",
"range": [
"2022-06-16T17:50:00Z",
"2022-06-16T17:50:00Z"
],
"values": [
129.02530271356756
],
"period": 300
}
]
O exemplo de cURL a seguir usa a opção de formato CSV para transmitir de volta os valores de altitude (armazenados no banco de dados como "mb_demo_mt_altitude") do último dia para cada drone armazenado na tabela mb_demo_drone [drones] do plug-in Metricbase Demo. No exemplo, os dados são retornados em um formato de tabela estreito com três colunas: O sys_id do assunto que identifica o drone, o carimbo de data/hora do valor e o valor da altitude.
curl "https://instance.servicenow.com/api/now/v1/clotho/transform/stream" \
--request POST \
--header "Accept:text/csv;format=narrow" \
--header "Content-Type:application/json" \
--user "user name":"password" \
-d "{\
\"start\": \"P1D\",\
\"end\": \"\",\
\"table\": \"mb_demo_drone\",\
\"metrics\": [\
{\
\"metric\": \"mb_demo_mt_altitude\",\
\"transforms\": []\
}]\
}"
Saída:
Subject, Timestamp,"mb_demo_drone|mb_demo_mt_altitude"
"a66b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,92.84400939941406
"a66b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,92.2428970336914
"6a6b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,92.0076904296875
"ea6b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,97.3113021850586
"a66b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,108.49791717529297
"6a6b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,109.04239654541016
"6a6b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,93.72159576416016
"ee6b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,107.69989776611328
"ee6b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,100.86473083496094
"ee6b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,95.77774047851562
"666b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,105.19712829589844
"666b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,105.92308807373047
"6e6b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,93.59339141845703
"666b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,94.51266479492188
"e26b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,105.4367904663086
"6e6b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,94.64836883544922
"6e6b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,94.78523254394531
"e26b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,96.99283599853516
"aa6b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,106.67017364501953
"e26b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,94.2446517944336
"aa6b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,91.659912109375
"226b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,99.5401840209961
"226b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,98.13501739501953
"226b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,92.2428970336914
"226b051787333200a328c5b836cb0b90",2022-11-07T22:35:00Z,106.41876983642578
"aa6b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,107.69989776611328
"626b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,92.96666717529297
"e66b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,93.85079193115234
"e66b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,96.07303619384766
"e66b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,98.47595977783203
"2a6b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,95.9247055053711
"226b051787333200a328c5b836cb0b9a",2022-11-07T22:35:00Z,99.5401840209961
"2a6b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,103.1417465209961
"2a6b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,96.99283599853516
"ae6b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,94.64836883544922
"ae6b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,101.8689956665039
"ae6b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,107.4388198852539
"a26b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,94.78523254394531
"266b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,94.51266479492188
"2e6b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,108.49791717529297
"2e6b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,97.15129852294922
"2e6b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,103.36128997802734
"a26b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,100.47681427001953
"266b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,103.5830078125
"266b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,97.3113021850586
"a26b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,105.92308807373047
"ea6b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,95.34477996826172
"ea6b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,100.47681427001953
"626b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,100.86473083496094
"626b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,106.9239730834961
MetricBase Time Series - POST /now/clotho/put
Adiciona dados de série temporal ao MetricBase banco de dados.
Formato de URL
URL com controle de versão: /api/now//clotho/put
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | Versão do endpoint a ser acessado. 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 |
|---|---|
| sysparm_ignore_unknown_series | Sinalizador que indica se uma série desconhecida deve ser ignorada e continuar a transação sem retornar um erro. Valores válidos:
Padrão: verdadeiro |
| Nome | Descrição |
|---|---|
| SeriesRef | Obrigatório. Informações a serem atualizadas. Tipo de dados: Matriz de objetos |
| SeriesRef.métrica | Obrigatório. Nome da métrica a ser atualizada. Tipo de dados: Cadeia de caracteres |
| SeriesRef.Assunto | Obrigatório. Sys_id do registro no qual os dados serão atualizados. Tipo de dados: Cadeia de caracteres Tabela: Especificada em seriesRef.tableparâmetro. |
| SeriesRef.table | Obrigatório. Nome da tabela na qual os dados serão salvos. Tipo de dados: Cadeia de caracteres |
| valores | Obrigatório. Valores de série a serem armazenados. Tipo de dados: Matriz |
| values.carimbo de data/hora | Obrigatório. Carimbo de data/hora ISO 8601 do valor. Tipo de dados: Cadeia de caracteres Formato: O final "Z", que indica o fuso horário UTC em um carimbo de data/hora no formato ISO, é opcional. |
| values.value | Obrigatório. Valor da métrica. Tipo de dados: Número |
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 de REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Oferece suporte somente a application/json. |
| Tipo de conteúdo | Formato de dados do corpo da solicitação. Oferece suporte somente a 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 Códigos de resposta HTTP da REST API .
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 401 | Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas. |
| 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 ou XML)
| Nome | Descrição |
|---|---|
| mensagem | Mensagem que indica o status da solicitação, como ok se a solicitação foi processada com sucesso. |
Solicitação de curl
curl "https://instance.servicenow.com/api/now/v1/clotho/put" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"seriesRef\": {
\"subject\": \"3D666b051787333200a328c5b836cb0b92\",
\"table\": \"mb_demo_drone\",
\"metric\": \"mb_demo_mt_altitude\"
},
\"values\": [
{
\"timestamp\": \"2019-03-21T17:05:00Z\",
\"value\": 0.150185
},
{
\"timestamp\": \"2019-03-21T17:06:00Z\",
\"value\": 0.46074
},
{
\"timestamp\": \"2019-03-21T17:07:00Z\",
\"value\": 0.83104
},
{
\"timestamp\": \"2019-03-21T17:08:00Z\",
\"value\": 1.260635
},
{
\"timestamp\": \"2019-03-21T17:09:00Z\",
\"value\": 1.749
}
]
}" \
--user "username":"password"
{
"result": {
"message": "ok"
}
}