Modified: trunk/CHANGES
===================================================================
--- trunk/CHANGES 2013-03-08 13:07:19 UTC (rev 11691)
+++ trunk/CHANGES 2013-03-08 13:16:52 UTC (rev 11692)
@@ -1,5 +1,11 @@
This documents the major changes between releases
+3.2013????
+ ENHANCEMENTS:
+ REST API has a convertuoms=1 parameter to convert performance data uoms into their base values (eg, MB to bytes, ms to seconds)
+ NOTICES:
+ FIXES:
+
3.20130304
ENHANCEMENTS:
Updated NRPE to 2.14 due to potential security exposure
Modified: trunk/opsview-core/lib/Runtime/ResultSet/OpsviewHostObjects.pm
===================================================================
--- trunk/opsview-core/lib/Runtime/ResultSet/OpsviewHostObjects.pm 2013-03-08 13:07:19 UTC (rev 11691)
+++ trunk/opsview-core/lib/Runtime/ResultSet/OpsviewHostObjects.pm 2013-03-08 13:16:52 UTC (rev 11692)
@@ -23,7 +23,7 @@
use warnings;
use Opsview::Utils
- qw(convert_to_arrayref convert_state_to_text convert_host_state_to_text convert_state_type_to_text set_highest_service_state get_first_hash_key);
+ qw(convert_to_arrayref convert_state_to_text convert_host_state_to_text convert_state_type_to_text set_highest_service_state get_first_hash_key convert_uoms);
use base qw/Runtime::ResultSet/;
@@ -618,12 +618,22 @@
perfdata => $hash->{service_perfdata}
);
foreach my $p (@$perfs) {
- next if ( $p->value eq "U" );
+ my $value = $p->value;
+ next if ( $value eq "U" );
+
+ my $uom = $p->uom;
+
+ if ( $filters->{convertuom} ) {
+ my ( $uom_new, $uom_multiplier ) = convert_uoms($uom);
+ $uom = $uom_new;
+ $value *= $uom_multiplier;
+ }
+
my $h = {
name => $p->label,
- uom => $p->uom,
- value => $p->value
+ uom => $uom,
+ value => $value,
};
push @$service_metrics, $h;
Modified: trunk/opsview-web/lib/Opsview/Web/Controller/REST/Status/Performancemetric.pm
===================================================================
--- trunk/opsview-web/lib/Opsview/Web/Controller/REST/Status/Performancemetric.pm 2013-03-08 13:07:19 UTC (rev 11691)
+++ trunk/opsview-web/lib/Opsview/Web/Controller/REST/Status/Performancemetric.pm 2013-03-08 13:16:52 UTC (rev 11692)
@@ -26,7 +26,7 @@
BEGIN { extends 'Opsview::Web::ControllerBase::REST' }
use Opsview::Utils
- qw(convert_to_arrayref convert_state_to_text get_first_hash_key);
+ qw(convert_to_arrayref convert_state_to_text get_first_hash_key convert_uoms);
use Opsview::Performanceparsing;
Opsview::Performanceparsing->init;
@@ -219,10 +219,18 @@
$hash->{value} = $hash->{uom} = "";
foreach my $p (@$perfs) {
- next if ( $p->value eq "U" );
+ my $value = $p->value;
+ next if ( $value eq "U" );
+ my $uom = $p->uom;
if ( $item->metricname eq $p->label ) {
- $hash->{value} = $p->value;
- $hash->{uom} = $p->uom || "";
+
+ if ( $params->{convertuom} ) {
+ my ( $uom_new, $uom_multiplier ) = convert_uoms($uom);
+ $uom = $uom_new;
+ $value *= $uom_multiplier;
+ }
+ $hash->{value} = $value;
+ $hash->{uom} = $uom || "";
last;
}
}
Added: trunk/opsview-web/t/var/api-status/performancemetric_convert_uoms.testcase
===================================================================
--- trunk/opsview-web/t/var/api-status/performancemetric_convert_uoms.testcase (rev 0)
+++ trunk/opsview-web/t/var/api-status/performancemetric_convert_uoms.testcase 2013-03-08 13:16:52 UTC (rev 11692)
@@ -0,0 +1,49 @@
+GET /rest/status/performancemetric?order=value_desc&rows=5&hostgroupid=3
+ENDCONTENT
+{
+ "list" : [
+ {
+ "hostname" : "opslave",
+ "metricname" : "root",
+ "servicename" : "/",
+ "servicestate" : "ok",
+ "uom" : "MB",
+ "value" : "1004"
+ },
+ {
+ "hostname" : "opsview",
+ "metricname" : "rta",
+ "servicename" : "TCP/IP - LAN",
+ "servicestate" : "unknown",
+ "uom" : "ms",
+ "value" : "25"
+ },
+ {
+ "hostname" : "opslave",
+ "metricname" : "age",
+ "servicename" : "Nagios Stats",
+ "servicestate" : "critical",
+ "uom" : "s",
+ "value" : "5"
+ },
+ {
+ "hostname" : "opslave",
+ "metricname" : "avgactsvclatency",
+ "servicename" : "Nagios Stats",
+ "servicestate" : "critical",
+ "uom" : "s",
+ "value" : "0.158"
+ },
+ {
+ "hostname" : "opslave",
+ "metricname" : "cmdbuf",
+ "servicename" : "Nagios Stats",
+ "servicestate" : "critical",
+ "uom" : "",
+ "value" : "0"
+ }
+ ],
+ "rows" : "5",
+ "total" : "7"
+}
+
Added: trunk/opsview-web/t/var/api-status/performancemetric_hostgroupid_order_value_desc_convert_uom.testcase
===================================================================
--- trunk/opsview-web/t/var/api-status/performancemetric_hostgroupid_order_value_desc_convert_uom.testcase (rev 0)
+++ trunk/opsview-web/t/var/api-status/performancemetric_hostgroupid_order_value_desc_convert_uom.testcase 2013-03-08 13:16:52 UTC (rev 11692)
@@ -0,0 +1,49 @@
+GET /rest/status/performancemetric?order=value_desc&rows=5&hostgroupid=3&convertuom=1
+ENDCONTENT
+{
+ "list" : [
+ {
+ "hostname" : "opslave",
+ "metricname" : "root",
+ "servicename" : "/",
+ "servicestate" : "ok",
+ "uom" : "bytes",
+ "value" : "1004000000"
+ },
+ {
+ "hostname" : "opslave",
+ "metricname" : "age",
+ "servicename" : "Nagios Stats",
+ "servicestate" : "critical",
+ "uom" : "seconds",
+ "value" : "5"
+ },
+ {
+ "hostname" : "opslave",
+ "metricname" : "avgactsvclatency",
+ "servicename" : "Nagios Stats",
+ "servicestate" : "critical",
+ "uom" : "seconds",
+ "value" : "0.158"
+ },
+ {
+ "hostname" : "opsview",
+ "metricname" : "rta",
+ "servicename" : "TCP/IP - LAN",
+ "servicestate" : "unknown",
+ "uom" : "seconds",
+ "value" : "0.025"
+ },
+ {
+ "hostname" : "opslave",
+ "metricname" : "cmdbuf",
+ "servicename" : "Nagios Stats",
+ "servicestate" : "critical",
+ "uom" : "",
+ "value" : "0"
+ }
+ ],
+ "rows" : "5",
+ "total" : "7"
+}
+
Added: trunk/opsview-web/t/var/api-status/service_includeperfdata.testcase
===================================================================
--- trunk/opsview-web/t/var/api-status/service_includeperfdata.testcase (rev 0)
+++ trunk/opsview-web/t/var/api-status/service_includeperfdata.testcase 2013-03-08 13:16:52 UTC (rev 11692)
@@ -0,0 +1,311 @@
+GET /rest/status/service?includeperfdata=1
+ENDCONTENT
+{
+ "list" : [
+ {
+ "alias" : "cisco4",
+ "current_check_attempt" : "0",
+ "downtime" : "2",
+ "downtime_comment" : "Hostgroup 'Monitoring Servers': testing",
+ "downtime_username" : "admin",
+ "icon" : "cisco",
+ "last_check" : "0",
+ "max_check_attempts" : "0",
+ "name" : "cisco4",
+ "num_interfaces" : "1",
+ "num_services" : "3",
+ "output" : "Dummy output",
+ "services" : [
+ {
+ "acknowledged" : "1",
+ "current_check_attempt" : "1",
+ "downtime" : "2",
+ "downtime_comment" : "Hostgroup 'Monitoring Servers': testing",
+ "downtime_username" : "admin",
+ "last_check" : "1193836840",
+ "markdown" : "0",
+ "max_check_attempts" : "3",
+ "metrics" : [
+ {
+ "name" : "size"
+ },
+ {
+ "name" : "time"
+ }
+ ],
+ "name" : "Another exception",
+ "output" : "forced result",
+ "perfdata_available" : "0",
+ "service_object_id" : "160",
+ "state" : "unknown",
+ "state_duration" : "168911610",
+ "state_type" : "hard",
+ "unhandled" : "0"
+ },
+ {
+ "current_check_attempt" : "1",
+ "downtime" : "2",
+ "downtime_comment" : "Hostgroup 'Monitoring Servers': testing",
+ "downtime_username" : "admin",
+ "last_check" : "1193836840",
+ "markdown" : "0",
+ "max_check_attempts" : "3",
+ "metrics" : [
+ {
+ "name" : "losspct",
+ "uom" : "",
+ "value" : "0"
+ },
+ {
+ "name" : "rta",
+ "uom" : "ms",
+ "value" : "25"
+ }
+ ],
+ "name" : "Coldstart",
+ "output" : "forced result",
+ "perfdata_available" : "0",
+ "service_object_id" : "161",
+ "state" : "unknown",
+ "state_duration" : "168911610",
+ "state_type" : "hard",
+ "unhandled" : "1"
+ }
+ ],
+ "state" : "up",
+ "state_duration" : "1362745347",
+ "state_type" : "soft",
+ "summary" : {
+ "computed_state" : "unknown",
+ "handled" : "1",
+ "total" : "2",
+ "unhandled" : "1",
+ "unknown" : "2"
+ },
+ "unhandled" : "0"
+ },
+ {
+ "alias" : "Host to be monitored by slave",
+ "current_check_attempt" : "0",
+ "downtime" : "1",
+ "downtime_comment" : "Hostgroup 'Leaf2': in the future <script>alert(\"badness\")</script>",
+ "downtime_username" : "admin",
+ "flapping" : "1",
+ "icon" : "vmware",
+ "last_check" : "0",
+ "max_check_attempts" : "0",
+ "name" : "monitored_by_slave",
+ "num_interfaces" : "0",
+ "num_services" : "5",
+ "output" : "Dummy output",
+ "services" : [
+ {
+ "current_check_attempt" : "1",
+ "downtime" : "1",
+ "downtime_comment" : "Hostgroup 'Leaf2': in the future <script>alert(\"badness\")</script>",
+ "downtime_username" : "admin",
+ "flapping" : "1",
+ "last_check" : "1193836780",
+ "markdown" : "0",
+ "max_check_attempts" : "3",
+ "metrics" : [
+ {
+ "name" : "losspct"
+ },
+ {
+ "name" : "rta"
+ }
+ ],
+ "name" : "/",
+ "output" : "Invalid host name 'monitored_by_slave'",
+ "perfdata_available" : "0",
+ "service_object_id" : "193",
+ "state" : "unknown",
+ "state_duration" : "168911710",
+ "state_type" : "hard",
+ "unhandled" : "1"
+ },
+ {
+ "current_check_attempt" : "1",
+ "downtime" : "1",
+ "downtime_comment" : "Hostgroup 'Leaf2': in the future <script>alert(\"badness\")</script>",
+ "downtime_username" : "admin",
+ "last_check" : "1193836840",
+ "markdown" : "0",
+ "max_check_attempts" : "3",
+ "metrics" : [
+ {
+ "name" : "losspct",
+ "uom" : "",
+ "value" : "0"
+ },
+ {
+ "name" : "rta",
+ "uom" : "ms",
+ "value" : "25"
+ }
+ ],
+ "name" : "Check Loadavg",
+ "output" : "Invalid host name 'monitored_by_slave'",
+ "perfdata_available" : "0",
+ "service_object_id" : "194",
+ "state" : "unknown",
+ "state_duration" : "168911610",
+ "state_type" : "hard",
+ "unhandled" : "1"
+ }
+ ],
+ "state" : "up",
+ "state_duration" : "1362745347",
+ "state_type" : "soft",
+ "summary" : {
+ "computed_state" : "unknown",
+ "handled" : "0",
+ "total" : "2",
+ "unhandled" : "2",
+ "unknown" : "2"
+ },
+ "unhandled" : "0"
+ },
+ {
+ "alias" : "Slave",
+ "current_check_attempt" : "0",
+ "downtime" : "0",
+ "icon" : "opsview",
+ "last_check" : "0",
+ "max_check_attempts" : "0",
+ "name" : "opslave",
+ "num_interfaces" : "0",
+ "num_services" : "6",
+ "output" : "Dummy output",
+ "services" : [
+ {
+ "current_check_attempt" : "1",
+ "downtime" : "0",
+ "last_check" : "1193836810",
+ "markdown" : "0",
+ "max_check_attempts" : "3",
+ "metrics" : [
+ {
+ "name" : "root",
+ "uom" : "MB",
+ "value" : "1004"
+ }
+ ],
+ "name" : "/",
+ "output" : "DISK OK - free space: / 18385 MB (94% inode=-):",
+ "perfdata_available" : "1",
+ "service_object_id" : "197",
+ "state" : "ok",
+ "state_duration" : "168912137",
+ "state_type" : "hard",
+ "unhandled" : "0"
+ },
+ {
+ "current_check_attempt" : "1",
+ "downtime" : "0",
+ "last_check" : "1295219793",
+ "markdown" : "0",
+ "max_check_attempts" : "3",
+ "metrics" : [
+ {
+ "name" : "age",
+ "uom" : "s",
+ "value" : "5"
+ },
+ {
+ "name" : "maxactsvclatency",
+ "uom" : "s",
+ "value" : "0.679"
+ },
+ {
+ "name" : "avgactsvclatency",
+ "uom" : "s",
+ "value" : "0.158"
+ },
+ {
+ "name" : "maxpsvsvclatency",
+ "uom" : "s",
+ "value" : "0.823"
+ },
+ {
+ "name" : "avgpsvsvclatency",
+ "uom" : "s",
+ "value" : "0.467"
+ },
+ {
+ "name" : "cmdbuf",
+ "uom" : "",
+ "value" : "0"
+ },
+ {
+ "name" : "maxcmdbuf",
+ "uom" : "",
+ "value" : "18"
+ },
+ {
+ "name" : "avgactsvcexect",
+ "uom" : "s",
+ "value" : "0.791"
+ },
+ {
+ "name" : "maxactsvcexect",
+ "uom" : "s",
+ "value" : "17.944"
+ },
+ {
+ "name" : "numsvcactchk60m",
+ "uom" : "",
+ "value" : "85"
+ },
+ {
+ "name" : "numsvcpsvchk60m",
+ "uom" : "",
+ "value" : "509"
+ }
+ ],
+ "name" : "Nagios Stats",
+ "output" : "fake nagios stats for opsview",
+ "perfdata_available" : "1",
+ "service_object_id" : "222",
+ "state" : "critical",
+ "state_duration" : "67525554",
+ "state_type" : "hard",
+ "unhandled" : "1"
+ }
+ ],
+ "state" : "up",
+ "state_duration" : "1362745347",
+ "state_type" : "soft",
+ "summary" : {
+ "computed_state" : "critical",
+ "critical" : "1",
+ "handled" : "1",
+ "ok" : "1",
+ "total" : "2",
+ "unhandled" : "1"
+ },
+ "unhandled" : "0"
+ }
+ ],
+ "summary" : {
+ "handled" : "5",
+ "host" : {
+ "handled" : "3",
+ "total" : "3",
+ "unhandled" : "0",
+ "up" : "3"
+ },
+ "service" : {
+ "critical" : "1",
+ "handled" : "2",
+ "ok" : "1",
+ "total" : "6",
+ "unhandled" : "4",
+ "unknown" : "4"
+ },
+ "total" : "9",
+ "unhandled" : "4"
+ }
+}
+
Added: trunk/opsview-web/t/var/api-status/service_includeperfdata_convert_uom.testcase
===================================================================
--- trunk/opsview-web/t/var/api-status/service_includeperfdata_convert_uom.testcase (rev 0)
+++ trunk/opsview-web/t/var/api-status/service_includeperfdata_convert_uom.testcase 2013-03-08 13:16:52 UTC (rev 11692)
@@ -0,0 +1,311 @@
+GET /rest/status/service?includeperfdata=1&convertuom=1
+ENDCONTENT
+{
+ "list" : [
+ {
+ "alias" : "cisco4",
+ "current_check_attempt" : "0",
+ "downtime" : "2",
+ "downtime_comment" : "Hostgroup 'Monitoring Servers': testing",
+ "downtime_username" : "admin",
+ "icon" : "cisco",
+ "last_check" : "0",
+ "max_check_attempts" : "0",
+ "name" : "cisco4",
+ "num_interfaces" : "1",
+ "num_services" : "3",
+ "output" : "Dummy output",
+ "services" : [
+ {
+ "acknowledged" : "1",
+ "current_check_attempt" : "1",
+ "downtime" : "2",
+ "downtime_comment" : "Hostgroup 'Monitoring Servers': testing",
+ "downtime_username" : "admin",
+ "last_check" : "1193836840",
+ "markdown" : "0",
+ "max_check_attempts" : "3",
+ "metrics" : [
+ {
+ "name" : "size"
+ },
+ {
+ "name" : "time"
+ }
+ ],
+ "name" : "Another exception",
+ "output" : "forced result",
+ "perfdata_available" : "0",
+ "service_object_id" : "160",
+ "state" : "unknown",
+ "state_duration" : "168911644",
+ "state_type" : "hard",
+ "unhandled" : "0"
+ },
+ {
+ "current_check_attempt" : "1",
+ "downtime" : "2",
+ "downtime_comment" : "Hostgroup 'Monitoring Servers': testing",
+ "downtime_username" : "admin",
+ "last_check" : "1193836840",
+ "markdown" : "0",
+ "max_check_attempts" : "3",
+ "metrics" : [
+ {
+ "name" : "losspct",
+ "uom" : "",
+ "value" : "0"
+ },
+ {
+ "name" : "rta",
+ "uom" : "seconds",
+ "value" : "0.025"
+ }
+ ],
+ "name" : "Coldstart",
+ "output" : "forced result",
+ "perfdata_available" : "0",
+ "service_object_id" : "161",
+ "state" : "unknown",
+ "state_duration" : "168911644",
+ "state_type" : "hard",
+ "unhandled" : "1"
+ }
+ ],
+ "state" : "up",
+ "state_duration" : "1362745381",
+ "state_type" : "soft",
+ "summary" : {
+ "computed_state" : "unknown",
+ "handled" : "1",
+ "total" : "2",
+ "unhandled" : "1",
+ "unknown" : "2"
+ },
+ "unhandled" : "0"
+ },
+ {
+ "alias" : "Host to be monitored by slave",
+ "current_check_attempt" : "0",
+ "downtime" : "1",
+ "downtime_comment" : "Hostgroup 'Leaf2': in the future <script>alert(\"badness\")</script>",
+ "downtime_username" : "admin",
+ "flapping" : "1",
+ "icon" : "vmware",
+ "last_check" : "0",
+ "max_check_attempts" : "0",
+ "name" : "monitored_by_slave",
+ "num_interfaces" : "0",
+ "num_services" : "5",
+ "output" : "Dummy output",
+ "services" : [
+ {
+ "current_check_attempt" : "1",
+ "downtime" : "1",
+ "downtime_comment" : "Hostgroup 'Leaf2': in the future <script>alert(\"badness\")</script>",
+ "downtime_username" : "admin",
+ "flapping" : "1",
+ "last_check" : "1193836780",
+ "markdown" : "0",
+ "max_check_attempts" : "3",
+ "metrics" : [
+ {
+ "name" : "losspct"
+ },
+ {
+ "name" : "rta"
+ }
+ ],
+ "name" : "/",
+ "output" : "Invalid host name 'monitored_by_slave'",
+ "perfdata_available" : "0",
+ "service_object_id" : "193",
+ "state" : "unknown",
+ "state_duration" : "168911744",
+ "state_type" : "hard",
+ "unhandled" : "1"
+ },
+ {
+ "current_check_attempt" : "1",
+ "downtime" : "1",
+ "downtime_comment" : "Hostgroup 'Leaf2': in the future <script>alert(\"badness\")</script>",
+ "downtime_username" : "admin",
+ "last_check" : "1193836840",
+ "markdown" : "0",
+ "max_check_attempts" : "3",
+ "metrics" : [
+ {
+ "name" : "losspct",
+ "uom" : "",
+ "value" : "0"
+ },
+ {
+ "name" : "rta",
+ "uom" : "seconds",
+ "value" : "0.025"
+ }
+ ],
+ "name" : "Check Loadavg",
+ "output" : "Invalid host name 'monitored_by_slave'",
+ "perfdata_available" : "0",
+ "service_object_id" : "194",
+ "state" : "unknown",
+ "state_duration" : "168911644",
+ "state_type" : "hard",
+ "unhandled" : "1"
+ }
+ ],
+ "state" : "up",
+ "state_duration" : "1362745381",
+ "state_type" : "soft",
+ "summary" : {
+ "computed_state" : "unknown",
+ "handled" : "0",
+ "total" : "2",
+ "unhandled" : "2",
+ "unknown" : "2"
+ },
+ "unhandled" : "0"
+ },
+ {
+ "alias" : "Slave",
+ "current_check_attempt" : "0",
+ "downtime" : "0",
+ "icon" : "opsview",
+ "last_check" : "0",
+ "max_check_attempts" : "0",
+ "name" : "opslave",
+ "num_interfaces" : "0",
+ "num_services" : "6",
+ "output" : "Dummy output",
+ "services" : [
+ {
+ "current_check_attempt" : "1",
+ "downtime" : "0",
+ "last_check" : "1193836810",
+ "markdown" : "0",
+ "max_check_attempts" : "3",
+ "metrics" : [
+ {
+ "name" : "root",
+ "uom" : "bytes",
+ "value" : "1004000000"
+ }
+ ],
+ "name" : "/",
+ "output" : "DISK OK - free space: / 18385 MB (94% inode=-):",
+ "perfdata_available" : "1",
+ "service_object_id" : "197",
+ "state" : "ok",
+ "state_duration" : "168912171",
+ "state_type" : "hard",
+ "unhandled" : "0"
+ },
+ {
+ "current_check_attempt" : "1",
+ "downtime" : "0",
+ "last_check" : "1295219793",
+ "markdown" : "0",
+ "max_check_attempts" : "3",
+ "metrics" : [
+ {
+ "name" : "age",
+ "uom" : "seconds",
+ "value" : "5"
+ },
+ {
+ "name" : "maxactsvclatency",
+ "uom" : "seconds",
+ "value" : "0.679"
+ },
+ {
+ "name" : "avgactsvclatency",
+ "uom" : "seconds",
+ "value" : "0.158"
+ },
+ {
+ "name" : "maxpsvsvclatency",
+ "uom" : "seconds",
+ "value" : "0.823"
+ },
+ {
+ "name" : "avgpsvsvclatency",
+ "uom" : "seconds",
+ "value" : "0.467"
+ },
+ {
+ "name" : "cmdbuf",
+ "uom" : "",
+ "value" : "0"
+ },
+ {
+ "name" : "maxcmdbuf",
+ "uom" : "",
+ "value" : "18"
+ },
+ {
+ "name" : "avgactsvcexect",
+ "uom" : "seconds",
+ "value" : "0.791"
+ },
+ {
+ "name" : "maxactsvcexect",
+ "uom" : "seconds",
+ "value" : "17.944"
+ },
+ {
+ "name" : "numsvcactchk60m",
+ "uom" : "",
+ "value" : "85"
+ },
+ {
+ "name" : "numsvcpsvchk60m",
+ "uom" : "",
+ "value" : "509"
+ }
+ ],
+ "name" : "Nagios Stats",
+ "output" : "fake nagios stats for opsview",
+ "perfdata_available" : "1",
+ "service_object_id" : "222",
+ "state" : "critical",
+ "state_duration" : "67525588",
+ "state_type" : "hard",
+ "unhandled" : "1"
+ }
+ ],
+ "state" : "up",
+ "state_duration" : "1362745381",
+ "state_type" : "soft",
+ "summary" : {
+ "computed_state" : "critical",
+ "critical" : "1",
+ "handled" : "1",
+ "ok" : "1",
+ "total" : "2",
+ "unhandled" : "1"
+ },
+ "unhandled" : "0"
+ }
+ ],
+ "summary" : {
+ "handled" : "5",
+ "host" : {
+ "handled" : "3",
+ "total" : "3",
+ "unhandled" : "0",
+ "up" : "3"
+ },
+ "service" : {
+ "critical" : "1",
+ "handled" : "2",
+ "ok" : "1",
+ "total" : "6",
+ "unhandled" : "4",
+ "unknown" : "4"
+ },
+ "total" : "9",
+ "unhandled" : "4"
+ }
+}
+