2c9df26bbf
By default libreNMS used the ifIndex to associate ports just found via SNMP with ports discoverd/polled before and stored in the database. On Linux boxes this is a problem as ifIndexes are rather likely to be unstable between reboots or (re)configuration of tunnel interfaces (think: GRE/OpenVPN/Tinc/...), bridges, Vlan interfaces, Bonding interfaces, etc. This patch adds a »port association mode« configuration option per device which allows to map discovered and known ports by their ifIndex, ifName, ifDescr, or maybe other means in the future. The default port association mode still is ifIndex for compatibility reasons. As port RRD files were stored by their ifIndex before, they are now identified by their unique and stable port_id to ensure a stable and unique mapping and allow future port association modes to be added without requireing any further internal changes. Existing RRD files are renamend accordingly in discovery and poller tools to ensure stability of port associations in both modules as we don't know which might run first after an update. Signed-off-by: Maximilian Wilhelm <max@rfc2324.org> |
||
---|---|---|
contrib | ||
doc | ||
html | ||
includes | ||
lib | ||
licenses | ||
mibs | ||
misc | ||
scripts | ||
sql-schema | ||
.editorconfig | ||
.gitignore | ||
.scrutinizer.yml | ||
addhost.php | ||
adduser.php | ||
alerts.php | ||
AUTHORS.md | ||
billing-calculate.php | ||
build-base.php | ||
build.sql | ||
CHANGELOG | ||
check-services.php | ||
config_to_json.php | ||
config.php.default | ||
CONTRIBUTING.md | ||
cronic | ||
daily.php | ||
daily.sh | ||
delhost.php | ||
discovery.php | ||
dist-pollers.php | ||
irc.php | ||
librenms.cron | ||
librenms.nonroot.cron | ||
LICENSE.txt | ||
Makefile | ||
poll-billing.php | ||
poller-service.conf | ||
poller-service.init | ||
poller-service.py | ||
poller-wrapper.py | ||
poller.php | ||
README.md | ||
renamehost.php | ||
snmp-scan.php | ||
snmp.conf.example | ||
snmpd.conf.example | ||
snmptrap.php | ||
syslog.php | ||
validate.php |
Introduction
LibreNMS is an autodiscovering PHP/MySQL/SNMP based network monitoring which includes support for a wide range of network hardware and operating systems including Cisco, Linux, FreeBSD, Juniper, Brocade, Foundry, HP and many more. LibreNMS is a community-based fork of Observium.
We intend LibreNMS to be a viable project and community that:
- encourages contribution,
- focuses on the needs of its users, and
- offers a welcoming, friendly environment for everyone.
The Debian Social Contract will be the basis of our priority system, and mutual respect is the basis of our behaviour towards others. For more about the culture we're trying to build, please read the Freenode philosophy, including guidelines for running an IRC channel and being a community catalyst.
Documentation
Documentation can be found in the doc directory or docs.librenms.org, including instructions for installing and contributing.
Participating
You can participate in the project by:
- Talking to us on IRC (##librenms on Freenode) or Twitter.
- Joining the librenms-project mailing list.
- Improving the documentation.
- Cloning the repo and filing bug reports and pull requests on github. See CONTRIBUTING for more details.
VM image
You can try LibreNMS by downloading a VM image. Currently, a Ubuntu-based image is supplied and has been tested with VirtualBox.
Download the VirtualBox / VMWare image and open it then log in with credentials provided. Enter the following command:
./daily.sh
You'll then need to find out the IP of your VM (ifconfig | grep add
) and
create a DNS entry for librenms.example.com
to point to that IP. You can
also edit your /etc/hosts
file with the following line:
$ip librenms.example.com
where $ip
is the IP of your VM.
Add a new user by entering:
./adduser.php <username> <password> 10 <email>
replace , and with a username, password and your email address.
From there, just point your web browser
to http://librenms.example.com/
and login with your new username and password.
License
Copyright (C) 2006-2012 Adam Armstrong adama@memetic.org
Copyright (C) 2013-2016 by individual LibreNMS contributors
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
LICENSE.txt contains a copy of the full GPLv3 licensing conditions.
The following additional license conditions apply to LibreNMS (a GPL exception):
As a special exception, you have permission to link or otherwise combine LibreNMS with the included copies of the following third-party software, and distribute modified versions, as long as you follow the requirements of the GNU GPL v3 in regard to all of the remaining software (comprising LibreNMS).
Please see Acknowledgements