librenms-librenms/includes/polling/os/fortigate.inc.php
Tony Murray 57650e4ffc Remove nfs requirement for distributed poller (with rrdtool 1.5+)
Use data_update instead of rrd_update/rrd_create and influx_update
Centralize rrd file check so we can check against a remote rrdcached server too
Use rrd_name() to generate rrd file names
2016-07-07 21:10:06 -05:00

40 lines
1.3 KiB
PHP

<?php
$fnSysVersion = snmp_get($device, 'FORTINET-FORTIGATE-MIB::fgSysVersion.0', '-Ovq');
$serial = snmp_get($device, 'ENTITY-MIB::entPhysicalSerialNum.1', '-Ovq');
$version = preg_replace('/(.+),(.+),(.+)/', '\\1||\\2||\\3', $fnSysVersion);
list($version,$features) = explode('||', $version);
if (isset($rewrite_fortinet_hardware[$poll_device['sysObjectID']])) {
$hardware = $rewrite_fortinet_hardware[$poll_device['sysObjectID']];
}
if (empty($hardware)) {
$hardware = snmp_get($device, 'ENTITY-MIB::entPhysicalModelName.1', '-Ovq');
}
$sessions = snmp_get($device, 'FORTINET-FORTIGATE-MIB::fgSysSesCount.0', '-Ovq');
if (is_numeric($sessions)) {
$rrd_def = 'DS:sessions:GAUGE:600:0:3000000';
print "Sessions: $sessions\n";
$fields = array(
'sessions' => $sessions,
);
$tags = compact('rrd_def');
data_update($device, 'fortigate_sessions', $tags, $fields);
$graphs['fortigate_sessions'] = true;
}
$cpu_usage = snmp_get($device, 'FORTINET-FORTIGATE-MIB::fgSysCpuUsage.0', '-Ovq');
if (is_numeric($cpu_usage)) {
$rrd_def = 'DS:LOAD:GAUGE:600:-1:100';
echo "CPU: $cpu_usage%\n";
$fields = array(
'LOAD' => $cpu_usage,
);
$tags = compact('rrd_def');
data_update($device, 'fortigate_cpu', $tags, $fields);
$graphs['fortigate_cpu'] = true;
}