Commit Graph
6546 Commits
Author SHA1 Message Date
Vitali KariandTony Murray 1de640c3aa MPLS Services (#10421)
* initial database migrations

* first part, discovery

* second part, polling

* add SAP polling and discovery

* style checks

* rename variables in more generic way

* html global pages for sdp and sdp binds

* add Services and SAPs

* port links, database, etc.

* html device routing pages

* add tests

* checks

* rework database id relationship

* scruntinizer inspection

* fix unit test for new mpls tables
2019-07-27 23:11:04 -05:00
CirnoTandTony Murray 60c538ad8c Don't display INF% for percentage of used transfer when billing is CDR (#10446) 2019-07-27 22:56:51 -05:00
rsys-devandTony Murray 6394c35ce6 Graylog entry matching device if source is not hostname or primary ip (#10458)
* 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
2019-07-26 15:13:35 -05:00
arrmoandTony Murray 432496f27a Add OpenWrt OS support (discovery, poller) (#10454)
* Add OpenWrt OS support (discovery, poller)

* Add snmprec for Openwrt

* Update openwrt.inc.php

* Create openwrt.json
2019-07-25 07:05:12 -05:00
Martijn SchmidtandTony Murray ad044f478c MRV: temperature limits from MIB (#10326)
* Update MRV MIBs to version 5.14.1

* Learn SlotTemperature limits from the new MIB.

* Rename MIB files to the name of the MIB.

* Update mrv-od.snmprec

* Update mrv-od.json
2019-07-23 23:50:37 -05:00
CirnoTandTony Murray 2b13072ff0 Properly format 95th CDR as SI Mbps in billing (#10444) 2019-07-23 23:47:05 -05:00
ig0rbandTony Murray 3342210067 FS.net pdu (#10424)
* Added support for snmp monitored PDU from fs.com

* Added support for snmp monitored PDU from fs.com

* Fix sysObjectID 1.3.6.1.4.1.30966

* Create fs-net-pdu.json
2019-07-23 22:55:53 -05:00
jozefrebjakandTony Murray 625864ffa2 Added Support For Teltonika RUT2XX Devices (#10358)
* Added Support For TLT RUT2XX Devices

* Deleted unnecessary vaules

* required changes

* delete group unix

* updated tests

* Update rutos-2xx.json

* Update rutos-2xx.yaml

* Update rutos-2xx.json
2019-07-23 20:56:42 -05:00
CirnoTandTony Murray cafcf417fa Fix NetAgent II battery voltage (#10427)
* Fix NetAgent II battery voltage

* Add new test data and new icon for NetAgent
2019-07-22 23:34:31 -05:00
VTSandPipoCanaja a382d11c75 Added phase2 name to fortigate IPSEC sensor. (#10423)
* Add phase2 name to IPSEC sensor.
For VPN tunnels with more than one phase2, the sensor is confusing. 
Using the phase2 value provides both the phase1 and phase2 name for a more complete sensor.
* Update fortigate.yaml
phase1\phase2 naming for a more clear sensor.
test data to come
* add test data
* more test data?
* missing whitespace compared to original
* Remove wireless data
2019-07-19 09:49:56 +02:00
djamp42andTony Murray fd42ea6e83 Add more detail to webgui alerts (#10388)
* alert sysname

* use existing config option

* add location to alert table

* made location a link

* fix formating

* Update alerts.inc.php
2019-07-18 23:24:24 -05:00
Tony MurrayandGitHub 36a5da00ca Fix missed alert function renames (#10452) 2019-07-18 11:05:43 -05:00
Heath BarnhartandTony Murray 851994cfb8 Alert Subsys to OOP and SNMPTraps trigger Alert Rules (#9765)
* Changed snmptrap.php and handlers to allow for alerts.

* Moved RunRules() to Dispatcher.php

* Modified includes, passes pre-commit tests locally.

* Converted RunRules to OO, fixed formatting in files found by TravisCI

* rebase, covert alert subsy to oop

* Modified init.php to call new Alert subsystem

* fixed dependencies

* Resolved undefined functions

* Fixed PingCheck.php not triggering

* Changed runAlerts to __construct

* Fixes
Can't have Config inside empty()
incorrectly named function (my fault)
poller.php missing shebang
organize imports
2019-07-18 08:36:02 -05:00
Tony MurrayandGitHub e63dc17e73 Fix ports page javascript (#10451) 2019-07-18 08:29:42 -05:00
Tony MurrayandGitHub 3ead462549 Enable CSRF protection (#10447)
* Enable CSRF protection

* fix style issues
2019-07-17 07:20:26 -05:00
bergrothandPipoCanaja b085703b2d Added support for DGD and BER on newer infinera-groove FW (#10435)
* Added support for DGD and BER that are avalible on newer infinera-groove FW
* updated tests for new groove sensors
* Update infinera-groove.inc.php
* Update infinera-groove.inc.php
* Force test to run again
2019-07-15 12:47:41 +02:00
PipoCanajaandTony Murray 837765fabe Added VRP SFPs thresholds and map entPhysical to ifIndexes (#10363)
* gather SFPs thresholds and map entPhysical to ifIndexes

* Update entity-physical.inc.php

Comment and force TravisTests

* codeclimate

* Simplify ifIndex collection

* Always update ifIndex

* Missing pre-cache value for skip_value
2019-07-14 18:37:01 -05:00
SerazioandTony Murray 902aedcd82 Added F5 ssl tps, global server/client connection rate and active connections (#9883)
* Added ssl tps, global server/client connection rate and active connections

* Added ssl tps, global server/client connection rate and active connections

* Added ssl tps, global server/client connection rate and active connections

* Added ssl tps, global server/client connection rate and active connections

* Moved from  2x snmp_get to snmp_get_multi for SSL TPS

* Rewrite of polling module for f5.  Thanks to @PipoCanaja for code examples.

* Moved files to includes/html/

* changed array definition
2019-07-14 18:33:20 -05:00
Ryan MedlynandTony Murray 4750dea04a Fix structure of network_map_legend defualt (#10429)
Fix array to allow `Config::get('network_map_legend.dn.node')` in `print-map.inc.php` to work properly.
2019-07-14 16:42:35 -05:00
CirnoTandTony Murray a0ac361174 Fix missing background on progress-bar for 95th bills (#10443) 2019-07-14 16:40:55 -05:00
CirnoTandPipoCanaja d4c109232a Ensure that sysName is trimmed on discovery (#10434) 2019-07-10 17:54:24 +02:00
ospfbgpandPipoCanaja fc2f0a4552 Updated RAPID-CITY mib for Extreme VSP (#10406)
* Add files via upload

* Update voss.inc.php

* Update voss.inc.php

* Update voss.yaml

* Update voss.inc.php

* Update voss.inc.php

* Update voss.inc.php

* Update voss_7432cq.json

* Update voss_7432cq.json

* Add files via upload

* Add files via upload

* Update voss_8404.json

* Update voss_8608.json

* Update voss_8608.json

* Update voss_8608.json

* Update voss_8608.json

* Update voss_9012.json
2019-07-09 23:54:21 +02:00
PipoCanajaandNeil Lathwood 71da38cdf5 Added skip_values operator and documentation (#10419)
* more operators

* os_schema

* discovery_schema

* doc

* doc
2019-07-09 15:47:02 +01:00
Sander SteffannandNeil Lathwood 164f3a096a Fixed smokeping graphs (#10415)
* Remove duplicate code

* Fix smokeping rrd file discovery

* Fix Smokeping outgoing graphs
2019-07-09 10:28:35 +01:00
Vitali KariandPipoCanaja 592b2ea432 Added new Sensors for Nokia Subscriber Statistics (#10422) 2019-07-08 13:59:52 +02:00
tgregory86andPipoCanaja 394d66a3f0 Typo in Spelling prevented new services from being added. (#10420)
When attempting to add a new services this was showing up in the logs:
[2019-07-07 09:44:53] production.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'servcie_disabled' in 'field list' (SQL: INSERT IGNORE INTO `services` (`device_id`,`service_ip`,`service_type`,`service_changed`,`service_desc`,`service_param`,`service_ignore`,`service_status`,`service_message`,`service_ds`,`servcie_disabled`)


No error was presented in the gui, it said the service was added but in fact it was not and when you went back to the list of all services the one you tried to add was not present.
2019-07-07 17:53:15 +02:00
Heath BarnhartandPipoCanaja 5a2f2497bb Allow setting Service Ignore and Disable in UI (#10334)
* Added disable and ignore checkboxes to services modal

* Updated add_services function to set disabled field

* Modified check-services.php respect service_disable value

* Minor code change for consistency in new_service.inc.php

* Removed unneeded includes
2019-07-06 17:58:06 +02:00
rsys-devandPipoCanaja cfaf913896 Added detection for ZTE zxdsl devices (#10344)
* add yaml files

* Added include/definition/zxdsl.yaml (ZTE ZXDSL Support)
Added include/polling/os/zxdsl.inc.php (Set Hardware)

* Changed includes/definitions/zxdsl.yaml type from "dslam" to "network"
Changed includes/polling/os/zxdsl.inc.php removed unnecessary code
Added Testfiles

* Fixed coding guideline errors (missing spaces)

* Removed unnecessary "use"

* Improved model number discovery
Removed unavailable top graphs
Added System temperature

* Changed Temperature limits according to ZTE datasheet

* Updated Tests
2019-07-05 13:06:27 +02:00
Shao Yu-Lung (Allen)andPipoCanaja bd1204006a Fixed Nan value broken maps network graph. (#10408)
Error message:
Uncaught TypeError: Cannot read property 'indexOf' of null
at Object.e.overrideOpacity (vis.js:1085)
2019-07-05 08:50:56 +02:00
jozefrebjakandPipoCanaja 20b3211e7e Added Support for Unitrends Backup (#10411) 2019-07-05 08:49:03 +02:00
PipoCanajaandNeil Lathwood 55f67f42fe Refactor Api transport to use Guzzle (and new variables syntax) (#10070)
* 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
2019-07-04 16:55:29 +01:00
CirnoTandPipoCanaja 86740a76c0 Replaced color indicator near uptime counter with colored text and change color of status indicator to black on disabled devices instead of gray(#10372)
(matches availablity map with show ignored/disabled enabled)
2019-07-04 10:42:48 +02:00
Stuart HendersonandNeil Lathwood 161849219e Avoid unnecessary net-snmp long options for version info (#10405)
Long option support in net-snmp relies on non-portable usage of getopt(3) with "-:" in the argument string, this doesn't work on all OS. Replace with the alternative -V which works everywhere.
2019-07-02 16:52:55 +01:00
jozefrebjakandNeil Lathwood 3531454a6e Added VPN sensors for Fortinet Fortigate (#10384)
* Added IPSEC VPN state

* Added more VPN sensors

* Test Data cleaned
2019-07-02 15:58:42 +01:00
Tony MurrayandNeil Lathwood f83ce13a7a Fixed tabs and units on the wireless page (#10401) 2019-07-02 13:11:58 +01:00
SniperVegetaandPipoCanaja f419419830 Added panasonic ns1000 os (#10390)
* Add files via upload

panasonic png

* Create panasonic-ns.yaml

Panasonic NS

* Create panasonic-ns.inc.php

Panasonic NS Series

* Create KX-NS.mib

Panasonic NS mib file

* Add files via upload

Add snmprec

* Add files via upload

add panasonic-ns data

* Update panasonic-ns.inc.php

Space?
2019-07-02 00:08:04 +02:00
ospfbgpandPipoCanaja 9740120e97 Added support for Extreme VSP-7432CQ (#10393)
* Update xos.yaml

* Update voss.yaml

* Update voss.yaml

* Add files via upload

* Add files via upload
2019-07-02 00:06:42 +02:00
SniperVegetaandTony Murray 242ab51e4e Fix atuc chan curr tx rate/atur chan curr tx rate (#10383)
* Update adsl_speed.inc.php

Change AtucChanCurrTxRate and AturChanCurrTxRate

AtucChanCurrTxRate  = Downstream
AturChanCurrTxRate  = Upstream

* Update adsl_snr.inc.php

AtucCurrSnrMgn = Down
AturCurrSnrMgn = Up

* Update adsl_attainable.inc.php

AtucCurrAttainableR = Down
AturCurrAttainableR = Up

* Update adsl_attenuation.inc.php

AtucCurrAtn = Down
AturCurrAtn =Up

* Update adsl_power.inc.php
2019-06-29 20:32:42 -05:00
Martijn SchmidtandTony Murray 9d68f27296 Use sensor labels for overview/inventory pages, refactor some html-page related code (#10287)
* Refactor: use get_state_label() for the overview

* Move state translation to get_state_label()

Several html pages used similar database calls and sometimes very
different methodology to determine the state label and state text
before calling get_state_label(), so moved that part of the task
into the function itself instead of replicating the same code
multiple times on different pages.

* Move label creation to get_sensor_label_color()

Also removed a duplicate sensor class to unit function.

* Refactor some if/else statements for simplicity.

* Enable state translations for the inventory page.

* Remove blank line found at end of control structure

* Enable unit translation, fix typos.

* Change to dbFetchRow(), return string directly.

* Update functions.inc.php

* Stop displaying the raw value on state labels.

* Apply 1c7c3ca change for default case too.
2019-06-27 00:30:10 -05:00
Vitali KariandTony Murray 653ac434ac Nokia bgp admin status fix (#10370) 2019-06-27 00:16:25 -05:00
SourceDoctorandTony Murray 932d338a83 smart application database update fix (#10378)
* fix database filling

* Update smart.inc.php

* Update smart.inc.php
2019-06-26 09:47:39 -05:00
Tony MurrayandGitHub dd2fc0baf8 Fix Dummy alert transport (#10379) 2019-06-26 09:47:03 -05:00
VVeloxandTony Murray ad6ac30528 fix an issue where the order may be random (#10375) 2019-06-26 09:45:40 -05:00
Tony MurrayandGitHub f3ba8947f7 Use Config helper (#10339)
remove usage of global variable
2019-06-23 00:29:12 -05:00
ckforumandTony Murray 342acf50f1 Add 2 css class graph - minigraph for bg color and other (#10318)
* Add 2 class for graph / mini graph (styles.css)

Add 2 class for graph / mini graph (styles.css) 
for changing bg color and more (mini graph port / device) (graph port / general)

* Update styles.css

Add 2 class for graph / mini graph (styles.css) 
for changing bg color and more (mini graph port / device) (graph port / general)

* Add class CSS for mini graph 

Add class CSS for mini graph

* Update graph.inc.php

Change graph.inc.php, add css class / overlib

* restore original bg #f5f5f5 .graph-all-common

restore original bg #f5f5f5 .graph-all-common

* Update ports.inc.php

correct extra \

* Update graph.inc.php

* Update ports.inc.php

* Update ports.inc.php

* Update graph.inc.php

* Comment line 88 URL.php, because description of location enlarge too much overlib devices's title

* Update Url.php

* Update Url.php

Line 88 -> re ident to pass travis...
2019-06-21 22:44:47 -05:00
Tony MurrayandGitHub 8b0a1d902a Revert "WIP - Added VRP SFPs thresholds and map entPhysical to ifIndexes (#10355)" (#10362)
This reverts commit a3bb92074e.
2019-06-21 21:42:21 -05:00
PipoCanajaandTony Murray a3bb92074e WIP - Added VRP SFPs thresholds and map entPhysical to ifIndexes (#10355)
* gather SFPs thresholds and map entPhysical to ifIndexes

* Update entity-physical.inc.php

Comment and force TravisTests

* codeclimate
2019-06-21 21:41:57 -05:00
Martijn SchmidtandTony Murray 048fd0f6ed Remove guessed limits for some health sensors, documentation for sensor classes (#10327)
* 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
2019-06-21 09:03:27 -05:00
Tony MurrayandGitHub 4ad20eedbb Support relative time for graphs again (#10359) 2019-06-21 07:17:43 -05:00
TVCABO MZandTony Murray 1f19eb2146 Fix mysql bug in cisco-sla module (#10357)
* Update cisco-sla.inc.php

Fix SQL error during discovery of cisco-sla.
This error points to /opt/librenms/includes/discovery/cisco-sla.inc.php(80).

LOG ERROR:
[2019-06-18 07:07:01] production.ERROR: SQLSTATE[HY093]: Invalid parameter number: mixed named and positional parameters (SQL: UPDATE slas set device_id=39,sla_nr=1,owner=,tag=xxx.xxx.xxx.xxx,rtt_type=echo,status=1,opstatus=0,deleted=0 WHERE sla_id = 5) (SQL: UPDATE slas set device_id=39,sla_nr=1,owner=,tag=xxx.xxx.xxx.xxx,rtt_type=echo,status=1,opstatus=0,deleted=0 WHERE sla_id = 5)#0 /opt/librenms/includes/discover
y/cisco-sla.inc.php(80): dbUpdate(Array, ‘slas’, ’sla_id = :sla…’, Array)
#1 /opt/librenms/includes/discovery/functions.inc.php(179): include(’/opt/librenms/i…’)
#2 /opt/librenms/discovery.php(120): discover_device(Array, false)
#3 {main}

I suggest to change this lines of code in cisco-sla.inc.php to avoid this error:

line 80: dbUpdate($data, ‘slas’, ’sla_id = :sla_id’, array(‘sla_id’ => $sla_id));
change to: dbUpdate($data, ‘slas’, ’sla_id = ?’, array($sla_id));

line 87: dbUpdate(array(‘deleted’ => 1), ‘slas’, ’sla_id = :sla_id’, array(‘sla_id’ => $existing_sla));
change to: dbUpdate(array(‘deleted’ => 1), ‘slas’, ’sla_id = ?’, array($existing_sla));

* Fix quotes

* Missed one
2019-06-21 07:16:19 -05:00