Files
librenms-librenms/includes/discovery/services.inc.php
Aaron Daniels 0d6cfec589 Nagios Services
- Moved check-services.php to a poller module
    - Added performance data collection to the poller
    - Centralised DB functions to includes/services.inc.php
    - Created add/edit/delete functions off the device, services page
    - Removed legacy edit/delete interfaces.
    - Moved and modified check.inc scripts
    - Documentation Updates
    - Modified services table
2016-03-15 22:23:14 +10:00

36 lines
977 B
PHP

<?php
if ($config['discover_services']) {
echo 'Services: ';
// FIXME: use /etc/services?
$known_services = array(
22 => 'ssh',
25 => 'smtp',
53 => 'dns',
80 => 'http',
110 => 'pop',
143 => 'imap',
);
// Services
if ($device['type'] == 'server') {
$oids = trim(snmp_walk($device, '.1.3.6.1.2.1.6.13.1.1.0.0.0.0', '-Osqn'));
foreach (explode("\n", $oids) as $data) {
$data = trim($data);
if ($data) {
list($oid, $tcpstatus) = explode(' ', $data);
if (trim($tcpstatus) == 'listen') {
$split_oid = explode('.', $oid);
$tcp_port = $split_oid[(count($split_oid) - 6)];
if ($known_services[$tcp_port]) {
service_discover($device, $known_services[$tcp_port]);
}
}
}
}
}
echo "\n";
}