Index: includes/definitions/mibs/cisco-umbrella-va.inc.php =================================================================== --- includes/definitions/mibs/cisco-umbrella-va.inc.php (nonexistent) +++ includes/definitions/mibs/cisco-umbrella-va.inc.php (working copy) @@ -0,0 +1,7 @@ + 'ok', 'event' => 'ok' ]; +$config['mibs'][$mib]['states']['cisco-umbrella-va-status'][2] = [ 'name' => 'warning', 'event' => 'warning' ]; +$config['mibs'][$mib]['states']['cisco-umbrella-va-status'][3] = [ 'name' => 'alert', 'event' => 'alert' ]; +$config['mibs'][$mib]['states']['cisco-umbrella-va-status'][4] = [ 'name' => 'ignore', 'event' => 'ignore' ]; + Index: includes/definitions/os/ciscoumbrellava.inc.php =================================================================== --- includes/definitions/os/ciscoumbrellava.inc.php (nonexistent) +++ includes/definitions/os/ciscoumbrellava.inc.php (working copy) @@ -0,0 +1,15 @@ + '.1.3.6.1.4.1.8072.3.2.10', + 'sysDescr' => '/Umbrella Virtual Appliance/', +]; +$config['os'][$os]['mibs'][] = "CISCO-UMBRELLA-VA-MIB"; +$config['os'][$os]['snmp']['nobulk'] = 1; Index: includes/discovery/sensors/cisco-umbrella-va-mib.inc.php =================================================================== --- includes/discovery/sensors/cisco-umbrella-va-mib.inc.php (nonexistent) +++ includes/discovery/sensors/cisco-umbrella-va-mib.inc.php (working copy) @@ -0,0 +1,22 @@ +'Queries pr second over last 5 minutes', + '.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.113.112.115.49.53.1'=>'Queries pr second over last 15 minutes', +]; +$num=0; +foreach ($umbva_oids as $oid=>$name) { + $num++; + print_debug("Cisco Umbrella VA found - trying to find sensors for $name"); + //$snmp_get = snmp_get($device, $oid, "-OsqnU", ""); + $snmp_get = snmp_get_oid($device, $oid,null); + if ($snmp_get) + discover_sensor('gauge', $device, $oid,$num, 'cisco-umbrella-va', $name, 1, $snmp_get, null); + } +} Index: includes/discovery/status/cisco-umbrella-va-mib.inc.php =================================================================== --- includes/discovery/status/cisco-umbrella-va-mib.inc.php (nonexistent) +++ includes/discovery/status/cisco-umbrella-va-mib.inc.php (working copy) @@ -0,0 +1,31 @@ +'VA', + '.1.3.6.1.4.1.8072.1.3.2.4.1.2.3.100.110.115.1'=>'Umbrella DNS Resolvers', + '.1.3.6.1.4.1.8072.1.3.2.4.1.2.8.108.111.99.97.108.100.110.115.1'=>'Local DNS', + '.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.99.108.111.117.100.1'=>'Umbrella Cloud', + '.1.3.6.1.4.1.8072.1.3.2.4.1.2.2.97.100.1'=>'AD Connector', +]; +$lookfor = [ + 'green'=>'ok', //2, + 'yellow'=>'warning',//0, + 'red'=>'alert', //1, +]; + +foreach ($umbva_oids as $oid=>$name) { + print_debug("Cisco Umbrella VA found - trying to find status for $name"); + $snmp_get = snmp_get_oid($device, $oid,$mib); + $statusname = strtolower(strtr($name,[" "=>""])); + $found = null; + foreach($lookfor as $find=>$status) { + if (preg_match("/".$find."/",$snmp_get)) { + //echo "found $status in $snmp_get\n"; + $found = $status;; + } + } + if ($found!=null) { + discover_status_ng($device, 'CISCO-UMBRELLA-VA-MIB', 'cisco-umbrella-'.$statusname, $oid, null, 'cisco-umbrella-va-status', $name, $found, ['entPhysicalClass' => 'other']); + } + +} Index: includes/polling/status/cisco-umbrella-va-status.inc.php =================================================================== --- includes/polling/status/cisco-umbrella-va-status.inc.php (nonexistent) +++ includes/polling/status/cisco-umbrella-va-status.inc.php (working copy) @@ -0,0 +1,35 @@ + exclude, 1 -> ok, 2 -> warning, 3 -> alert, 4 -> ignore +$lookfor = [ + 'green'=>['event'=>'ok','value'=>'1'], //2, + 'yellow'=>['event'=>'warning','value'=>'0'], + 'red'=>['event'=>'alert','value'=>'2'], //1, +]; +foreach($lookfor as $find=>$status) { + if (preg_match("/".$find."/",$state)) { + $status_poll['status_event'] = $status['event']; + $status_poll['status_name'] = $state; + $status_value = $status['value']; + } +}