Status results
API calls for retrieving monitoring status results
| Name | Description | Shortcut | 
|---|---|---|
| GET: List Service Metric Status Timelines | This method may be used to retrieve a specific service metric status timeline (applies on a specific service endpoint). | Description | 
| 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). | Description | 
| GET: List Service Status Timelines | This 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 Timelines | This method may be used to retrieve endpoint group status timelines. | Description | 
| GET: Metric Result | This method may be used to retrieve a specific and detailed metric result. | Description | 
[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
| Type | Description | Required | Default value | 
|---|---|---|---|
report | 
name of the report used | YES | |
group_type | 
type of endpoint group | YES | |
group_name | 
name of endpoint group | YES | |
service_type | 
type of endpoint group | YES | |
hostname | 
hostname of service endpoint | YES | |
metric_name | 
name of the metric | NO | 
Url Parameters
| Type | Description | Required | Default value | 
|---|---|---|---|
start_time | 
UTC time in W3C format | YES | |
end_time | 
UTC time in W3C format | YES | 
Notes:
group_type and group_name in the specific request refer always to endpoint groups (eg. 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"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}
[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]
Path Parameters
| Type | Description | Required | Default value | 
|---|---|---|---|
report | 
name of the report used | YES | |
group_type | 
type of endpoint group | YES | |
group_name | 
name of endpoint group | YES | |
service_type | 
type of endpoint group | YES | |
hostname | 
hostname of service endpoint | NO | 
Url Parameters
| Type | Description | Required | Default value | 
|---|---|---|---|
start_time | 
UTC time in W3C format | YES | |
end_time | 
UTC time in W3C format | YES | 
Notes:
group_type and group_name in the specific request refer always to endpoint groups (eg. 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"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}
[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
| Type | Description | Required | Default value | 
|---|---|---|---|
report | 
name of the report used | YES | |
group_type | 
type of endpoint group | YES | |
group_name | 
name of endpoint group | YES | |
service_type | 
type of endpoint group | NO | 
Url Parameters
| Type | Description | Required | Default value | 
|---|---|---|---|
start_time | 
UTC time in W3C format | YES | |
end_time | 
UTC time in W3C format | YES | 
Notes:
group_type and group_name in the specific request refer always to endpoint groups (eg. 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"
            }
          ]
        }
      ]
    }
  ]
}
[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
| Type | Description | Required | Default value | 
|---|---|---|---|
report | 
name of the report used | YES | |
group_type | 
type of endpoint group | YES | |
group_name | 
name of endpoint group | NO | 
Url Parameters
| Type | Description | Required | Default value | 
|---|---|---|---|
start_time | 
UTC time in W3C format | YES | |
end_time | 
UTC time in W3C format | YES | 
Notes:
group_type and group_name in the specific request refer always to endpoint groups (eg. 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"
        }
      ]
    }
  ]
}
[GET]: Metric Result
This method may be used to retrieve a detailed metric result.
Input
/metric_result/{hostname}/{metric_name}?[exec_time]
Path Parameters
| Name | Description | Required | Default value | 
|---|---|---|---|
{hostname} | 
Name of the endpoint | YES | |
{metric_name} | 
Name of the metric (probe) for which results are queries | YES | 
URL Parameters
| Type | Description | Required | Default value | 
|---|---|---|---|
[exec_time] | 
UTC time in W3C format | YES | 
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."
            }
          ]
        }
      ]
    }
  ]
}