Go to file
Tony Murray 1a60c44eb0
Device groups rewrite (#10346)
* Device Groups rewrite
Updated web ui
Static or dynamic groups allowed
Alert rule query builder
Translation support
Permissions support

* cleanup, make relationship save, and validate it

* builder WIP

* rules builder and rules saving/loading

* Parse query builder to Laravel Fluent query

* Upgrade existing groups when editing.
Properly update only dynamic groups when polling.

* remove unused old code
Update API and other places to use Eloquent

* debug output in poller restored

* Fix up some things
creating static
improved validation
fix js error on creation
Fix static groups in polling

* hide pattern for static group

* Implement authorization
Use in the menu too

* update schema

* fix rollback

* Don't abort on invalid queries

* fixes to query builder

* add test data, looks like macros aren't handled (omitted them because groups don't use them generally)

* Add macro support for QueryBuilderFluentParser

* add test for macro that accepts value

* More space in forms
Retain rules when converted to static
no duplicate names allowed

* Better error feedback
Update related devices on save

* Add button icon

* format

* update docs

* fix tests

* Fix some QueryBuilderFluentParser issues with OR
updated/more test data

* Show device groups runtime
fix querybuilder.json format

* Store table joins in the rules to minimize polling time
Update group joins in daily.sh (and when they are saved)

* Update daily.php

* Add units to time
2019-06-19 16:01:53 -05:00
.github Update github issue template (#9993) 2019-03-19 10:35:38 +01:00
LibreNMS Device groups rewrite (#10346) 2019-06-19 16:01:53 -05:00
app Device groups rewrite (#10346) 2019-06-19 16:01:53 -05:00
bootstrap php artisan serve and dusk testing (#9422) 2019-02-14 09:06:10 -06:00
cache fix: page/graph load speed: part 1 (#6611) 2017-05-10 08:57:10 +01:00
config User configurable locale (language) (#10204) 2019-05-23 10:05:45 -05:00
contrib feature: New IP parsing classes. Removes usage of Pear Net_IPv4 and Net_IPv6. (#7106) 2017-08-08 14:14:58 -05:00
database Device groups rewrite (#10346) 2019-06-19 16:01:53 -05:00
doc Device groups rewrite (#10346) 2019-06-19 16:01:53 -05:00
html Device groups rewrite (#10346) 2019-06-19 16:01:53 -05:00
includes Device groups rewrite (#10346) 2019-06-19 16:01:53 -05:00
licenses delete old stuff, put licenses into licenses 2011-09-29 15:58:18 +00:00
logs Restore gitignore file contents (#9784) 2019-02-06 06:57:44 -06:00
mibs Support for Fibernet XMUX4+ (#10331) 2019-06-11 22:16:10 -05:00
misc Device groups rewrite (#10346) 2019-06-19 16:01:53 -05:00
resources Device groups rewrite (#10346) 2019-06-19 16:01:53 -05:00
routes Device groups rewrite (#10346) 2019-06-19 16:01:53 -05:00
rrd Restore gitignore file contents (#9784) 2019-02-06 06:57:44 -06:00
scripts Remove console-ui (#10190) 2019-05-09 21:45:45 -05:00
sql-schema change polling code to use models (#9766) 2019-01-31 10:40:20 -06:00
storage Update to Laravel 5.7 (PHP 7.3 support) (#9800) 2019-02-12 17:45:04 -06:00
tests Device groups rewrite (#10346) 2019-06-19 16:01:53 -05:00
.codeclimate.yml More codeclimate tuning (#9197) 2018-09-13 12:18:58 -05:00
.editorconfig Update to Laravel 5.7 (PHP 7.3 support) (#9800) 2019-02-12 17:45:04 -06:00
.env.dusk.testing New User Management (#9348) 2019-04-22 19:01:39 -05:00
.env.example Add Laravel to LibreNMS (#8318) 2018-05-09 08:05:17 -05:00
.gitignore Ignore _ide_helper_models.php (#9952) 2019-03-22 19:39:54 -05:00
.mention-bot Update .mention-bot (#5371) 2017-01-09 21:19:03 +00:00
.scrutinizer.yml refactor: use Composer to manage php dependencies (#5216) 2017-01-01 09:37:15 +00:00
.travis.yml Fix chrome driver version mis-match (#10154) 2019-04-26 21:52:33 -05:00
AUTHORS.md Documentation: Fix broken links and anchors (#10194) 2019-05-06 21:50:45 -05:00
CHANGELOG.md Small Cleanup (#8871) 2018-07-07 13:55:17 +01:00
CODE_OF_CONDUCT.md docs: Added code of conduct doc in root (#7055) 2017-07-21 12:36:33 -05:00
CONTRIBUTING.md Point to the new place of the contributing documentation (#8276) 2018-02-21 21:50:24 +00:00
LICENSE.txt Update copyright instructions 2014-06-23 13:44:12 +10:00
Makefile webui: Removed unused JS causing issues with typeahead (#8307) 2018-03-09 18:11:24 +01:00
README.md Update Travis Status icon (#10168) 2019-04-30 09:18:36 -05:00
addhost.php feature: Support for up/down detection of ping only devices. 2017-10-27 22:59:25 -05:00
adduser.php Use Laravel authentication (#8702) 2018-09-11 07:51:35 -05:00
alerts.php Alert transport fixes (#8967) 2018-07-31 21:53:03 +01:00
artisan Update to Laravel 5.7 (PHP 7.3 support) (#9800) 2019-02-12 17:45:04 -06:00
billing-calculate.php Added aggregate config option to Billing 95th percentile calculations (#10202) 2019-05-27 21:44:02 -05:00
build-base.php Laravel migrations (#8868) 2019-01-14 06:44:23 -06:00
build.sql Remove graph_types definitions from DB (#9618) 2019-01-08 13:46:45 -06:00
check-services.php remove strict comparisons for check-services.php (#8992) 2018-08-06 20:29:06 -05:00
composer.json Fix chrome driver version mis-match (#10154) 2019-04-26 21:52:33 -05:00
composer.lock Update dependencies (#10325) 2019-06-11 21:37:01 -05:00
config.php.default docs: Use single quotes in example SNMP community per issue 8342 (#8348) 2018-03-09 17:26:29 +01:00
config_to_json.php Don't require db for config_to_json.php (#10100) 2019-04-17 22:11:40 -05:00
cronic fix: Updated bin/bash to use env in cronic script (#4752) 2016-10-13 22:23:53 +01:00
daily.php Device groups rewrite (#10346) 2019-06-19 16:01:53 -05:00
daily.sh Device groups rewrite (#10346) 2019-06-19 16:01:53 -05:00
delhost.php refactor: Centralize includes and initialization (#4991) 2016-11-21 20:12:59 +00:00
discovery-wrapper.py Added ability to enable debug output with wrappers (#8830) 2018-06-20 22:56:51 +01:00
discovery.php Improved Logging and Debugging (#8870) 2018-07-13 23:08:00 +01:00
dist-pollers.php refactor: Centralize includes and initialization (#4991) 2016-11-21 20:12:59 +00:00
irc.php refactor: Centralize includes and initialization (#4991) 2016-11-21 20:12:59 +00:00
librenms-service.py Updated shebang on librenms-service.py (#8875) 2018-07-08 22:25:29 +01:00
librenms.cron More more docs (#4197) 2016-08-25 18:40:11 -05:00
librenms.nonroot.cron Add note to cron file advising not to disable daily.sh (#9164) 2018-09-06 22:30:31 +01:00
lnms Rename librenms script to lnms (#9696) 2019-01-18 11:39:10 -06:00
mkdocs.yml Python dispatcher service v2 (#10050) 2019-05-20 11:35:47 -05:00
package.json Update to Laravel 5.7 (PHP 7.3 support) (#9800) 2019-02-12 17:45:04 -06:00
pbin.sh updated pbin.sh to be inline with other scripts and use env bash (#6583) 2017-05-05 07:52:52 +01:00
phpunit.xml Resubmit #9608 (#9941) 2019-03-12 23:59:03 -05:00
ping.php Fix ping.php poller groups setting 2018-11-12 09:27:28 -06:00
poll-billing.php Added cli options debug and bill_id to poll-billing.php (#9042) 2018-08-25 21:57:08 +01:00
poller-service.py feature: support non-standard unix socket (#5724) 2017-04-06 22:02:37 +01:00
poller-wrapper.py Added ability to enable debug output with wrappers (#8830) 2018-06-20 22:56:51 +01:00
poller.php fix poller.php with missing -h (#9621) 2019-01-07 21:26:57 -06:00
readmegen.yml added changelog for v1.25 (#6018) 2017-02-26 22:14:06 +00:00
renamehost.php refactor: Centralize includes and initialization (#4991) 2016-11-21 20:12:59 +00:00
requirements.txt Python dispatcher service v2 (#10050) 2019-05-20 11:35:47 -05:00
server.php php artisan serve and dusk testing (#9422) 2019-02-14 09:06:10 -06:00
services-wrapper.py Added ability to enable debug output with wrappers (#8830) 2018-06-20 22:56:51 +01:00
snmp-scan.py snmpscan.py: ignore bad DNS config (#8656) 2018-05-04 09:46:18 -05:00
snmp.conf.example snmp.conf is not needed so do not recommend to set anything (#6204) 2017-03-16 13:52:23 -05:00
snmpd.conf.example Documentation updates for DMI support and making two links in the FAQ work (#8440) 2018-05-08 18:35:25 -05:00
snmptrap.php Always boot Laravel (#9842) 2019-03-14 08:06:27 -05:00
syslog.php refactor: Centralize includes and initialization (#4991) 2016-11-21 20:12:59 +00:00
validate.php Always boot Laravel (#9842) 2019-03-14 08:06:27 -05:00
webpack.mix.js Update to Laravel 5.7 (PHP 7.3 support) (#9800) 2019-02-12 17:45:04 -06:00

README.md

Scrutinizer Status Scrutinizer Code Quality Travis Status

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.

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:

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 one of the VirtualBox images we have available, documentation is provided which details login credentials and setup details.

License

Copyright (C) 2006-2012 Adam Armstrong adama@memetic.org

Copyright (C) 2013-2017 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

Backers

Support us with a monthly donation and help us continue our activities. [Become a backer]

Sponsors

Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]