* Added Recent Graylog Entries to Device Overview (WIP)
* Improved "Recent Graylog" entries on device overview (WIP)
Added $config['graylog']['device-page']['rowCount'] to set maximum rows shown in "Recent Graylog" on device overview (Default: 10)
Added $config['graylog']['device-page']['maxLevel'] to set the maximum message level shown in "Recent Graylog" on device overview (Default: 7, validates value to be >= 0 and <= 7)
* Fixed code styling issue
* Added Log Level filter to Graylog widget
Added Log Level filter to Graylog pages (device pages and graylog overview)
* Added documentation for new configuration options
* Removed unneccesary (and already commented) using
Renamed "maxLevel" to "loglevel" as suggested by a colleague
* Added doc for $config['graylog']['loglevel']
* Removed includes/html/print-graylog.inc.php and inlined it in includes/html/pages/device/overview/graylog.inc.php
Removed comma in json object in resources/views/widgets/graylog.blade.php
Replaced translation strings in resources/views/widgets/settings/graylog.blade.php with existing translation strings
* log level -> minimum log level
* Use Config::get() default functionality
* Oops
* Update Applications.md for mysql
Specified for Mysql the host 127.0.0.1 useful in some specific configs. Switched also the 6 <-> 7 steps, which makes more sens because of the package install (mysqli is needed for snmp extend).
* Add Open-Audit link display device asset details
* Add an external link using the template method
* Add external system link setting.
* Update device.inc.php
* Update Customizing-the-Web-UI.md
* rework the nfsen stuff
* add the new netflow stats page
* update the docs for nfsen
* add the functions back in
* readd the defaults
* rework lowest_five_minutes into lowest_time
* nfsen_channel_rrds removed and will rework it in later post rewriting
* rework something that accidentally got nuked in merging
* rework formatting a bit
* remove a accidentaly added chunk of text =^.^=
* rework some tag capitalization
* remove a accidentally added [
* '='=>' = '
* Added findByHostnameOrIp($hostnameOrIp) for devices.
Returns Device or null
Fixed Graylog device links, "device" parameter in URL was IP or Hostname instead of device id before
Added Severity number to name conversion. Can be activated by setting $config['graylog']['severity-names'] = "true" in config
Added Facility number to name conversion. Can be activated by setting $config['graylog']['facility-names'] = "true" in config
* Added $config['graylog']['match-any-address']. To enable matching Graylog entries by any interface address set to "true"
Added code to match Graylog entries by any interface address instead of only hostname or primary address
* Fixed missing quotation marks in <script> block in includes/html/common/graylog.inc.php:46, causing graylog page only load header with empty table. Introduced in https://github.com/librenms/librenms/pull/10447
* Modified code to reduce complexity as mentioned by codeclimate
* Changed findByHostnameOrIp($hostnameOrIp) as mentioned by https://github.com/murrant
* Added Language File "syslog.php" for Syslog Severity and Facility
Merged functions "levelName($level)" and "facilityName($facility)" to "syslogPrioParser($type, $value)" where $type should be "facility" or "severity" and $value the numeric or text facility or severity. Returns "NUMBER (NAME)" if possible, otherwhise returns $value
* Shortened findByHostnameOrIp($hostnameOrIp) as mentioned by https://github.com/murrant
* Add shortcut ipv4 and ipv6 device relationships
Better code for adding source addresses
Only translate level and facility if they are numeric
Allow level and facility to be sortable
No need for device link if we know it won't work. Before the code was punting to save sql queries.
* Cache devices
Took queries from 69 to 6 in my quick test.
* Added Documentation for $config['graylog']['match-any-address']
* Fixed missing quotation marks in app/ApiClients/GraylogApi.php:125
* Modification of the getUserlist fonction to use ldap filter
* Modification of the getUserlist fonction to use ldap filter V2
* documentation of auth_ldap_Userlist_filter option
* documentation of auth_ldap_Userlist_filter option V2
* Allow filtering of getUserlist LDAP function
* clean 1-Minute-Polling.md formatting
* cleanup formatting for Adding-a-Device.md
* clean up formatting of Cleanup-options.md
* cleanup formatting some for CLI-Tools.md
* cleanup formatting for Syslog.md and Configuration.md
* cleanup formatting for Device-Sensors.md
* cleanup formatting for Device-Troubleshooting.md
* cleanup Discovery Support.md
* cleanup Environment-Variables.md
* cleanup Example-Hardware-Setup.md and FAQ.mg
* update Features.md, Install Validation.md, Perfermance.md, Poller Support.md, and index.md
* cleanup Remote-Monitoring-VPN.md, SNMP-Configuration-Examples.md, and SSL-Configuration.md
* lots of updates for Installation docs
* more installation doc cleanup
* more formatting cleanup
* clean Work-Map.md up some
* 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
* 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
* Added configuration options to aggregate input and output bits before making 95th percentile billing calculations
* Changed aggregate to per-bill instead of global. Added config options for making aggregate the default selected option. Refactored out mres() calls in touched files. Changed to Config::get where appropriate.
* Fixed documentation typo
* Fixed scope of aggregate default config option to be under billing
* Instructions for logstash
How to configure logstash to send syslog to LibreNMS
* remove silly ssh syntax tags
* Fixed date formatting issue for afternoon times
* Refactor LibreNMS service
add ping
* services ported
remote legacy stats collection
* alerting
* implement unique queues
* update discovery queue manager
* remove message
* more cleanup
* Don't shuffle queue
* clean up imports
* don't try to discover ping only devices
* Fix for discovery not running timer
* Update docs a bit and and add some additional config options.
Intentionally undocumented.
* Wait until the device is marked up by the poller before discovering
* Handle loosing connection to db gracefully
* Attempt to release master after 5 db failures
* Sleep to give other nodes a chance to acquire
* Update docs and rename the doc to Dispatcher Service to more accurately reflect its function.
* add local notification
* Remove legacy index php file
* fix routing page missing data
* WIP
* fix $navbar global usage
* remove global use of $locations
* ObjectCache again...
* move vars.inc.php to init.php for legacy ajax
* navbar is more local than I thought before. Fix it.
* Fix some sensors tables escaping
* restore custom menu functionality, but with blade
and docs
* cleanup
* tidy menu @if checks
* Fix up the rest of the global variables and remove print-menubar.php
* consolidate some counting in the menu
* filter out empty custom port descr types
* Fix up custom port groups
* Fix up apps menu
* Fix services menu when all are ok
* Limit cached data to the user it is for
* Fix style
* A few clean ups
* fix pseudowire bug
* Update documentation to reflect matching behaviour
Added a note to help users with matching patterns for Oxidized OS matching patterns.
* Update Oxidized.md
* Updated JumpCloud authentication example
Updated JumpCloud authentication example. Relevant Community Support Thread: https://community.librenms.org/t/ldap-with-jumpcloud/6883
* Updated JumpCloud authentication example.
Updated JumpCloud authentication example in accordance with @murrant review.
I'm walking through installing smokeping, and running into some minor issues in the docs.
Basically:
1. Smokeping is a `fastcgi` application, and the config in the docs assumes that you have a fastcgi handler installed (`fastcgi_pass unix:/var/run/fcgiwrap.socket;`). I did not, and you get confusing errors.
2. I'm still not sure where the smokeping stuff is supposed to show up in the UI.
* Update Applications.md
Added the directions for installing the Nagios check check_postgres.pl for the Postgres Application.
* Update Applications.md
Remove git building instructions and simply adding a link to https://github.com/bucardo/check_postgres.
* Fix some comment and documentation typos.
* Fix various entphysical page display issues.
- Resolve flickering during loading (missing liClosed for nested items).
- Clicking a sensor actually takes you to the matching graph now.
* Add a few nicecase() calls to clean up html page display.
* Create discover_entity_physical() function
- Add discover_entity_physical() function into includes/discovery/functions.inc.php
- This allows for an easy implementation of OS-specific entity-physical discovery.
- Update includes/discovery/entity-physical/entity-physical.inc.php to use the new function.
* Add power_consumed and power_factor sensors.
* Two new icons, make more entPhysical data visible.
* Pre-commit fix: blank line found at end of control structure.
* Add Schleifenbauer OS support.
* Now really fix the comment typo.
* Fix parsing mistakes.
* Add a generic count sensor.
* Make the Schleifenbauer discovery use count instead of state sensors.
* Don't place count sensor at the top, add sane limits for Schleifenbauer
* Finetuning the rrd_options, changing Schleifenbauer sensor names.
* Update schleifenbauer.svg
* optimize logo too
* add test data
* fix sensor value display (spaces break it)
* update entPhysicalIndex
* add test data for the ups-apcups app
* add ups-apcups SNMP test data
* update for both legacy and JSON
* update the docs for the new extend
* add a comment so git sees this file as updated
* add missing "applications": {
* regen the json version
* properly regen the test json
* test fix
* fix the v1 tests json for ups-apcups
* regen post fixing json-app-tool
* regen the json again after more tweaks to the json-app-tool
* see if it does not like .0 for numbers that would otherwise be integers
* data is not a constant
* ...wow... missed that $json_return was mis-spelled twice :(
* re-add the .0s to some test data
* Begin adding preinstalled plugin documentation.
Also add information about how the titles of the plugins are displayed and detected.
Make page visible on the websites Table of Contents.
* Add note about plugin loading based on file name.
* Added all monitoring-plugins URLs.
* Format URLs on the service plugin docs list.
* Correct a URL on the plugins list.
* Removed leftover text from plugin list docs.
* Add pkg-nagios-plugins-contrib plugins to docs.
* Add DSA pkg-nagios-plugins-contrib plugins to docs
* Added a few missing lines of pkg-nagios-plugins-contrib text.
* Remove links plugins we dont have URL for.
Add a few more pkg-nagios-plugins-contrib ones.
* Remove list. Point to the main sources directly.
* add the poller for portactivity
* add the ability to get monitor ports for portactivity
* add the graphs for displaying stuff for the portactivity app
* add the portactivity app page
* update the docs for Portactivity
* remove extra line
* minor doc update for Portactivity
* add update_application line
* convert to use json_app_get
* convert curly brackets to square
* style fix
* remote error, errorString, and version after they stop being important so they are not processed
* add alert rule examples
* add the poller for portactivity
* add the ability to get monitor ports for portactivity
* add the graphs for displaying stuff for the portactivity app
* add the portactivity app page
* update the docs for Portactivity
* remove extra line
* minor doc update for Portactivity
* add update_application line
* convert to use json_app_get
* convert curly brackets to square
* style fix
* remote error, errorString, and version after they stop being important so they are not processed
* add alert rule examples
* remove dump of get_portactivity_ports function added during rebase
* update to the current json_app_get
* add portactivity snmprec
* add the portactivity test data
* whoops bad merge when rebasing... fix
* minor formatting cleanup and add a missing comma
* fix some odditities with what one of the tests is doing
* whoops... include the use for the exception
* set the response to okay
* attempt to make snmpsim array check happy again
* the json now lints
* more making metric testing happy
* one more update to make travis-ci happy
* now flattens arrays also add array_flatten
* rename array_flatten to data_flatten as pre-commit chokes on it as laravel has something similarly named
* go through and properly add all the metrics
* tested with the newest one and it works
* whoops, clean up json and remove prototype that was used when putting it together
* doh! make it happy with laravel now
* see if a minor changing in formatting for the numbers makes the polling unit test happy
* order them properly
* remove a comma
* a few more minor fixes
* Check to see if a host exists in a lookup table to translate received name to what LibreNMS knows
* Added some documentation on how this is configured
* Use \LibreNMS\Config instead of accessing $config directly
* Fix codeclimate finding: Additional blank lines after USE statement
* murrant suggested a much cleaner way of doing this!
Following the modification of the SNMP Nginx agent (https://github.com/librenms/librenms-agent/commit/e0dcd4a064cedb09241e4af17198bf61e8fd1bf3), linux distributions make requests in IPV6, so you must allow ::1
DO NOT DELETE THIS TEXT
#### Please note
> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.
- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)
#### Testers
If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`. If there are schema changes, you can ask on discord how to revert.