* 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 [
* '='=>' = '
* Add more api helper functions
to centralize code more
* Enable cors
* Initial Legacy route in Laravel
* Force api v0 responses to json
Add a couple more routes
* more paths, pretty print the json response
pass parameters to the api function
* devices basic functions
* Port generic graph function
check permissions function accepts callback to avoid lots of if statements
* move vlans
* links
* graphs
* fdb
* health
* wireless
* port graphs
* ip functions
split em up
* port_stack
* components
* compoment add/edit/delete
* get_device_groups
* port stats
* port graphs
* get_devices_by_group
* port_groups
* api_get_graph
* show_endpoints
* get_bill
* get_bill_graph
* get_bill_graphdata
* get_bill_history
* get_bill_history_graph
* remaining bill functions
* list_alerts
* ack/unmute alert
* Some cleanups
* Some cleanups
* list_alert_rules
* alert rule add/edit/delete
* inventory
* list_cbgp
* vrf
* list_ipsec
* list_fdb
* list_links (fix both usages)
* list_locations
* list_locations
* list_vlans
* list_ip_addresses
* list_arp
* list_ip_networks
* cleanup
* services
* list_logs and fix authlog.......
* cleanup
* cleanup 2
* remove slim
* don't load schema more than once
* basic test
* fix style
* downgrade laravel-cors to a version that supports PHP 7.1
* 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
* Transport API - Doc for placeholders
The available placeholders are the same as the Templates documentation but the syntax is not exactly identical.
* Update Transports.md
* Update Transports.md
* Update Transports.md
* 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
* Add support for using Markdown.
Alert templates can be written using Webex Teams (i.e., Spark) Markdown,
which makes for some richer alerts. This option defaults to false to
maintain Principle of Least Astonishment.
* Update Cisco Spark docs.
* Mention that Cisco Spark is now called Webex Teams
* Add support for Markdown
* Refactor text.
Do not exceed 80 characters per line.
* Refactor code to meet style guidelines.
* Remove errant tabs and use spaces instead
* Correct type check
* Remove use of 'else'
* Allow new {{ $xxxx }} syntax
* Properly handle urlencode on variable values without braking the URL, and uses Blades
* Doc
Doc typo
* use Guzzle for HTTP requests
* Add Basic auth support
* Doc update
* clean
* Revert Blades, but keep the {{ $xxxx }} syntax
* Revert Blades, but keep the {{ $xxxx }} syntax
* Init Vars and comments
* Notifications
* api-options are not required
* Update notifications.rss
* Default to null for group yaml discovery.
* Update test data for a154bda yaml group null fix.
* Changes to guessed limit functions for sensors.
Original behaviour
===================
The file `includes/discovery/functions.inc.php` contains
`sensor_limit_low()` and `sensor_limit()` which both attempt to
guess a sane value for sensors when no explicitly defined
low_limit or high_limit can be found during discovery.
Both switch control structures used in those two functions
have empty case statements which means that if one of those matches,
it's going to fall through and run the code for each subsequent
case until a `break` is reached.
For example, when we call `function sensor_low_limit(dbm, -13.036)`
it will return the value `-12.3842` instead of `null`. That is
because there will be a match at `case 'dbm':` which falls through
all the way to `case 'cooling':`, where it performs
`$limit = -13.036 * 0.95` before hitting a `break`.
Changed behaviour
===================
Removed `power_consumed` and `count` guessed low_limit and
high_limit, I personally added those sensor classes in PR #9471
when I didn't understand that a switch control structure has
fall-through behaviour so I can guarantee that guessing limits for
those is a mistake on my behalf. It should not be there, only
power_factor can have guessed limits. Apologies for the issue,
I'm still a beginning programmer!
Furthermore, I removed guessed high_limit values for `current`
and `power` because these are supposed to draw higher values as
more devices or components are installed on for example a PDU or
a chassis.
Finally, I removed guessed low_limit and high_limit for `dbm`
sensors, there is a much too large variance in power budget on
commercially available optical transceivers for there to be a
sensible window where you can guess these values.
* Documentation on adding sensor classes.
* Update test data - sensor limit changes @ 30212d2
* clean up all but header incrementing in Creating-Transport.md
* make Device-Dependencies.md mdl happy
* make Entities.md as mdl happy as possible... one long table line left
* make mdl as happy as possible for index.md
* clean up Introduction.md as much as possible
* minor formatting cleanup... move each icon onto its own row
* make ack and notes the same style
* clean Macros.md up
* clean Rules.md up as much as possible
* tweak one line a bit to get it to format a bit nicer
* a bit more format tweaking, making sure it does not sure with >
* clean up as much as possible for Templates.md
* make Testing.md as mdl happy as possibly
* clean Transports.md up as much as possible
* clean as many issues as possible for Alerts.md
* clean up as much of ARP.md as possible
* clean up as much as possible for Bills.md
* make DeviceGroups.md as mdl happy as possible
* cleanup Devices.md
* make as mdl happy as possible Inventory.md and index.md
* mdl cleanup for Logs.md and PortGroups.md
* make Ports.md and Routing.md as happy as possible
* clean up Services.md, Switching.md, and Systems.md as much as possible
* more markup cleanup
* lots more md cleanup udner Devloping/
* reapply bits from #10343 that accidentally got removed when merging
* 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
* Split install steps into git clone and composer install
This gives the admin a little more knowledge about how to maintain the system, showing them composer_wrapper.php and su - librenms
They will get errors if composer_wrapper doesn't work because of a proxy or no internet connection
We lose stats on packagist.org (https://packagist.org/packages/librenms/librenms/stats)
If we wanted to keep stats, we could use:
```
COMPOSER_ALLOW_SUPERUSER=1 composer create-project --no-dev --no-install --keep-vcs librenms/librenms librenms dev-master
```
not sure that is worth it.
* fix composer_wrapper.php path
* 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