Skip to main content

Status Results

API calls for retrieving monitoring status results

NameDescriptionShortcut
GET: List Service Metric Status TimelinesThis method may be used to retrieve a specific service metric status timeline (applies on a specific service endpoint).Description
GET: List Service Endpoint Status TimelinesThis method may be used to retrieve a specific service endpoint status timeline (for a specific group and/or for a specific service type inside that group).Description
GET: List Service Status TimelinesThis method may be used to retrieve a specific service type status timeline (applies for a specific service endpoint group).Description
GET: List Endpoint Group Status TimelinesThis method may be used to retrieve endpoint group status timelines.Description
GET: Metric ResultThis method may be used to retrieve a specific and detailed metric result.Description
GET: Flat list of Endpoint timelinesThis method may be used to retrieve a flat list of all available endpoint status resultsDescription
GET: Flat list of Metric timelines for a specific metricThis method may be used to retrieve a flat list of all available endpoint metric status timelines filtered by a specific metricDescription

[GET]: List Service Metric Status Timelines

This method may be used to retrieve a specific service metric status timeline (applies on a specific host endpoint and a specific service flavor).

Input

List All metrics:
/status/{report}/{group_type}/{group_name}/services/{service_type}/endpoints/{hostname}/metrics?[start_time]&[end_time]
List a specific metric:
/status/{report}/{endpoint_group_type}/{endpoint_group_name}/services/{service_type}/endpoints/{hostname}/metrics/{metric_name}?[start_time]&[end_time]

Path Parameters

TypeDescriptionRequiredDefault value
reportname of the report usedYES
group_typetype of endpoint groupYES
group_namename of endpoint groupYES
service_typetype of endpoint groupYES
hostnamehostname of service endpointYES
metric_namename of the metricNO

Url Parameters

TypeDescriptionRequiredDefault value
start_timeUTC time in W3C formatYES
end_timeUTC time in W3C formatYES

Notes: group_type and group_name in the specific request refer always to endpoint groups (e.g.. SITES). when metric_name is supplied, the request returns results for a specific metric. Else returns results for all available metrics for the specific endpoint (and report)

Headers

x-api-key: shared_key_value
Accept: application/json or application/xml

Response Code

Status: 200 OK

Response body

List All metrics:
Example Request:

URL:

/status/EGI_CRITICAL/SITES/HG-03-AUTH/services/CREAM-CE/endpoints/cream01.afroditi.gr/metrics?start_time=2015-05-01T00:00:00Z&end_time=2015-05-01T23:59:59Z

Headers:

x-api-key: shared_key_value
Accept: application/json or application/xml

Example Response:

Code:

Status: 200 OK

Response body (XML):

<root>
<group name="HG-03-AUTH" type="SITES">
<group name="CREAM-CE" type="service">
<endpoint name="cream01.afroditi.gr">
<metric name="emi.cream.CREAMCE-JobSubmit">
<status timestamp="2015-04-30T23:59:00Z" status="OK"></status>
<status timestamp="2015-05-01T01:00:00Z" status="CRITICAL"></status>
<status timestamp="2015-05-01T02:00:00Z" status="OK"></status>
<status timestamp="2015-05-01T23:59:59Z" status="OK"></status>
</metric>
<metric name="emi.wn.WN-Bi">
<status timestamp="2015-04-30T22:59:00Z" status="OK"></status>
<status timestamp="2015-05-01T02:00:00Z" status="OK"></status>
<status timestamp="2015-05-01T03:00:00Z" status="OK"></status>
<status timestamp="2015-05-01T23:59:59Z" status="OK"></status>
</metric>
</endpoint>
</group>
</group>
</root>

Response body (JSON):

{
"groups": [
{
"name": "HG-03-AUTH",
"type": "SITES",
"services": [
{
"name": "CREAM-CE",
"type": "service",
"endpoints": [
{
"name": "cream01.afroditi.gr",
"metrics": [
{
"name": "emi.cream.CREAMCE-JobSubmit",
"statuses": [
{
"timestamp": "2015-04-30T23:59:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T01:00:00Z",
"value": "CRITICAL"
},
{
"timestamp": "2015-05-01T02:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
},
{
"name": "emi.wn.WN-Bi",
"statuses": [
{
"timestamp": "2015-04-30T22:59:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-02T00:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-03T01:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
}
]
}
]
}
]
}
]
}

List specific metric

(metric_name=emi.cream.CREAM-CE-JobSubmit):

Example Request:

URL:

/status/EGI_CRITICAL/SITES/HG-03-AUTH/services/CREAM-CE/endpoints/cream01.afroditi.gr/metrics/emi.cream.CREAMCE-JobSubmit?start_time=2015-05-01T00:00:00Z&end_time=2015-05-01T23:59:59Z

Headers:

x-api-key:"INSERTTENANTKEYHERE"
Accept:"application/xml"

Example Response:

Code:

Status: 200 OK

Response body (XML):

<root>
<group name="HG-03-AUTH" type="SITES">
<group name="CREAM-CE" type="service">
<endpoint name="cream01.afroditi.gr">
<metric name="emi.cream.CREAMCE-JobSubmit">
<status timestamp="2015-04-30T23:59:00Z" status="OK"></status>
<status timestamp="2015-05-01T01:00:00Z" status="CRITICAL"></status>
<status timestamp="2015-05-01T02:00:00Z" status="OK"></status>
<status timestamp="2015-05-01T23:59:59Z" status="OK"></status>
</metric>
</endpoint>
</group>
</group>
</root>

Response body (JSON):

{
"groups": [
{
"name": "HG-03-AUTH",
"type": "SITES",
"services": [
{
"name": "CREAM-CE",
"type": "service",
"endpoints": [
{
"name": "cream01.afroditi.gr",
"metrics": [
{
"name": "emi.cream.CREAMCE-JobSubmit",
"statuses": [
{
"timestamp": "2015-04-30T23:59:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T01:00:00Z",
"value": "CRITICAL"
},
{
"timestamp": "2015-05-02T01:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
}
]
}
]
}
]
}
]
}

Extra endpoint information on metric status results

Some service metric status results have additional information regarding the specific service endpoint such as it's Url, certificate DN etc... If this information is available it will be displayed under each service endpoint along with status results. For example:

{
"groups": [
{
"name": "HG-03-AUTH",
"type": "SITES",
"services": [
{
"name": "CREAM-CE",
"type": "service",
"endpoints": [
{
"name": "cream01.afroditi.gr",
"info": {
"Url": "https://cream01.afroditi.gr/path/to/service"
},
"metrics": [
{
"name": "emi.cream.CREAMCE-JobSubmit",
"statuses": [
{
"timestamp": "2015-04-30T23:59:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T01:00:00Z",
"value": "CRITICAL"
},
{
"timestamp": "2015-05-02T01:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
}
]
}
]
}
]
}
]
}

Threshold rule information in status metric timelines

By using the url parameter view=details the argo-web-api will enrich the status timeline results with additional information in case a threshold rule has been applied to the results. For example:

{
"groups": [
{
"name": "HG-03-AUTH",
"type": "SITES",
"services": [
{
"name": "CREAM-CE",
"type": "service",
"endpoints": [
{
"name": "cream01.afroditi.gr",
"info": {
"Url": "https://cream01.afroditi.gr/path/to/service"
},
"metrics": [
{
"name": "emi.cream.CREAMCE-JobSubmit",
"statuses": [
{
"timestamp": "2015-04-30T23:59:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T01:00:00Z",
"value": "CRITICAL",
"actual_data": "latency=15s",
"threshold_rule_applied": "latency=15s",
"original_status": "OK"
},
{
"timestamp": "2015-05-02T01:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
}
]
}
]
}
]
}
]
}

[GET]: List Service Endpoint Status Timelines

This method may be used to retrieve a specific service endpoint status timeline (applies on a specific service type).

Input

List All endpoints:
/status/{report}/{group_type}/{group_name}/services/{service_type}/endpoints?[start_time]&[end_time]
List a specific endpoint:
/status/{report}/{endpoint_group_type}/{endpoint_group_name}/services/{service_type}/endpoints/{hostname}?[start_time]&[end_time]
List All endpoints in a specific group:
/status/{report}/{group_type}/{group_name}/endpoints?[start_time]&[end_time]

Path Parameters

TypeDescriptionRequiredDefault value
reportname of the report usedYES
group_typetype of endpoint groupYES
group_namename of endpoint groupYES
service_typetype of endpoint groupYES
hostnamehostname of service endpointNO

Url Parameters

TypeDescriptionRequiredDefault value
start_timeUTC time in W3C formatYES
end_timeUTC time in W3C formatYES

Notes: group_type and group_name in the specific request refer always to endpoint groups (e.g.. SITES). when hostname is supplied, the request returns results for a specific endpoint. Else returns results for all available metrics for the specific endpoint (and report)

Headers

x-api-key: shared_key_value
Accept: application/json or application/xml

Response Code

Status: 200 OK

Response body

List All metrics:
Example Request:

URL:

/status/EGI_CRITICAL/SITES/HG-03-AUTH/services/CREAM-CE/endpoints?start_time=2015-05-01T00:00:00Z&end_time=2015-05-01T23:59:59Z

Headers:

x-api-key: shared_key_value
Accept: application/json or application/xml

Example Response:

Code:

Status: 200 OK

Response body (XML):

<root>
<group name="HG-03-AUTH" type="SITES">
<group name="CREAM-CE" type="service">
<endpoint name="cream01.afroditi.gr">
<status timestamp="2015-04-30T23:59:00Z" status="OK"></status>
<status timestamp="2015-05-01T01:00:00Z" status="CRITICAL"></status>
<status timestamp="2015-05-01T02:00:00Z" status="OK"></status>
<status timestamp="2015-05-01T23:59:59Z" status="OK"></status>
</endpoint>
<endpoint name="cream02.afroditi.gr">
<status timestamp="2015-04-30T23:59:00Z" status="OK"></status>
<status timestamp="2015-05-01T01:00:00Z" status="CRITICAL"></status>
<status timestamp="2015-05-01T02:00:00Z" status="OK"></status>
<status timestamp="2015-05-01T23:59:59Z" status="OK"></status>
</endpoint>
</group>
</group>
</root>

Response body (JSON):

{
"groups": [
{
"name": "HG-03-AUTH",
"type": "SITES",
"services": [
{
"name": "CREAM-CE",
"type": "service",
"endpoints": [
{
"name": "cream01.afroditi.gr",
"statuses": [
{
"timestamp": "2015-04-30T23:59:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T01:00:00Z",
"value": "CRITICAL"
},
{
"timestamp": "2015-05-01T02:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
},
{
"name": "cream02.afroditi.gr",
"statuses": [
{
"timestamp": "2015-04-30T23:59:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T01:00:00Z",
"value": "CRITICAL"
},
{
"timestamp": "2015-05-01T02:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
}
]
}
]
}
]
}

List specific endpoint

(hostname=cream01.afroditi.gr):

Example Request:

URL:

/status/EGI_CRITICAL/SITES/HG-03-AUTH/services/CREAM-CE/endpoints/cream01.afroditi.gr?start_time=2015-05-01T00:00:00Z&end_time=2015-05-01T23:59:59Z

Headers:

x-api-key: shared_key_value
Accept: application/json or application/xml

Example Response:

Code:

Status: 200 OK

Response body (XML):

<root>
<group name="HG-03-AUTH" type="SITES">
<group name="CREAM-CE" type="service">
<endpoint name="cream01.afroditi.gr">
<status timestamp="2015-04-30T23:59:00Z" status="OK"></status>
<status timestamp="2015-05-01T01:00:00Z" status="CRITICAL"></status>
<status timestamp="2015-05-01T02:00:00Z" status="OK"></status>
<status timestamp="2015-05-01T23:59:59Z" status="OK"></status>
</endpoint>
</group>
</group>
</root>

Response body (JSON):

{
"groups": [
{
"name": "HG-03-AUTH",
"type": "SITES",
"services": [
{
"name": "CREAM-CE",
"type": "service",
"endpoints": [
{
"name": "cream01.afroditi.gr",
"statuses": [
{
"timestamp": "2015-04-30T23:59:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T01:00:00Z",
"value": "CRITICAL"
},
{
"timestamp": "2015-05-01T02:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
}
]
}
]
}
]
}

List all endpoints included in a specific group

For a specific group, return all endpoints included - grouped by service type

Example Request:

URL:

/status/EGI_CRITICAL/SITES/HG-03-AUTH/endpoints?start_time=2015-05-01T00:00:00Z&end_time=2015-05-01T23:59:59Z

Headers:

x-api-key: shared_key_value
Accept: application/json or application/xml

Example Response:

Code:

Status: 200 OK

Response body (JSON):

{
"groups": [
{
"name": "HG-03-AUTH",
"type": "SITES",
"services": [
{
"name": "CREAM-CE",
"type": "service",
"endpoints": [
{
"name": "cream01.afroditi.gr",
"info": {
"Url": "http://example.foo/path/to/service"
},
"statuses": [
{
"timestamp": "2015-05-01T00:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T01:00:00Z",
"value": "CRITICAL"
},
{
"timestamp": "2015-05-01T05:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
},
{
"name": "cream02.afroditi.gr",
"statuses": [
{
"timestamp": "2015-05-01T00:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T08:47:00Z",
"value": "WARNING"
},
{
"timestamp": "2015-05-01T12:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
},
{
"name": "cream03.afroditi.gr",
"statuses": [
{
"timestamp": "2015-05-01T00:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T04:40:00Z",
"value": "UNKNOWN"
},
{
"timestamp": "2015-05-01T06:00:00Z",
"value": "CRITICAL"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "CRITICAL"
}
]
}
]
},
{
"name": "STORAGE",
"type": "service",
"endpoints": [
{
"name": "storage.example.foo",
"statuses": [
{
"timestamp": "2015-05-01T00:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T06:40:00Z",
"value": "WARNING"
},
{
"timestamp": "2015-05-01T09:00:00Z",
"value": "CRITICAL"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "CRITICAL"
}
]
}
]
}
]
}
]
}

Extra information for a specific endpoint on endpoint status results

Some service endpoint status results have additional information regarding the specific service endpoint such as it's Url, certificate DN etc... If this information is available it will be displayed under each service endpoint along with status results. For example:

{
"groups": [
{
"name": "HG-03-AUTH",
"type": "SITES",
"services": [
{
"name": "CREAM-CE",
"type": "service",
"endpoints": [
{
"name": "cream01.afroditi.gr",
"info": {
"Url": "https://cream01.afroditi.gr/path/to/service"
},
"statuses": [
{
"timestamp": "2015-04-30T23:59:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T01:00:00Z",
"value": "CRITICAL"
},
{
"timestamp": "2015-05-01T02:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
}
]
}
]
}
]
}

Threshold rule information in status endpoint timelines

By using the url parameter view=details the argo-web-api will enrich the status timeline results with additional information in case a threshold rule has been applied to the results. For example:

{
"groups": [
{
"name": "HG-03-AUTH",
"type": "SITES",
"services": [
{
"name": "CREAM-CE",
"type": "service",
"endpoints": [
{
"name": "cream01.afroditi.gr",
"info": {
"Url": "https://cream01.afroditi.gr/path/to/service"
},
"statuses": [
{
"timestamp": "2015-04-30T23:59:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T01:00:00Z",
"value": "CRITICAL",
"affected_by_threshold_rule": true
},
{
"timestamp": "2015-05-01T02:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
}
]
}
]
}
]
}

[GET]: List Service Status Timelines

This method may be used to retrieve a specific service flavor status timeline (applies for a specific service endpoint group).

Input

List All service types:
/status/{report}/{group_type}/{group_name}/services[start_time]&[end_time]
List a specific service type:
/status/{report}/{group_type}/{group_name}/services/{service_type}[start_time]&[end_time]

Path Parameters

TypeDescriptionRequiredDefault value
reportname of the report usedYES
group_typetype of endpoint groupYES
group_namename of endpoint groupYES
service_typetype of endpoint groupNO

Url Parameters

TypeDescriptionRequiredDefault value
start_timeUTC time in W3C formatYES
end_timeUTC time in W3C formatYES

Notes: group_type and group_name in the specific request refer always to endpoint groups (e.g.. SITES). when service_name is supplied, the request returns results for a specific service type. Else returns results for all available service types for the specific endpoint_group (and report)

Headers

x-api-key: shared_key_value
Accept: application/json or application/xml

Response Code

Status: 200 OK

Response body

List All service types:
Example Request:

URL:

/status/EGI_CRITICAL/SITES/HG-03-AUTH/services?start_time=2015-05-01T00:00:00Z&end_time=2015-05-01T23:59:59Z

Headers:

x-api-key: shared_key_value
Accept: application/json or application/xml

Example Response:

Code:

Status: 200 OK

Response body (XML):

<root>
<group name="HG-03-AUTH" type="SITES">
<group name="CREAM-CE" type="service">
<status timestamp="2015-04-30T23:59:00Z" status="OK"></status>
<status timestamp="2015-05-01T01:00:00Z" status="CRITICAL"></status>
<status timestamp="2015-05-01T02:00:00Z" status="OK"></status>
<status timestamp="2015-05-01T23:59:59Z" status="OK"></status>
</group>
<group name="SRMv2" type="service">
<status timestamp="2015-04-30T23:59:00Z" status="OK"></status>
<status timestamp="2015-05-01T01:00:00Z" status="CRITICAL"></status>
<status timestamp="2015-05-01T02:00:00Z" status="OK"></status>
<status timestamp="2015-05-01T23:59:59Z" status="OK"></status>
</group>
</group>
</root>

Response body (JSON):

{
"groups": [
{
"name": "HG-03-AUTH",
"type": "SITES",
"services": [
{
"name": "CREAM-CE",
"type": "service",
"statuses": [
{
"timestamp": "2015-04-30T23:59:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T01:00:00Z",
"value": "CRITICAL"
},
{
"timestamp": "2015-05-01T02:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
},
{
"name": "SRMv2",
"type": "service",
"statuses": [
{
"timestamp": "2015-04-30T23:59:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T01:00:00Z",
"value": "CRITICAL"
},
{
"timestamp": "2015-05-01T02:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
}
]
}
]
}
List specific service type

(service_type=CREAM-CE):

Example Request:

URL:

/status/EGI_CRITICAL/SITES/HG-03-AUTH/services/CREAM-CE?start_time=2015-05-01T00:00:00Z&end_time=2015-05-01T23:59:59Z

Headers:

x-api-key: shared_key_value
Accept: application/json or application/xml

Example Response:

Code:

Status: 200 OK

Response body (XML):

<root>
<group name="HG-03-AUTH" type="SITES">
<group name="CREAM-CE" type="service">
<status timestamp="2015-04-30T23:59:00Z" status="OK"></status>
<status timestamp="2015-05-01T01:00:00Z" status="CRITICAL"></status>
<status timestamp="2015-05-01T02:00:00Z" status="OK"></status>
<status timestamp="2015-05-01T23:59:59Z" status="OK"></status>
</group>
</group>
</root>

Response body (JSON):

{
"groups": [
{
"name": "HG-03-AUTH",
"type": "SITES",
"services": [
{
"name": "CREAM-CE",
"type": "service",
"statuses": [
{
"timestamp": "2015-04-30T23:59:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T01:00:00Z",
"value": "CRITICAL"
},
{
"timestamp": "2015-05-01T02:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
}
]
}
]
}

Threshold rule information in status service timelines

By using the url parameter view=details the argo-web-api will enrich the status timeline results with additional information in case a threshold rule has been applied to the results. For example:

{
"groups": [
{
"name": "HG-03-AUTH",
"type": "SITES",
"services": [
{
"name": "CREAM-CE",
"type": "service",
"statuses": [
{
"timestamp": "2015-04-30T23:59:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T01:00:00Z",
"value": "CRITICAL",
"affected_by_threshold_rule": true
},
{
"timestamp": "2015-05-01T02:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
}
]
}
]
}

[GET]: List Endpoint Group Status Timelines

This method may be used to retrieve status timelines for endpoint groups.

Input

List All endpoint groups of specific type:
/status/{report}/{group_type}[start_time]&[end_time]
List a specific endpoint group of specific type:
/status/{report}/{group_type}/{group_name}[start_time]&[end_time]

Path Parameters

TypeDescriptionRequiredDefault value
reportname of the report usedYES
group_typetype of endpoint groupYES
group_namename of endpoint groupNO

Url Parameters

TypeDescriptionRequiredDefault value
start_timeUTC time in W3C formatYES
end_timeUTC time in W3C formatYES

Notes: group_type and group_name in the specific request refer always to endpoint groups (e.g.. SITES). when group_name is supplied, the request returns results for a specific endpoint group. Else returns results for all available endpoint groups of the specific group_type

Headers

x-api-key: shared_key_value
Accept: application/json or application/xml

Response Code

Status: 200 OK

Response body

List All endpoint groups:
Example Request:

URL:

/status/EGI_CRITICAL/SITES?start_time=2015-05-01T00:00:00Z&end_time=2015-05-01T23:59:59Z

Headers:

x-api-key:"INSERTTENANTKEYHERE"
Accept:"application/xml"
Example Response:

Code:

Status: 200 OK

Response body (XML):

<root>
<group name="HG-03-AUTH" type="SITES">
<status timestamp="2015-05-01T00:00:00Z" status="CRITICAL"></status>
<status timestamp="2015-05-01T01:00:00Z" status="WARNING"></status>
<status timestamp="2015-05-01T05:00:00Z" status="OK"></status>
<status timestamp="2015-05-01T23:59:59Z" status="OK"></status>
</group>
<group name="HG-01-AUTH" type="SITES">
<status timestamp="2015-05-01T00:00:00Z" status="CRITICAL"></status>
<status timestamp="2015-05-01T02:00:00Z" status="UNKNOWN"></status>
<status timestamp="2015-05-01T05:00:00Z" status="OK"></status>
<status timestamp="2015-05-01T23:59:59Z" status="OK"></status>
</group>
</root>

Response body (JSON):

{
"groups": [
{
"name": "HG-03-AUTH",
"type": "SITES",
"statuses": [
{
"timestamp": "2015-05-01T00:00:00Z",
"value": "CRITICAL"
},
{
"timestamp": "2015-05-01T01:00:00Z",
"value": "WARNING"
},
{
"timestamp": "2015-05-01T05:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
},
{
"name": "HG-01-AUTH",
"type": "SITES",
"statuses": [
{
"timestamp": "2015-05-01T00:00:00Z",
"value": "CRITICAL"
},
{
"timestamp": "2015-05-01T02:00:00Z",
"value": "UNKNOWN"
},
{
"timestamp": "2015-05-01T05:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
}
]
}
List specific endpoint group

(group_name=HG-03-AUTH):

Example Request:

URL:

/status/EGI_CRITICAL/SITES/HG-03-AUTH?start_time=2015-05-01T00:00:00Z&end_time=2015-05-01T23:59:59Z

Headers:

x-api-key:"INSERTTENANTKEYHERE"
Accept:"application/xml"

Example Response:

Code:

Status: 200 OK

Response body (XML):

<root>
<group name="HG-03-AUTH" type="SITES">
<status timestamp="2015-05-01T00:00:00Z" status="CRITICAL"></status>
<status timestamp="2015-05-01T02:00:00Z" status="WARNING"></status>
<status timestamp="2015-05-01T05:00:00Z" status="OK"></status>
<status timestamp="2015-05-01T23:59:59Z" status="OK"></status>
</group>
</root>

Response body (JSON):

{
"groups": [
{
"name": "HG-03-AUTH",
"type": "SITES",
"statuses": [
{
"timestamp": "2015-05-01T00:00:00Z",
"value": "CRITICAL"
},
{
"timestamp": "2015-05-01T02:00:00Z",
"value": "WARNING"
},
{
"timestamp": "2015-05-01T05:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
}
]
}

Threshold rule information in status endpoint group timelines

By using the url parameter view=details the argo-web-api will enrich the status timeline results with additional information in case a threshold rule has been applied to the results. For example:

{
"groups": [
{
"name": "HG-03-AUTH",
"type": "SITES",
"statuses": [
{
"timestamp": "2015-05-01T00:00:00Z",
"value": "CRITICAL"
},
{
"timestamp": "2015-05-01T02:00:00Z",
"value": "WARNING",
"affected_by_threshold_rule": true
},
{
"timestamp": "2015-05-01T05:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T23:59:59Z",
"value": "OK"
}
]
}
]
}

[GET]: Metric Result

This method may be used to retrieve a detailed metric result.

Input

/metric_result/{hostname}/{metric_name}?[exec_time]

Path Parameters

NameDescriptionRequiredDefault value
{hostname}Name of the endpointYES
{metric_name}Name of the metric (probe) for which results are queriesYES

URL Parameters

TypeDescriptionRequiredDefault value
[exec_time]UTC time in W3C formatYES

Headers

x-api-key: shared_key_value
Accept: application/json or application/xml

Response Code

Status: 200 OK

Response body

Example Request:

URL:

/api/v2/metric_result/www.example.com/httpd_check?exec_time=2015-06-20T12:00:00Z

Headers:

x-api-key:"INSERTTENANTKEYHERE"
Accept:"application/xml"
Example Response:

Code:

Status: 200 OK

Response body (XML):

 <root>
<host name="www.example.com">
<metric name="httpd_check">
<status timestamp="2015-06-20T12:00:00Z" value="CRITICAL">
<summary>httpd status is CRITICAL</summary>
<message>httpd service seems down. Failed to connect to port 80.</message>
</status>
</metric>
</host>
</root>

Response body (JSON):

{
"root": [
{
"Name": "www.example.com",
"Metrics": [
{
"Name": "httpd_check",
"Details": [
{
"Timestamp": "2015-06-20T12:00:00Z",
"Value": "CRITICAL",
"Summary": "httpd status is CRITICAL",
"Message": "httpd service seems down. Failed to connect to port 80."
}
]
}
]
}
]
}

[GET]: Flat List of status timelines for all available service Endpoints

The following methods can be used to obtain a tenant's flat list of all service endpoints status timelines. The api authenticates the tenant using the api-key within the x-api-key header. Pagination is also supported by using the optional parameters pageSize to define the size of each result page and nextPageToken to proceed to the next available page of results.

[GET] Endpoints Status timelines

Input

Request a flat list of all endpoint status timelines

/status/{report_name}/endpoints?[start_time]&[end_time]&[granularity]&[pageSize]&[nextPageToken]

Query Parameters

TypeDescriptionRequiredDefault value
[start_time]UTC time in W3C formatYES
[end_time]UTC time in W3C formatYES
[pageSize]How many results to return per request (-1 means return all results)NO-1
[nextPageToken]token to proceed to the next pageNO

Path Parameters

NameDescriptionRequiredDefault value
{report_name}Name of the report that contains all the information about the profile, filter tags, group types etc.YES

Headers

x-api-key: "tenant_key_value"
Accept: "application/xml" or "application/json"
Response
Status: 200 OK

Request endpoint a/r under service: service_a

URL

/api/v2/status/{report_name}/endpoints?start_time=2015-06-22T00:00:00Z&end_time=2015-06-23T23:23:59Z&pageSize=2

Response Body

{
"results": [
{
"name": "e01",
"type": "endpoint",
"service": "service_a",
"supergroup": "ST01",
"results": [
{
"timestamp": "2015-06-22",
"availability": "98.26389",
"reliability": "98.26389",
"unknown": "0",
"uptime": "0.98264",
"downtime": "0"
},
{
"timestamp": "2015-06-23",
"availability": "54.03509",
"reliability": "81.48148",
"unknown": "0.01042",
"uptime": "0.53472",
"downtime": "0.33333"
}
]
},
{
"name": "e02",
"type": "endpoint",
"service": "service_a",
"supergroup": "ST01",
"results": [
{
"timestamp": "2015-06-22",
"availability": "96.875",
"reliability": "96.875",
"unknown": "0",
"uptime": "0.96875",
"downtime": "0"
}
]
}
],
"pageSize": 2,
"nextPageToken": "Mg=="
}

Request to see next page of results

URL

/api/v2/status/{report_name}/endpoints?start_time=2015-06-22T00:00:00Z&end_time=2015-06-23T23:23:59Z&granularity=daily&pageSize=2&nextPageToken=Mg==

Response Body

{
"results": [
{
"name": "e02",
"type": "endpoint",
"service": "service_a",
"supergroup": "ST01",
"results": [
{
"timestamp": "2015-06-22",
"availability": "96.875",
"reliability": "96.875",
"unknown": "0",
"uptime": "0.96875",
"downtime": "0"
}
]
}
],
"pageSize": 2,
}

[GET]: Flat List of status timelines for all available endpoint metrics filter by a specific metric

The following method can be used to obtain a tenant's flat list of all available service endpoints metric status timelines filtered by a specific metric. The api authenticates the tenant using the api-key within the x-api-key header. Pagination is also supported by using the optional parameters pageSize to define the size of each result page and nextPageToken to proceed to the next available page of results.

[GET] Endpoints Status timelines

Input

Request a flat list of all endpoint metric status timelines filtered by a specific metric

/status/{report_name}/metrics/{metric_name}?[start_time]&[end_time]&[granularity]&[pageSize]&[nextPageToken]

Query Parameters

TypeDescriptionRequiredDefault value
[start_time]UTC time in W3C formatYES
[end_time]UTC time in W3C formatYES
[pageSize]How many results to return per request (-1 means return all results)NO-1
[nextPageToken]token to proceed to the next pageNO

Path Parameters

NameDescriptionRequiredDefault value
{report_name}Name of the report that contains all the information about the profile, filter tags, group types etc.YES
{metric_name}Name of the metric to filter results byYES

Headers

x-api-key: "tenant_key_value"
Accept: "application/xml" or "application/json"
Response
Status: 200 OK

Request endpoint a/r under service: service_a

URL

/api/v2/status/{report_name}/metrics/someService-FileTransfer?start_time=2015-06-22T00:00:00Z&end_time=2015-06-23T23:23:59Z&pageSize=2

Response Body

{
"results": [
{
"type":"endpoint_metric",
"name": "someservice.example.gr",
"service": "someService",
"supergroup": "GROUPA",
"metric": "someService-FileTransfer",
"statuses": [
{
"timestamp": "2015-04-30T23:59:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T00:00:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T01:00:00Z",
"value": "CRITICAL"
}
]
}
],
"nextPageToken": "Mg==",
"pageSize": 2
}

Request to see next page of results

URL

/api/v2/status/{report_name}/metrics/someService-FileTransfer?start_time=2015-06-22T00:00:00Z&end_time=2015-06-23T23:23:59Z&granularity=daily&pageSize=2&nextPageToken=Mg==

Response Body

{
"results": [
{
"type":"endpoint_metric",
"name": "someservice.example.gr",
"service": "someService",
"supergroup": "GROUPA",
"metric": "someService-FileTransfer",
"statuses": [
{
"timestamp": "2015-05-01T05:00:00Z",
"value": "OK"
}
]
},
{
"type":"endpoint_metric",
"name": "someservice2.example.gr",
"service": "someService",
"supergroup": "GROUPA",
"metric": "someService-FileTransfer",
"statuses": [
{
"timestamp": "2015-04-30T23:59:00Z",
"value": "OK"
},
{
"timestamp": "2015-05-01T00:00:00Z",
"value": "OK"
}
]
}
],
"nextPageToken": "NA==",
"pageSize": 2
}

Threshold rule information in flat status endpoint group timelines

By using the url parameter view=details the argo-web-api will enrich the status timeline results with additional information in case a threshold rule has been applied to the results. For example:

{
"results": [
{
"type":"endpoint_metric",
"name": "someservice.example.gr",
"service": "someService",
"supergroup": "GROUPA",
"metric": "someService-FileTransfer",
"statuses": [
{
"timestamp": "2015-05-01T05:00:00Z",
"value": "OK"
}
]
},
{
"type":"endpoint_metric",
"name": "someservice2.example.gr",
"service": "someService",
"supergroup": "GROUPA",
"metric": "someService-FileTransfer",
"statuses": [
{
"timestamp": "2015-04-30T23:59:00Z",
"value": "OK",
"affected_by_threshold_rule": true
},
{
"timestamp": "2015-05-01T00:00:00Z",
"value": "OK"
}
]
}
],
"nextPageToken": "NA==",
"pageSize": 2
}