Skip to content

Latest commit

 

History

History
310 lines (290 loc) · 16.4 KB

maddash_api_reports.rst

File metadata and controls

310 lines (290 loc) · 16.4 KB

Reports

Retrieving a report

Request

The request is a HTTP GET to the report URL. See below for full summary.

URL /maddash/report
HTTP Method GET

URL Parameters

One and only one of the following is required:

Name Value
json A full URL where the JSON describing a grid can be accessed. This can be an external URL. Example: http://myhost.example/maddash/grids/Latency%20Grid
grid The URL encoded name of a grid stored in the local MaDDash instance. Example: Latency%20Grid

Response

Type: application/json

Field Type Required Description
mesh object Yes An object containing details about the grid
mesh.name string Yes The name of the grid
mesh.location string No The URL where the grid JSON can be retrieved. Only displayed if json query parameter used.
global :ref:`api_reports-report_object` Yes A report object describing any configured patterns that match the entire grid.
sites A hash of :ref:`api_reports-report_object` arrays Yes A hash where the key is the name of the row or column in the grid (as displayed in the grid if labels are used) and the value is an array of report objects affecting that row/column.

Report Object

Field Type Required Description
stats array of integers Yes A count of the number of boxes matching the status represented by the array index. 0=OK, 1=WARN, 2=CRITICAL, 3-UNKNOWN, 4=NOT YET RUN, 5=MAINTENANCE and anything else is a custom state.
severity integer Yes The overall severity of the problems found. 0=OK, 1=WARN, 2=CRITICAL.
problems array of :ref:`api_reports-problem_object` No A list of problems found by this report

Problem Object

Field Type Required Description
name string Yes A description of the problem
severity integer Yes The severity of the problems found. 0=OK, 1=WARN, 2=CRITICAL.
category string Yes A string that categorizes the problem. May be useful for filtering problems by type.
solutions array of strings No A list of potential ways to address the problem

Example

{
   "mesh":{
      "name":"ESnet - ESnet to DOE Site Throughput Testing"
   },
   "global":{
      "stats":[
         87,
         1,
         0,
         8,
         0,
         8
      ],
      "severity":0
   },
   "sites":{
      "star-pt1.es.net":{
         "stats":[
            22,
            0,
            0,
            2,
            0,
            2
         ],
         "severity":0
      },
      "hous-pt1.es.net":{
         "stats":[
            22,
            0,
            0,
            2,
            0,
            2
         ],
         "severity":0
      },
      "perfsonar.nersc.gov":{
         "stats":[
            8,
            0,
            0,
            0,
            0,
            0
         ],
         "severity":0
      },
      "ps-bandwidth.hep.pnnl.gov":{
         "stats":[
            8,
            0,
            0,
            0,
            0,
            0
         ],
         "severity":0
      },
      "psonar5.deemz.net (FNAL)":{
         "stats":[
            8,
            0,
            0,
            0,
            0,
            0
         ],
         "severity":0
      },
      "perfsonar.ornl.gov":{
         "stats":[
            8,
            0,
            0,
            0,
            0,
            0
         ],
         "severity":0
      },
      "sunn-pt1.es.net":{
         "stats":[
            22,
            0,
            0,
            2,
            0,
            2
         ],
         "severity":0
      },
      "wash-pt1.es.net":{
         "stats":[
            21,
            1,
            0,
            2,
            0,
            2
         ],
         "severity":0
      },
      "psnr-farm10.slac.stanford.edu":{
         "stats":[
            8,
            0,
            0,
            0,
            0,
            0
         ],
         "severity":0
      },
      "speedtest2.pnl.gov":{
         "stats":[
            7,
            1,
            0,
            0,
            0,
            0
         ],
         "severity":0
      },
      "ps-border1-bwctl.lbl.gov":{
         "stats":[
            8,
            0,
            0,
            0,
            0,
            0
         ],
         "severity":0
      },
      "anlborder-ps.it.anl.gov":{
         "stats":[
            8,
            0,
            0,
            0,
            0,
            0
         ],
         "severity":0
      },
      "gdoperf.ucllnl.org":{
         "stats":[
            8,
            0,
            0,
            0,
            0,
            0
         ],
         "severity":0
      },
      "jlab4.jlab.org":{
         "stats":[
            8,
            0,
            0,
            0,
            0,
            0
         ],
         "severity":0
      },
      "lhcmon.bnl.gov":{
         "stats":[
            8,
            0,
            0,
            0,
            0,
            0
         ],
         "severity":0
      },
      "perfsonar1.ccs.ornl.gov":{
         "stats":[
            0,
            0,
            0,
            8,
            0,
            0
         ],
         "severity":3,
         "problems":[
            {
               "name":"Site is down",
               "severity":3,
               "category":"CONFIGURATION",
               "solutions":[
                  "Verify the host is up",
                  "Verify the local and remote sites allow access to TCP port 4823, TCP/UDP ports 6001-6200, and TCP/UDP ports 5001-5900",
                  "If recently added to the mesh, verify the mesh config file has been downloaded by the end-hosts since the update. It may also take several hours for the first BWCTL test to run on this host.",
                  "If recently removed from the mesh, verify that /usr/lib/perfsonar/bin/generate_gui_configuration has run recently and you are looking at an accurate test mesh",
                  "Verify NTP is synced on this host",
                  "Verify that your measurement archive(s) are running",
                  "Verify no firewall is blocking maddash from reaching your measurement archive(s)",
                  "Verify that regular testing is running (/etc/init.d/perfsonar-regulartesting status)",
                  "Verify your hosts are able to reach their configured measurement archive and that there are no errors in /var/log/perfsonar/regulartesting.log"
               ]
            }
         ]
      },
      "portalz.pppl.gov":{
         "stats":[
            0,
            0,
            0,
            0,
            0,
            8
         ],
         "severity":0
      }
   }
}