librenms / librenms Goto Github PK
View Code? Open in Web Editor NEWCommunity-based GPL-licensed network monitoring system
Home Page: https://www.librenms.org
License: Other
Community-based GPL-licensed network monitoring system
Home Page: https://www.librenms.org
License: Other
The cronjob needs to be updated to include logrotate and stderr redirection to a log file.
See #6.
Documentation for fresh installation should be written. It is quite different in many ways from the current method referenced via the Observium website.
A working alerting system inside librenms will be a welcome addition.
It has been suggested on IRC using nagios as a basis to manage alerting could be a suitable system and would save much time with 99% of the functionality already written into nagios-core.
Glue can be written to populate nagios's static configuration files from the librenms database, a hook or cron job then setup to reload nagios's config on the fly when a change is made to the database.
Another advantage to using Nagios could be the inclusion of nagios performance data being fed back into librenms from existing Nagios checks which are far easier to write then the current observium/librenms style of polling checks.
There's already plenty of action around Observium on github: https://github.com/search?q=observium&ref=cmdformI
We should review the community contributions and integrate those which are useful and licensed appropriately. If they are being actively maintained, we should integrate them as submodules rather than just cloning.
We have the following configuration variables influencing autodiscovery:
Hi,
the /ports/ view is displaying each port twice.
I didnt dig into it yet but wanted to let you know of it for the log ;)
Cheers
The front screen doesn't give me warm fuzzies at the moment. My front screen has:
We probably should make the defaults show a bunch of top 10 things out of the box.
It's the one page I missed off as I'm never logged out :/
At the moment if a device goes down, it can result in port errors or ports down being displayed in addition to the device down. The code should exclude down devices from any further alerts (like reboots, port errors, ports down, etc.).
I've created a status page for devices like Observium has, I had to create this for my dashboards to work so I thought I'd release just this section as it may be helpful to others.
This will allow online updates to be done.
Couple of things for this:
Need to create a small doc on how to enable the billing module.
Branding referencing Observium should be removed.
This includes logos, links, etc. References to contributors should remain for posterity.
The polling wrapper written in Python that is in the current Observium releases is released to public domain. We should be able to integrate it without licensing concerns.
Top 10 ports on the homepage is struggling when a hostname has a - (hyphen) in it and long port names.
I'm going to add links to the status box at the top so you can go straight to the relevant filtered pages.
Needs to default to $config['page_title_prefix'] which is set to $config['project_name'] which isn't blank.
What I found while installing:
They would be much better being side-by-side rather than on top of each other.
When selecting ports from the drop down in the billing section, apache logs:
PHP Notice: Undefined index: debug in /opt/librenms/html/ajax_listports.php on line 15.
Simple fix, I'll put a pull request through shortly.
Hi,
there's a bug in the polling of ifAlias. I had this with observium aswell and needed to manually patch some php files, sadly a coworker blindly removed the entire observium suite before we got librenms so the patch is gone.
I will try to get into it again and provide a 'new' one.
Until then, can anyone confirm this bug?
Cheers
Makes things hard to see and work out when they pop up.
I'll change over to a white background to make it easier to see them.
As discussed on IRC and within Roadmap.
This issue report is meant to be a pool of features this enhancement should have as well as structural discussion.
I will write the code as demanded by comments or IRC.
08:26:24 blahdeblah | I think we'd be silly to try to support everything. We should make it work well enough to meet the needs of those who want the feature, but trying
| to make it suit people who aren't even using it isn't necessary, IMO.
08:27:34 blahdeblah | e.g. My work networks use HP & Cisco - I think both of them have a read-write SNMP implementation, so if it works with them, I'm happy. Then if we
| put the feature out there and other people try it and want it to work for them, they can submit patches.
08:28:37 f0o | true true
08:29:21 f0o | well I might give it a shot, at least the WebUI and a switching php can be done without even looking at the snmp implementations of the hardware
08:29:44 f0o | gonna keep it simple so the snmp instructions for given hardware can be added later without a big fuzz of code
08:29:51 blahdeblah | yep - a front end that we could add different backends to would be great
09:03:26 lafwood | When you're doing it it would be a good idea to validate what vlans exist on the switch before changing one on a port.
09:03:48 lafwood | I know on cisco if you change the ports vlan to one that doesn't exist then that vlan is created.
09:04:04 lafwood | Bad times may be had.
09:17:16 blahdeblah | Indeed
09:17:49 blahdeblah | There would need to be a set of primitives implemented, e.g. check for VLAN existence, check for port existence, etc.
09:18:07 blahdeblah | The more I think about it, the bigger a nightmare it becomes ;-\
09:18:39 blahdeblah | We'd basically have to reinvent SNMP at the API level, and then some...
09:20:28 lafwood | :) Certainly wouldn't be simple
PS: Can a mod/admin change the status to 'Enhancement' and add me as "assigned to"? Thanks
chmod +x poller-wrapper.py needs adding to install docs.
Missed off the fonts directory, this isn't noticeable at the moment but just in case anyone is going to use it.
Discovery displays:
Observium v0.SVN.ERROR Discovery
It should say LibreNMS and probably eliminate the version for now
I believe it's in includes/versioncheck.inc.php .. This appears to report back usage statistics, should be removed from librenms code.
The top X boxes aren't always applicable to everyone so allow these to be switched off from config.
tooms pointed me to https://github.com/midgetspy/Sick-Beard/blob/development/sickbeard/versionChecker.py, which implements checking of the installed version of a package against the current version in github. The overall approach it uses is something like this:
One can also compare 2 commits and tell someone how far behind or ahead of the HEAD of a branch they are: http://developer.github.com/v3/repos/commits/
I think we should put some checks like this in the about page or the system overview status box eventually.
This is popping up all over the show;
"Observium v0.SVN.ERROR Discovery"
Login sessions need to be more secure. Possible ideas:
Need to decide whether it's a good idea to turn on ARP autodiscovery by default. LibreNMS is supposed to autodiscover things, but ARP autodiscovery might be a bit intensive. On my home install it reported on the first run of the autodiscovery: "21 devices discovered in 223.9 secs". On large networks a discovery like this could run for hours.
One option might be to limit the number of devices autodiscovered in a single run. However, because discovery only runs once every 6 hours, it might take a very long time to effectively discover a moderate-sized network.
To mitigate this, should we set a target time for full discovery, and then calculate how many hosts based on the size of the ARP tables? I could see myself trying to get too clever here...
When deleting a device from the web interface, the rrd files and directories aren't removed. This will be due to those folders and files being owned by the user that the poller runs as (root).
Observium has moved on since r3251 (the last GPL-licensed revision). We need to work out what functionality is missing that people need.
As discussed on irc. Based on how the shorthost() function works the hostnames get shortened arbitrarily.
I was struck by the visual difference between Observium 0.13.10.4586 and r3251, from which we forked. Some things that are much uglier:
Some things I like better on the old version:
Any comments? What else have you found while testing?
Observium seems to be a bit of a licensing minefield. The overall Observium license for the revision from which LibreNMS was forked is GPLv3 or later, but there are a number of components included which may be in conflict with this. Candidates include:
Licenses which are OK according to http://www.gnu.org/licenses/license-list.html:
On a fresh install with 4 devices, I've found that only 3 devices show in the top 10 devices, localhost is missing.
Need to support some newer OSes that have been released since poller was originally created.
Setting $config['install_dir'] in config.php is supposed to change the directory Libre is installed into, whilst this does happen the issue is the following variables depend on this:
$config['html_dir'] = $config['install_dir'] . "/html";
$config['rrd_dir'] = $config['install_dir'] . "/rrd";
$config['log_dir'] = $config['install_dir'] . "/logs";
Because $config['install_dir'] is already set just before these in defaults.php then they use the default of /opt/librenms rather than what might be set in config,php. The above variables need to be moved into definitions.inc.php and checked if they are already set before resorting to defaults.
The ARP autodiscovery as at c1f8a5c is working, but produces entries like this in the event log:
2013-11-02 16:45:20 eth3 Device autodiscovered through ARP on r1.example.com
2013-11-02 16:45:19 Device autodiscovered through ARP on r2.example.com
The entry should show the name of the host discovered. I should also work out why sometimes the interface is shown and sometimes it isn't.
Devices tota is blank on home page when no devices, this should default to 0 rather than blank.
When you click logout, you are redirected to /logout/ which is then used if you re-authenticate from that page and thus, logs you back out :)
Some files and folders are no longer used so should be removed.
Rather than scrollout, these boxes should fade so it's not as impacting on the eye as per Paul's request in:
https://groups.google.com/forum/#!topic/librenms-project/dc3oR7GWhFQ
The mysql_
functions currently in use are deprecated as of PHP 5.5.0 in favor of the mysqli_
functions.
See the PHP FAQ for more details.
We need to start looking at a migration path.
Adding confirmation that user wants to remove the device and also if they want the rrd files to be removed or not.
Virtual Machine image should be created to help users try LibreNMS with minimal effort.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.