* Allow manual configuration of Pagerduty Integration Key
Pagerduty supports a global event queue per account and provides the integration key for it. This allows you to enter the key directly and bypass the OAuth workflow if desired.
* Update Pagerduty.php
Fixed spacing.
* Throw some shit together, rough outline.
* Reorganize tabs, use tab controllers
* Implement performance (into the latency tab)
* Update resources/views/device/header.blade.php
Co-Authored-By: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Add more tabs
* All controllers created
* Implement routes
* Implement smokeping
* routing and auth
* fix smokeping check
* Implement device dropdown menu
* Update deviceUrl to new style
* Use Gates
* Fix style
* use more appropriate gates
* add show-config gate
remove Laravel helper
* Only show vlan tab if VLANs exist for the device :D
* Fix rancid file check will return false
* revert over-zealous file name changes
* don't need to request the location parameter, just cast to string to avoid bugs when not found
* Move latency tab (ping/performance) to the position of performance instead of ping.
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Support FreeNAS/TrueNAS 11.3
Seems the latest release changes the SysObjectID from FreeBSD to
their own enterprise number.
I've left the old FreeBSD enterprise number in place, so both
older and newer releases will be detected.
* Test data
It's also possible to do zpool IO from the MIB, but diskIO on
LibreNMS makes a lot of assumptions about it coming from the UCD
MIB.
This changeset adds detection for FreeNAS and TrueNAS - despite
having their own enterprise number, the snmpd uses the FreeBSD
one.
The naming is a bit all over the place, because this reflects
reality - IXSystems produce FreeNAS and TrueNAS, the product lines
have merged to eliminate FreeNAS, but TrueNAS still calls itself
FreeNAS everywhere except the GUI.
I personally have no problem with them, but after a recent discussion in discord about a user asking which Repo, it got me thinking that maybe we should also stick to what the OS providers have to say? I see that (obviously) SCL and remi is on the trusted list, so shouldn't the install docs rather stick with them?
https://wiki.centos.org/AdditionalResources/Repositories
* opengear MemPools
Discovery and Polling of opengear mempools - opengear Detail Memory Usage is already collected however that can not be used to trigger rules.
* add test
opengear mempools tests
* remove newline
* Added sensors for outlets on Schleifenbauer devices. Also use the outlet name when configured.
* Updated tests for Schleifenbauer
* Fixed on test for Schleifenbauer
* Optimized polling by retriving only outlets from the device with the network connection, not all devices on the data-bus.
* Fixed code styling
* Use shorthand comparisons for names
* Fix for conflicting $entPhysicalIndex
* Add OS detection for Greenbone appliances
They don't expose anything fancy over SNMP, but this makes them
display interface names correctly. Under the hood they're unix-y.
Greenbone logo is from the AGPLv3 gsa, which is GPL compatible:
https://github.com/greenbone/gsa/blob/master/gsa/public/img/greenbone.svg
The mib is included for completeness, but it doesn't expose any
graphable values.
* Fix the vendor's logo
* BGP Polling: Add error code polling
* Rework describe_bgp_error_code and fix bgp error fields migration
* Add real test data for IOS-XR and Arista EOS
* Restore click on Dashboard menu entry
This breaks the submenu on mobile. We will have to come up with a better long term solution.
* use route helper since it exists
* OS detection and sensors for Dell Compellent
... or Dell storage as it is now known. Under the hood it's
referred to as Compellent, so I've named it as that to avoid
confusion.
It is not part of the Dell group or using the Dell MIB folder -
Dell have doubled up on some OID definitions, which means the MIB
here and a couple of the existing ones conflict.
The change adds OS detection and a frankly ludicrous amount of
sensors. I have access to a relatively low end device, so at the
moment everything under *ctlr* is my best guess based on the other
table layouts.
* Set sensor state_name to avoid collisions
* Regenerate test data
* Add php-opcache settings to Performance Tuning
* Updated according to comment made by @murrant
* Changed the content based on discussions in Discord.
* Fixed space.
* Incorporated all changes as per ongoing discussions
* My recommendations.
* My reply to recommendations.
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Sev and Rel terminology varies between devices
* Most temp sensors don't have low limits, so adding
* update test data
Co-authored-by: Tony Murray <murraytony@gmail.com>
On case insensitive systems, @lang('Auth') would match the auth.php file
and return an array instead of the string "Auth", causing a "Array to string conversion error"
* Fix routing engine discovery on standalone JunOS devices
In #9426, the sensor discover code was replaced with YAML.
Unfortunately it treats the FRU table as standalone OIDs, and did not
implement the filtering that was present in the original code.
This change causes LibreNMS to fully walk the FRU table, which allows us
to silence alerting on devices with an 'unknown' status. Without this
change, standalone devices have a spurious routing engine with state 1,
which triggers false harware failure alerts.
As we're changing the name of the sensors, this causes a loss of sensor
history.
This has been brought up on community a couple of times:
https://community.librenms.org/t/juniper-qfx-routing-engine-state-alert/6152https://community.librenms.org/t/spurious-failed-routing-engine-from-some-junos-devices/6208
* Update test data
* Update test data
* Update test data
* Update test data
* This syntax works, but fails linting
* Use model::class instead of string for binding
Originally from laravel shift
Shift bindings
PHP 5.5.9+ adds the new static `class` property which provides the fully qualified class name. This is preferred over using class name strings as these references are checked by the parser.
* Shift cleanup