Checks¶
Retrieving a single check¶
Request¶
The request is a HTTP GET to the check URL. See below for full summary:
URL |
/maddash/grids/<grid-name>/<row-name>/<column-name>/<check-name> |
HTTP Method |
GET |
URL Parameters
Name |
Value |
---|---|
resultsPerPage |
The maximum number of results to return in the history object. Defaults to 10. |
page |
The page of results to display. It will start with the result at numResults * page (starting with 0 and ordered from newest to oldest check result). Defaults to 0. |
Response¶
Type: application/json
Field |
Type |
Required |
Description |
---|---|---|---|
gridName |
string |
Yes |
The name of the grid that contains this check |
rowName |
string |
Yes |
The name of the row that contains this check |
colName |
string |
Yes |
The name of the column that contains this check |
checkName |
string |
Yes |
The name of the check |
description |
string |
Yes |
A description of the check |
prevCheckTime |
long |
Yes |
A Unix timestamp (in seconds) when the check previously ran |
nextCheckTime |
long |
Yes |
A Unix timestamp (in seconds) when the check will run next |
status |
int |
Yes |
The current status of the check. See the Status-Codes table for values. |
returnCode |
int |
Yes |
The current status of the check. See the Status-Codes table for values. |
message |
string |
Yes |
The last message returned by the check |
type |
string |
Yes |
The type of check |
params |
Object |
Yes |
Type specific check configuration parameters |
returnCodeCount |
int |
Yes |
The number of times a the returnCode was seen if its different than the current status. 0 if same as status. |
checkInterval |
int |
Yes |
The time in between checks if the returnCode and status are the same |
retryInterval |
int |
Yes |
The time in between checks if the status and returnCode are different |
retryAttempts |
int |
Yes |
The number of times a returnCode different than the status must be seen before changing the status |
globalReport |
No |
A report of any problems affecting the parent grid of this check |
|
rowReport |
No |
A report of any problems affecting the row of this check |
|
collReport |
No |
A report of any problems affecting the column of this check |
|
historyPageCount |
int |
Yes |
The number of pages available for the history. Assumes the current result set size. |
historyResultsPerPage |
int |
Yes |
The maximum number of results per page. Echos the resultsPerPage URL parameter. |
history |
array of objects |
Yes |
An array of previous results for this check. If page is 0 then teh first check is the most recent check run |
history[n].time |
long |
Yes |
A Unix timestamp (seconds) when the check was run. |
history[n].returnCode |
int |
Yes |
The return code of this check. See the Status-Codes table for values. |
history[n].message |
string |
Yes |
The message returned by this check |
history[n].returnParams |
object |
Yes |
Type specific parameters returned by this check |
history[n].returnCodeCount |
int |
Yes |
The number of times this return code was seen, if different than the status. 0 if same as status. |
history[n].status |
int |
Yes |
The status of the check at the time this check was run |
Example¶
{
"gridName":"ESnet - 100G ESnet Hub to 100G ESnet Hub Throughput Testing",
"rowName":"denv-pt1.es.net",
"colName":"chic-pt1.es.net",
"checkName":"Throughput Reverse",
"description":"Throughput from chic-pt1.es.net to denv-pt1.es.net",
"prevCheckTime":1468945283,
"nextCheckTime":1468959683,
"status":0,
"returnCode":0,
"message":" Average throughput is 9.066Gbps ",
"returnCodeCount":0,
"type":"net.es.maddash.checks.PSNagiosCheck",
"params":{
"graphUrl": "http://ps-dashboard.es.net/perfsonar-graphs/graphWidget.cgi?url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.252.45&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.252.45&",
"command":"/usr/lib64/nagios/plugins/check_throughput.pl -u %maUrl -w 5: -c 1: -r 86400 -s %col -d %row -p tcp",
"maUrl": "http://chic-pt1.es.net:8085/esmond/perfsonar/archive"
},
"checkInterval":14400,
"retryInterval":600,
"retryAttempts":3,
"statusShortName":"OK",
"historyPageCount":5,
"historyResultPerPage":10,
"history":[
{
"time":1468945283,
"returnCode":0,
"message":" Average throughput is 9.066Gbps ",
"returnParams":{
"Count":"3",
"graphUrl":"http://ps-dashboard.es.net/perfsonar-graphs/graphWidget.cgi?url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.252.45&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.252.45&",
"Max":"9.618572",
"Standard_Deviation":"0.511447234967904",
"Average":"9.06594433333333",
"maUrl":"http://chic-pt1.es.net:8085/esmond/perfsonar/archive",
"Min":"8.609269"
},
"returnCodeCount":0,
"status":0
},
{
"time":1468929262,
"returnCode":0,
"message":" Average throughput is 8.278Gbps ",
"returnParams":{
"Count":"4",
"graphUrl":"http://ps-dashboard.es.net/perfsonar-graphs/graphWidget.cgi?url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.252.45&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.252.45&",
"Max":"9.917373",
"Standard_Deviation":"2.2768582559265",
"Average":"8.278238",
"maUrl":"http://chic-pt1.es.net:8085/esmond/perfsonar/archive",
"Min":"4.967738"
},
"returnCodeCount":0,
"status":0
},
{
"time":1468914842,
"returnCode":0,
"message":" Average throughput is 8.278Gbps ",
"returnParams":{
"Count":"4",
"graphUrl":"http://ps-dashboard.es.net/perfsonar-graphs/graphWidget.cgi?url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.252.45&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.252.45&",
"Max":"9.917373",
"Standard_Deviation":"2.2768582559265",
"Average":"8.278238",
"maUrl":"http://chic-pt1.es.net:8085/esmond/perfsonar/archive",
"Min":"4.967738"
},
"returnCodeCount":0,
"status":0
},
{
"time":1468900420,
"returnCode":0,
"message":" Average throughput is 7.947Gbps ",
"returnParams":{
"Count":"4",
"graphUrl":"http://ps-dashboard.es.net/perfsonar-graphs/graphWidget.cgi?url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.252.45&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.252.45&",
"Max":"9.917373",
"Standard_Deviation":"2.10691941712745",
"Average":"7.947076",
"maUrl":"http://chic-pt1.es.net:8085/esmond/perfsonar/archive",
"Min":"4.967738"
},
"returnCodeCount":0,
"status":0
},
{
"time":1468886003,
"returnCode":0,
"message":" Average throughput is 8.198Gbps ",
"returnParams":{
"Count":"5",
"graphUrl":"http://ps-dashboard.es.net/perfsonar-graphs/graphWidget.cgi?url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.252.45&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.252.45&",
"Max":"9.917373",
"Standard_Deviation":"1.90889560344947",
"Average":"8.1978948",
"maUrl":"http://chic-pt1.es.net:8085/esmond/perfsonar/archive",
"Min":"4.967738"
},
"returnCodeCount":0,
"status":0
},
{
"time":1468871580,
"returnCode":0,
"message":" Average throughput is 8.443Gbps ",
"returnParams":{
"Count":"5",
"graphUrl":"http://ps-dashboard.es.net/perfsonar-graphs/graphWidget.cgi?url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.252.45&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.252.45&",
"Max":"9.917373",
"Standard_Deviation":"2.04820449942671",
"Average":"8.4426554",
"maUrl":"http://chic-pt1.es.net:8085/esmond/perfsonar/archive",
"Min":"4.967738"
},
"returnCodeCount":0,
"status":0
},
{
"time":1468857174,
"returnCode":0,
"message":" Average throughput is 9.008Gbps ",
"returnParams":{
"Count":"5",
"graphUrl":"http://ps-dashboard.es.net/perfsonar-graphs/graphWidget.cgi?url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.252.45&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.252.45&",
"Max":"9.917373",
"Standard_Deviation":"0.939671374584643",
"Average":"9.0076434",
"maUrl":"http://chic-pt1.es.net:8085/esmond/perfsonar/archive",
"Min":"7.792678"
},
"returnCodeCount":0,
"status":0
},
{
"time":1468842761,
"returnCode":0,
"message":" Average throughput is 8.780Gbps ",
"returnParams":{
"Count":"4",
"graphUrl":"http://ps-dashboard.es.net/perfsonar-graphs/graphWidget.cgi?url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.252.45&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.252.45&",
"Max":"9.833072",
"Standard_Deviation":"0.912399626892372",
"Average":"8.780211",
"maUrl":"http://chic-pt1.es.net:8085/esmond/perfsonar/archive",
"Min":"7.792678"
},
"returnCodeCount":0,
"status":0
},
{
"time":1468828338,
"returnCode":0,
"message":" Average throughput is 8.841Gbps ",
"returnParams":{
"Count":"5",
"graphUrl":"http://ps-dashboard.es.net/perfsonar-graphs/graphWidget.cgi?url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.252.45&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.252.45&",
"Max":"9.833072",
"Standard_Deviation":"0.801737163872799",
"Average":"8.8409196",
"maUrl":"http://chic-pt1.es.net:8085/esmond/perfsonar/archive",
"Min":"7.792678"
},
"returnCodeCount":0,
"status":0
},
{
"time":1468813920,
"returnCode":0,
"message":" Average throughput is 9.169Gbps ",
"returnParams":{
"Count":"5",
"graphUrl":"http://ps-dashboard.es.net/perfsonar-graphs/graphWidget.cgi?url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.141&source=198.129.252.45&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.254.14&url=http://chic-pt1.es.net:8085/esmond/perfsonar/archive&dest=198.124.252.154&source=198.129.252.45&",
"Max":"9.933079",
"Standard_Deviation":"0.85547823840283",
"Average":"9.1687506",
"maUrl":"http://chic-pt1.es.net:8085/esmond/perfsonar/archive",
"Min":"7.792678"
},
"returnCodeCount":0,
"status":0
}
],
"globalReport":{
"stats":[
96,
0,
0,
0,
0,
0
],
"severity":0,
"problems":[
{
"name":"Entire grid has OK status.",
"severity":0,
"category":"PERFORMANCE",
"solutions":[]
}
]
},
"rowReport":{
"stats":[
8,
0,
0,
0,
0,
0
],
"severity":0
},
"colReport":{
"stats":[
24,
0,
0,
0,
0,
0
],
"severity":0
}
}
Rescheduling checks¶
Request¶
The request is a HTTP POST that must be authenticated using HTTP BASIC authentication:
URL |
/maddash/admin/schedule |
HTTP Method |
POST |
JSON Parameters
Name |
Type | Required |
Value |
|
---|---|---|---|
checkFilters |
JSON Object |
Yes |
A JSON object with filters that select which checks will be rescheduled |
checkFilters.gridName |
JSON Array or String |
No |
A JSON array with the list of grids to select. Undefined or the string * means to match every thing. |
checkFilters.rowName |
JSON Array or String |
No |
A JSON array with the list of rows to select. Undefined or the string * means to match every thing. |
checkFilters.columnName |
JSON Array or String |
No |
A JSON array with the list of columns to select. Undefined or the string * means to match every thing. |
checkFilters.checkName |
JSON Array or String |
No |
A JSON array with the list of checks to select. Undefined or the string * means to match every thing. |
checkFilters.dimensionName |
JSON Array or String |
No |
A JSON array with the list of columns or rows to select. Undefined or the string * means to match every thing. |
nextCheckTime |
UNIX timestamp |
No |
A UNIX timestamp indicating when the check should next run |
Example¶
{
"checkFilters": {
"gridName": ["BWCTL"],
"rowName": ["chic-pt1.es.net"],
"columnName": "*",
"checkName": "*",
},
"nextCheckTime": 1421864236
}
Response¶
Type: application/json
Field |
Type |
Required |
Description |
---|---|---|---|
status |
integer |
Yes |
A value of 0 means the operation succeeded. Non-zero means an error occurred. |
checkUpdateCount |
integer |
Yes |
The number of checks updated by this operation |
message |
string |
Yes |
A message describing the result of the operation |
Example¶
{
"status": 0,
"checkUpdateCount": 12,
"message": "Successfully updated 12 checks"
}