Skip to content

REST API to interact with the Analytic Toolkit. It provides consistent access to its resources: nodes, use-cases, estimator and history.

License

Notifications You must be signed in to change notification settings

astrid-project/analytic-toolkit-apis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Analytic Toolkit REST API v2.0.0

Scroll down for example requests and responses.

Base URLs:

License: Apache License 2.0

nodes

create/read/update/delete operations on nodes

get all nodes

GET /nodes

Return list of all nodes currently managed

Example responses

200 Response

[
  {
    "node-id": "Genoa-Erzelli",
    "area": "Genoa",
    "type": "NTP",
    "use-case": [
      "NTP1",
      "NTP2"
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request NodeConfigList
default Default Unexpected error Error
This operation does not require authentication

manage new node

POST /nodes

Manage a new node identified by a new {id}

Body parameter

{
  "node-id": "Genoa-Erzelli",
  "area": "Genoa",
  "type": "NTP",
  "use-case": [
    "NTP1",
    "NTP2"
  ]
}

Parameters

Name In Type Required Description
body body NodeConfig true none

Example responses

default Response

{
  "code": "500",
  "message": "Internal application error"
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request None
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

delete all use ndoes

DELETE /nodes

Remove all nodes from the list of managed nodes

Example responses

default Response

{
  "code": "500",
  "message": "Internal application error"
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request None
default Default Unexpected error Error
This operation does not require authentication

get node by id

GET /nodes/{id}

Detailed information for a specific node {id}

Parameters

Name In Type Required Description
id path string true The name of the node to retrieve

Example responses

200 Response

{
  "node-id": "Genoa-Erzelli",
  "area": "Genoa",
  "type": "NTP",
  "use-case": [
    "NTP1",
    "NTP2"
  ]
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request NodeConfig
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

update node by name

POST /nodes/{id}

Update information for a given node {id}

Body parameter

{
  "node-id": "Genoa-Erzelli",
  "area": "Genoa",
  "type": "NTP",
  "use-case": [
    "NTP1",
    "NTP2"
  ]
}

Parameters

Name In Type Required Description
id path string true The id of the node to update
body body NodeConfig true none

Example responses

default Response

{
  "code": "500",
  "message": "Internal application error"
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request None
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

delete node by id

DELETE /nodes/{id}

Remove node by its {id} from the managed nodes

Parameters

Name In Type Required Description
id path string true The name of the node to delete

Example responses

default Response

{
  "code": "500",
  "message": "Internal application error"
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request None
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

use-cases

create/read/update/delete operations on use-cases

get all use-cases

GET /use-cases

Return list of use-cases currently managed

Example responses

200 Response

[
  {
    "uc-id": "NTP",
    "forecast-parameters": [
      {
        "id": "NTP_volume",
        "threshold": 474
      }
    ],
    "detection-parameters": [
      {
        "id": "NTP_monlist",
        "area-detection-percentage": {
          "value": 11
        },
        "type-detection-percentage": {
          "value": 11
        },
        "area-correlation-percentage": {
          "value": 11
        },
        "type-correlation-percentage": {
          "value": 11
        },
        "threshold": 474,
        "histeresys": 3
      }
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request UseCaseList
default Default Unexpected error Error
This operation does not require authentication

manage a new use-case

POST /use-cases

Manage a new use-case identified by a new {id}

Body parameter

{
  "uc-id": "NTP",
  "forecast-parameters": [
    {
      "id": "NTP_volume",
      "threshold": 474
    }
  ],
  "detection-parameters": [
    {
      "id": "NTP_monlist",
      "area-detection-percentage": {
        "value": 11
      },
      "type-detection-percentage": {
        "value": 11
      },
      "area-correlation-percentage": {
        "value": 11
      },
      "type-correlation-percentage": {
        "value": 11
      },
      "threshold": 474,
      "histeresys": 3
    }
  ]
}

Parameters

Name In Type Required Description
body body UseCase true none

Example responses

200 Response

{
  "uc-id": "NTP",
  "forecast-parameters": [
    {
      "id": "NTP_volume",
      "threshold": 474
    }
  ],
  "detection-parameters": [
    {
      "id": "NTP_monlist",
      "area-detection-percentage": {
        "value": 11
      },
      "type-detection-percentage": {
        "value": 11
      },
      "area-correlation-percentage": {
        "value": 11
      },
      "type-correlation-percentage": {
        "value": 11
      },
      "threshold": 474,
      "histeresys": 3
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request UseCase
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

delete all use cases

DELETE /use-cases

Remove all use-cases from the managed use-cases

Example responses

200 Response

{
  "uc-id": "NTP",
  "forecast-parameters": [
    {
      "id": "NTP_volume",
      "threshold": 474
    }
  ],
  "detection-parameters": [
    {
      "id": "NTP_monlist",
      "area-detection-percentage": {
        "value": 11
      },
      "type-detection-percentage": {
        "value": 11
      },
      "area-correlation-percentage": {
        "value": 11
      },
      "type-correlation-percentage": {
        "value": 11
      },
      "threshold": 474,
      "histeresys": 3
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request UseCase
default Default Unexpected error Error
This operation does not require authentication

get use-case by name

GET /use-cases/{id}

Detailed information for a specific use-case by {id}

Parameters

Name In Type Required Description
id path string true The id of the use-case to retrieve

Example responses

200 Response

{
  "uc-id": "NTP",
  "forecast-parameters": [
    {
      "id": "NTP_volume",
      "threshold": 474
    }
  ],
  "detection-parameters": [
    {
      "id": "NTP_monlist",
      "area-detection-percentage": {
        "value": 11
      },
      "type-detection-percentage": {
        "value": 11
      },
      "area-correlation-percentage": {
        "value": 11
      },
      "type-correlation-percentage": {
        "value": 11
      },
      "threshold": 474,
      "histeresys": 3
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request UseCase
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

update use-case

POST /use-cases/{id}

Update information for a specific use-case by {id}

Body parameter

{
  "uc-id": "NTP",
  "forecast-parameters": [
    {
      "id": "NTP_volume",
      "threshold": 474
    }
  ],
  "detection-parameters": [
    {
      "id": "NTP_monlist",
      "area-detection-percentage": {
        "value": 11
      },
      "type-detection-percentage": {
        "value": 11
      },
      "area-correlation-percentage": {
        "value": 11
      },
      "type-correlation-percentage": {
        "value": 11
      },
      "threshold": 474,
      "histeresys": 3
    }
  ]
}

Parameters

Name In Type Required Description
id path string true The id of the use-case to update
body body UseCase true none

Example responses

200 Response

{
  "uc-id": "NTP",
  "forecast-parameters": [
    {
      "id": "NTP_volume",
      "threshold": 474
    }
  ],
  "detection-parameters": [
    {
      "id": "NTP_monlist",
      "area-detection-percentage": {
        "value": 11
      },
      "type-detection-percentage": {
        "value": 11
      },
      "area-correlation-percentage": {
        "value": 11
      },
      "type-correlation-percentage": {
        "value": 11
      },
      "threshold": 474,
      "histeresys": 3
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request UseCase
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

delete use case

DELETE /use-cases/{id}

Remove use-case by {id} from the managed use-cases

Parameters

Name In Type Required Description
id path string true The id of the use-case to delete

Example responses

200 Response

{
  "uc-id": "NTP",
  "forecast-parameters": [
    {
      "id": "NTP_volume",
      "threshold": 474
    }
  ],
  "detection-parameters": [
    {
      "id": "NTP_monlist",
      "area-detection-percentage": {
        "value": 11
      },
      "type-detection-percentage": {
        "value": 11
      },
      "area-correlation-percentage": {
        "value": 11
      },
      "type-correlation-percentage": {
        "value": 11
      },
      "threshold": 474,
      "histeresys": 3
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request UseCase
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

status

estimator status including correlations

get status

GET /status

get the estimator status, including correlations

Example responses

200 Response

{
  "time": 1600034400,
  "network-status": "BAU",
  "correlation-type-status": [
    {
      "use-case": "MITM",
      "correlations": [
        {
          "node-type": "PE-Routers",
          "value": "BAU"
        }
      ]
    }
  ],
  "correlation-area-status": [
    {
      "use-case": "MITM",
      "correlations": [
        {
          "area": "Turin",
          "value": "BAU"
        }
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request FullStatus
default Default Unexpected error Error
This operation does not require authentication

estimator

low-level operations on the estimators settings defined for a given use-case, node and probe

get hysteresis

GET /estimator/hysteresis

Get the hysteresis between WARN and STATUS

Parameters

Name In Type Required Description
use-case query string true use-case identifier
node query string true node identifier
probe query string true probe identifier

Example responses

200 Response

{
  "histeresys": 3
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request EstimatorHysteresisState
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

set hysteresis

POST /estimator/hysteresis

Set the hysteresis between WARN and STATUS

Body parameter

{
  "histeresys": 3,
  "use-case": "NTP",
  "node": "Milan-3",
  "probe": "probe-C"
}

Parameters

Name In Type Required Description
body body EstimatorHysteresisConfig true The use-case and node.

Example responses

default Response

{
  "code": "500",
  "message": "Internal application error"
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request None
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

get estimator parameters

GET /estimator/params

Get the ARIMA parameters

Parameters

Name In Type Required Description
use-case query string true use-case identifier
node query string true node identifier
probe query string true probe identifier

Example responses

200 Response

{
  "P": 5,
  "D": 1,
  "Q": 0
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request ArimaParametersState
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

update estimator parameters

POST /estimator/params

Update the ARIMA parameters

Body parameter

{
  "use-case": "NTP",
  "node": "Milan-3",
  "probe": "probe-C",
  "P": 5,
  "D": 1,
  "Q": 0
}

Parameters

Name In Type Required Description
body body ArimaParametersConfig true none

Example responses

default Response

{
  "code": "500",
  "message": "Internal application error"
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request None
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

get forecast threshold

GET /estimator/forecast-threshold

Get the forecast threshold

Parameters

Name In Type Required Description
use-case query string true use-case identifier
node query string true node identifier
probe query string true probe identifier

Example responses

200 Response

{
  "threshold": 474
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request ThresholdValueState
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

set forecast threshold

POST /estimator/forecast-threshold

Set the forecast threshold

Body parameter

{
  "threshold": 474,
  "use-case": "NTP",
  "node": "Milan-3",
  "probe": "probe-C"
}

Parameters

Name In Type Required Description
body body ThresholdValueConfig true none

Example responses

default Response

{
  "code": "500",
  "message": "Internal application error"
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request None
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

get detection threshold

GET /estimator/detection-threshold

Get the detection threshold

Parameters

Name In Type Required Description
use-case query string true use-case identifier
node query string true node identifier
probe query string true probe identifier

Example responses

200 Response

{
  "threshold": 474
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request ThresholdValueState
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

Set detection threshold

POST /estimator/detection-threshold

Set the detection threshold

Body parameter

{
  "threshold": 474,
  "use-case": "NTP",
  "node": "Milan-3",
  "probe": "probe-C"
}

Parameters

Name In Type Required Description
body body ThresholdValueConfig true none

Example responses

default Response

{
  "code": "500",
  "message": "Internal application error"
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request None
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

get relative per-area detection threshold

GET /estimator/area-detection-percentage

Get the relative per-area detection threshold

Parameters

Name In Type Required Description
use-case query string true use-case identifier
node query string true node identifier
probe query string true probe identifier

Example responses

200 Response

{
  "value": 11
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request PercentageState
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

set relative per-area detection threshold

POST /estimator/area-detection-percentage

Set the relative per-area detection threshold

Body parameter

{
  "value": 11,
  "use-case": "NTP",
  "node": "Milan-3",
  "probe": "probe-C"
}

Parameters

Name In Type Required Description
body body PercentageConfig true none

Example responses

default Response

{
  "code": "500",
  "message": "Internal application error"
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request None
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

get relative per-type detection threshold

GET /estimator/type-detection-percentage

Get the relative per-type detection threshold

Parameters

Name In Type Required Description
use-case query string true use-case identifier
node query string true node identifier
probe query string true probe identifier

Example responses

200 Response

{
  "value": 11
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request PercentageState
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

set relative per-type detection threshold

POST /estimator/type-detection-percentage

Set the relative per-type detection threshold

Body parameter

{
  "value": 11,
  "use-case": "NTP",
  "node": "Milan-3",
  "probe": "probe-C"
}

Parameters

Name In Type Required Description
body body PercentageConfig true none

Example responses

default Response

{
  "code": "500",
  "message": "Internal application error"
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request None
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

get relative per-area correlation threshold

GET /estimator/area-correlation-percentage

Get the relative per-area correlation threshold

Parameters

Name In Type Required Description
use-case query string true use-case identifier
node query string true node identifier
probe query string true probe identifier

Example responses

200 Response

{
  "value": 11
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request PercentageState
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

set relative per-area correlation threshold

POST /estimator/area-correlation-percentage

Set the relative per-area correlation threshold

Body parameter

{
  "value": 11,
  "use-case": "NTP",
  "node": "Milan-3",
  "probe": "probe-C"
}

Parameters

Name In Type Required Description
body body PercentageConfig true none

Example responses

default Response

{
  "code": "500",
  "message": "Internal application error"
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request None
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

get relative per-type correlation threshold

GET /estimator/type-correlation-percentage

Get the relative per-type correlation threshold

Parameters

Name In Type Required Description
use-case query string true use-case identifier
node query string true node identifier
probe query string true probe identifier

Example responses

200 Response

{
  "value": 11
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request PercentageState
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

Set relative per-area correlation threshold

POST /estimator/type-correlation-percentage

Set the relative per-area correlation threshold

Body parameter

{
  "value": 11,
  "use-case": "NTP",
  "node": "Milan-3",
  "probe": "probe-C"
}

Parameters

Name In Type Required Description
body body PercentageConfig true none

Example responses

default Response

{
  "code": "500",
  "message": "Internal application error"
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request None
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

history

low-level operations on the estimators forecast history

get history by use-case, node and probe

GET /history/

Return estimator forecast history for the given use-case, node and probe

Parameters

Name In Type Required Description
use-case query string true use-case identifier
node query string true node identifier
probe query string true probe identifier

Example responses

200 Response

[
  {
    "time": 1600034400,
    "value": "BAU"
  }
]

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request Inline
404 Not Found Not found None
default Default Unexpected error Error

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [HistoryPoint] false none none
» time Timestamp(int32) false none seconds since epoch
» value Status false none none

Enumerated Values

Property Value
value BAU
value WARN
value ALARM
value UNDEFINED
This operation does not require authentication

realign one estimator history

POST /history/realign/

Realign the forecast history for the given use-case, node and probe

Body parameter

{
  "use-case": "NTP",
  "node": "Milan-3",
  "probe": "probe-C"
}

Parameters

Name In Type Required Description
body body UNP-identifier true none

Example responses

default Response

{
  "code": "500",
  "message": "Internal application error"
}

Responses

Status Meaning Description Schema
200 OK Expected response to a valid request None
404 Not Found Not found None
default Default Unexpected error Error
This operation does not require authentication

Schemas

NodeConfigList

[
  {
    "node-id": "Genoa-Erzelli",
    "area": "Genoa",
    "type": "NTP",
    "use-case": [
      "NTP1",
      "NTP2"
    ]
  }
]

Properties

Name Type Required Restrictions Description
anonymous [NodeConfig] false none none

NodeConfig

{
  "node-id": "Genoa-Erzelli",
  "area": "Genoa",
  "type": "NTP",
  "use-case": [
    "NTP1",
    "NTP2"
  ]
}

Properties

Name Type Required Restrictions Description
node-id string true none none
area string false none none
type string false none none
use-case [string] false none none

UseCaseList

[
  {
    "uc-id": "NTP",
    "forecast-parameters": [
      {
        "id": "NTP_volume",
        "threshold": 474
      }
    ],
    "detection-parameters": [
      {
        "id": "NTP_monlist",
        "area-detection-percentage": {
          "value": 11
        },
        "type-detection-percentage": {
          "value": 11
        },
        "area-correlation-percentage": {
          "value": 11
        },
        "type-correlation-percentage": {
          "value": 11
        },
        "threshold": 474,
        "histeresys": 3
      }
    ]
  }
]

Properties

Name Type Required Restrictions Description
anonymous [UseCase] false none none

UseCase

{
  "uc-id": "NTP",
  "forecast-parameters": [
    {
      "id": "NTP_volume",
      "threshold": 474
    }
  ],
  "detection-parameters": [
    {
      "id": "NTP_monlist",
      "area-detection-percentage": {
        "value": 11
      },
      "type-detection-percentage": {
        "value": 11
      },
      "area-correlation-percentage": {
        "value": 11
      },
      "type-correlation-percentage": {
        "value": 11
      },
      "threshold": 474,
      "histeresys": 3
    }
  ]
}

Properties

Name Type Required Restrictions Description
uc-id string true none none
forecast-parameters [ForecastParameter] false none [A parameter used for forecast and its threshold]
detection-parameters [DetectionParameter] false none [A parameter used for detection and its threshold, the hysteresis and its set of relative thresholds for correlation. The "area-detection-percentage" is a percentage of the detection threshold and is used to compute a, typically lower, per-area detection threshold. For every area A, ATk looks for its nodes where the resulting per-area detection threshold is exceeded. If the percentage of these nodes in an area A exceeds the "area-correlation-percentage", then ATK decides status "WARN" for the area A, otherwise status "BAU". Similarly, the "type-detection-percentage" is a percentage of the detection threshold and is used to compute a, typically lower, per-type detection threshold. For every node type T, ATk looks for nodes where the resulting per-type detection threshold is exceeded. If the percentage of these nodes for a type T exceeds the "type-correlation-percentage", then ATK decides status "WARN" for the type T, otherwise status "BAU".
]

ForecastParameter

{
  "id": "NTP_volume",
  "threshold": 474
}

A parameter used for forecast and its threshold

Properties

allOf

Name Type Required Restrictions Description
anonymous object false none none
» id string false none Unique identifier of each parameter

and

Name Type Required Restrictions Description
anonymous ThresholdValueState false none none

ThresholdValueState

{
  "threshold": 474
}

Properties

Name Type Required Restrictions Description
threshold number false none Absolute value of a threshold

ThresholdValueConfig

{
  "threshold": 474,
  "use-case": "NTP",
  "node": "Milan-3",
  "probe": "probe-C"
}

Properties

allOf

Name Type Required Restrictions Description
anonymous ThresholdValueState false none none

and

Name Type Required Restrictions Description
anonymous UNP-identifier false none reusable model containing just use-case (U), node (N) and probe (P) identifier

DetectionParameter

{
  "id": "NTP_monlist",
  "area-detection-percentage": {
    "value": 11
  },
  "type-detection-percentage": {
    "value": 11
  },
  "area-correlation-percentage": {
    "value": 11
  },
  "type-correlation-percentage": {
    "value": 11
  },
  "threshold": 474,
  "histeresys": 3
}

A parameter used for detection and its threshold, the hysteresis and its set of relative thresholds for correlation. The "area-detection-percentage" is a percentage of the detection threshold and is used to compute a, typically lower, per-area detection threshold. For every area A, ATk looks for its nodes where the resulting per-area detection threshold is exceeded. If the percentage of these nodes in an area A exceeds the "area-correlation-percentage", then ATK decides status "WARN" for the area A, otherwise status "BAU". Similarly, the "type-detection-percentage" is a percentage of the detection threshold and is used to compute a, typically lower, per-type detection threshold. For every node type T, ATk looks for nodes where the resulting per-type detection threshold is exceeded. If the percentage of these nodes for a type T exceeds the "type-correlation-percentage", then ATK decides status "WARN" for the type T, otherwise status "BAU".

Properties

allOf

Name Type Required Restrictions Description
anonymous object false none none
» id string false none Unique identifier of each parameter
» area-detection-percentage PercentageState false none none
» type-detection-percentage PercentageState false none none
» area-correlation-percentage PercentageState false none none
» type-correlation-percentage PercentageState false none none

and

Name Type Required Restrictions Description
anonymous ThresholdValueState false none none

and

Name Type Required Restrictions Description
anonymous EstimatorHysteresisState false none The estimator waits for this number of time intervals before passing from WARN to ALARM state

ArimaParametersState

{
  "P": 5,
  "D": 1,
  "Q": 0
}

Properties

Name Type Required Restrictions Description
P integer(int64) false none none
D integer(int64) false none none
Q integer(int64) false none none

ArimaParametersConfig

{
  "use-case": "NTP",
  "node": "Milan-3",
  "probe": "probe-C",
  "P": 5,
  "D": 1,
  "Q": 0
}

Properties

allOf

Name Type Required Restrictions Description
anonymous UNP-identifier false none reusable model containing just use-case (U), node (N) and probe (P) identifier

and

Name Type Required Restrictions Description
anonymous ArimaParametersState false none none

UNP-identifier

{
  "use-case": "NTP",
  "node": "Milan-3",
  "probe": "probe-C"
}

reusable model containing just use-case (U), node (N) and probe (P) identifier

Properties

Name Type Required Restrictions Description
use-case string false none use-case identifier
node string false none node identifier
probe string false none probe identifier

EstimatorHysteresisState

{
  "histeresys": 3
}

The estimator waits for this number of time intervals before passing from WARN to ALARM state

Properties

Name Type Required Restrictions Description
histeresys integer(int32) false none none

EstimatorHysteresisConfig

{
  "histeresys": 3,
  "use-case": "NTP",
  "node": "Milan-3",
  "probe": "probe-C"
}

This is EstimatorHysteresisState decorated with use-case, node and probe information.

Properties

allOf

Name Type Required Restrictions Description
anonymous EstimatorHysteresisState false none The estimator waits for this number of time intervals before passing from WARN to ALARM state

and

Name Type Required Restrictions Description
anonymous UNP-identifier false none reusable model containing just use-case (U), node (N) and probe (P) identifier

Status

"BAU"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous BAU
anonymous WARN
anonymous ALARM
anonymous UNDEFINED

FullStatus

{
  "time": 1600034400,
  "network-status": "BAU",
  "correlation-type-status": [
    {
      "use-case": "MITM",
      "correlations": [
        {
          "node-type": "PE-Routers",
          "value": "BAU"
        }
      ]
    }
  ],
  "correlation-area-status": [
    {
      "use-case": "MITM",
      "correlations": [
        {
          "area": "Turin",
          "value": "BAU"
        }
      ]
    }
  ]
}

return the status computed across all node types and areas, for each use-case.

Properties

Name Type Required Restrictions Description
time Timestamp false none seconds since epoch
network-status Status false none none
correlation-type-status [CorrelationStatusByType] false none [correlationstatus computed across all node types]
correlation-area-status [CorrelationStatusByArea] false none [correlationstatus computed across all areas]

CorrelationStatusByType

{
  "use-case": "MITM",
  "correlations": [
    {
      "node-type": "PE-Routers",
      "value": "BAU"
    }
  ]
}

correlationstatus computed across all node types

Properties

Name Type Required Restrictions Description
use-case string false none use-case identifier
correlations [CorrelationStatusByTypeElement] false none none

CorrelationStatusByArea

{
  "use-case": "MITM",
  "correlations": [
    {
      "area": "Turin",
      "value": "BAU"
    }
  ]
}

correlationstatus computed across all areas

Properties

Name Type Required Restrictions Description
use-case string false none use-case identifier
correlations [CorrelationStatusByAreaElement] false none none

CorrelationStatusByTypeElement

{
  "node-type": "PE-Routers",
  "value": "BAU"
}

Properties

Name Type Required Restrictions Description
node-type string false none none
value Status false none none

CorrelationStatusByAreaElement

{
  "area": "Turin",
  "value": "BAU"
}

Properties

Name Type Required Restrictions Description
area string false none none
value Status false none none

PercentageState

{
  "value": 11
}

Properties

Name Type Required Restrictions Description
value integer(int32) false none none

PercentageConfig

{
  "value": 11,
  "use-case": "NTP",
  "node": "Milan-3",
  "probe": "probe-C"
}

Properties

allOf

Name Type Required Restrictions Description
anonymous PercentageState false none none

and

Name Type Required Restrictions Description
anonymous UNP-identifier false none reusable model containing just use-case (U), node (N) and probe (P) identifier

Error

{
  "code": "500",
  "message": "Internal application error"
}

Properties

Name Type Required Restrictions Description
code integer(int32) true none none
message string true none none

HistoryPoint

{
  "time": 1600034400,
  "value": "BAU"
}

Properties

Name Type Required Restrictions Description
time Timestamp false none seconds since epoch
value Status false none none

Timestamp

1600034400

seconds since epoch

Properties

Name Type Required Restrictions Description
anonymous integer(int32) false none seconds since epoch

About

REST API to interact with the Analytic Toolkit. It provides consistent access to its resources: nodes, use-cases, estimator and history.

Resources

License

Stars

Watchers

Forks

Packages

No packages published