Commit Graph

179 Commits

Author SHA1 Message Date
Vitali Kari
65e766156f Add Raisecom Sensors (#9738)
* update some mibs

* extend snmpwalk_cache_twopart_oid function

* add raisecom dbm and temperature sensors

* add test data

* add some more sensors

* Update raisecom.inc.php

* Update raisecom.inc.php
2019-01-30 21:34:15 -06:00
PipoCanaja
d4f32a250e Support for Alcatel OmniPCX (#9375)
* device: support for Alcatel OmniPCX Server

* device: support for Alcatel OmniPCX Server - add test data

* rename

* Add a new versatile type of sensor, without unit - doc extension

* tests data updated for omnipcx

* new count test after funny rebase

* clean

* tests

* index in yaml file ...

* Update omnipcx.json

* try to add pbx state

* Change function snmpwalk_cache_oid to allow snmpvalue without index

* testdata

* Adapt the discovery_schema (to allow a non_indexed oid)

* Update snmp.inc.php
2019-01-22 17:34:45 -06:00
Tony Murray
fad0bffc43 Escape SNMP & IPMI shell commands (#9537)
hopefully doesn't break anything
Mostly issues with snmp oids and options containing spaces.  Try to remove all of those.

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.
2018-12-16 13:42:50 +00:00
Alan Gregory
c78f92a4c2 snmp_max_oid per Os support and snmpv1 multi_oid fix (#9343)
* Added snmp_max_oid config at Os level.

* Added check for snmpv1 on multi_oid requests.

* Check  device_oid_limit on multi get

* Use array_chunk

* Update snmp.inc.php

* remove dump, unused variable and extra plodes

* per device settings should take priority over OS

* Update Settings.md

* don't discard the data :P
2018-11-21 13:25:39 -06:00
Tony Murray
5c4a298cfc Remove duplicate mib directories from snmp queries (#9148)
General cleanup of that function

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`
2018-09-04 22:14:03 +01:00
Neil Lathwood
f2253d70fd SNMP v3 auth is no longer checked for case sensitivity + push pass v3 creds to front of queue (#9102)
* Match api code to addhost.php for v3 config order

* Updated v3 auth checks for case insensitivity + docs
2018-08-29 09:16:33 -05:00
Tony Murray
4a6b56d8f2
Generic snmp_translate() function (#8156)
Translates between numeric and textual oids.

Rename existing function to snmp_mib_transate(). It is only used for mib polling. Modifying it could break mib polling.
2018-02-15 16:37:37 -06:00
Tony Murray
88b4e31912 refactor: Refactored bgp-peers (#7972)
* bgp-peers update
Use IP parsing library more effectively.
Fix update issue
Include comware bgp-peers test data
deeper refactoring
Allow JunOS fallback to BGP4-MIB, some models only use that.
Add junos bgp4 data
Actually update all bpg data in the poller

* fix arista data. refactor some to prevent missing data from mucking things up

* refactor to use $oid_map for BGP4-MIB too

* A few comments to break up teh file a bit

* Junos bgp data an a quick revert for now.

* small cleanup

* fix ios bgp polling, add test data

* check the correct variable
2018-01-18 20:54:38 +00:00
Tony Murray
e11e84f2ee
snmp_walk remove multiple No more variables (#8050)
Optimize code so it is a faster when no more variables is not present.
Only saving 10s of microseconds, but better than an increase.
2018-01-10 15:30:19 -06:00
Andrew Holmes
81fbe95039 Add snmp_getnext_multi() function (#8052)
* Added snmp_getnext_multi() function using syntax of existing snmp_get_multi() function

* Fixed typo in comment and spurious newline in file

* Removed return of index value

* Correct statistic
2018-01-08 23:39:58 -06:00
Neil Lathwood
42e5819130 refactor: Updated discovery/poller to use numeric sysObjectID (#7922)
* refactor: Updated discovery to use a core module for sysDescr/sysObjectID use

* final update hopefully

* revert changes

* more changes + docs

* migrated poller to use numerical sysObjectID

* more updates for sysObjectID

* update any alert rules which might have enterprises. in

* moved schema file

* small updates

* updated getHostOS()

* scrut fixes

* updated sysObjectId -> sysObjectID

* updated sysObjectId -> sysObjectID

* updated remainder of sysObjectId -> sysObjectID

* another sysObjectId -> sysObjectID

* fixed secureplatform test data

* Fix tests: $device is not pulled from the database before polling
Also, update the db in the core discovery module.
2018-01-06 23:00:47 -06:00
Tony Murray
4ffdbe0e6a fix: Fix can't find CPQHOST-MIB (#8024) 2018-01-04 22:42:16 +00:00
Martin Zatloukal
dbeaf3b35e device: Added Mikrotik POE sensors (#7883)
* Add Mikrotik POE sensors

* Add Mikrotik POE sensors
2017-12-09 19:53:40 +00:00
Tony Murray
ab2aacec0f fix: Don't work around bad implementations in snmpwalk_group (#7876) 2017-12-09 16:39:37 +00:00
Tony Murray
301af24ace fallback to snmpgetnext if db is unavailable (#7698)
running tests without DBTEST=1 for example.
2017-11-10 12:52:31 +00:00
Tony Murray
acb1de5772 feature: Implement snmp_getnext() (#7678)
find correct path to snmpgetnext (will do the same for others later)
fix undefined index in get_mib_dir()
2017-11-08 15:15:49 +00:00
Tony Murray
0d07f85257 feature: Allow snmpget in os discovery yaml (#7587)
* feature: Allow snmpget in os discovery yaml

Re-submit after release

* Remove extra trim in discovery and in snmp_get.
also trim() always returns a string, so is_string() check is a waste of cpu cycles.
2017-11-02 12:41:18 +00:00
Martin Zatloukal
1dfcde3060 fix: function snmp_get delete quotes in snmp query (#7467)
* fix: ups-nut delete quotes in snmp query

* fix: ups-nut delete quotes in snmp query

* Update snmp.inc.php

* Update snmp.inc.php

* Update snmp.inc.php

* Update snmp.inc.php

* Update snmp.inc.php
2017-10-31 21:50:18 +00:00
Tony Murray
426916dbe4
Revert "feature: Allow snmpget in os discovery yaml (#7558)" (#7576)
This reverts commits:
193db02475
b73c4e9d6e
a93bb6635d
2017-10-29 14:04:26 -05:00
Tony Murray
a93bb6635d refactor: Use one snmpget during os discovery (#7566)
Use only one snmpget to fetch sysObjectId and sysDescr
fix multiline data in snmp_get_multi_oid()
add snmp_get_multi_oid() to mock.snmp.inc.php
2017-10-28 11:53:05 +01:00
Tony Murray
46ee1b377c fix: snmp_get_multi returns no data if the oid doesn't contain a period (#7456) 2017-10-11 08:10:04 +01:00
Tony Murray
bc8103774b fix: snmpwalk_group tables not using entries. (#7427)
When walking an arbitrary oid, it may not be grouped properly if the address ends with .0

For example: channelInternalTxAborted[11].0
2017-10-04 19:50:26 +01:00
Neil Lathwood
2115a1c6d1 newdevice: Added support for Alpha FXM UPS devices (#7324)
* newdevice: Added support for Alpha FXM UPS devices
2017-09-18 20:24:53 +02:00
Neil Lathwood
aef79535f4 newdevice: Added support for A10 ACOS devices (#7327)
* newdevice: Added support for A10 ACOS devices
2017-09-17 21:33:09 +02:00
Tony Murray
0d36244eda Fix string quoting in snmp trim (#7120) 2017-08-04 08:03:03 -05:00
Neil Lathwood
e6274720a7 fix: Strip " and / from snmpwalk_cache_oid() (#7063)
* fix: Strip " and / from snmpwalk_cache_oid()

* updated trim()

* Remove redundant trim()
2017-08-04 07:55:13 +01:00
Tony Murray
b56c6b6adf fix: fdb tables multiple IPs and IPs from other devices adding extra rows (#6930)
Fix missing IPs because the ARP entries are on different port_id
Update arp discovery to use snmpwalk_group() additional fix in that function
Fix removal of arp entries
Fix a debug output type in fdb discovery
2017-07-04 22:27:43 +01:00
Tony Murray
e8dd72e8db feature: Support fdb table on generic devices (#6902)
* feature: support fdb table on generic devices
refactored code to use snmpwalk_group
refactored ajax table code to use joins and reduce extra queries
add indexes for device_id and port_id, drop primary index
Make all columns sortable
Fix a few other small issues

* Add index for vlan_id since that field can be searched by the user

* fix whitespace

* Rename 197.sql to 198.sql

* set row count for table
2017-06-29 21:03:56 +01:00
Neil Lathwood
54365985a6 Revert "feature: fdb tables (#6616)" (#6886)
This reverts commit 81ddab86af.
2017-06-25 07:04:04 +01:00
Lorenzo Zafra
81ddab86af feature: fdb tables (#6616)
* feature: FDB TABLES for ios and timos

* Fixed coding style issues

* renamed fdb.sql to 191.sql

* fixed travisCI issue

* FDB table discovery working on IOS

* Fixed bug: failing to insert fdb entries into database

* Fix phpcbf issue

* moved sql schema

* rename sql schema

* Add (tentative) FDB support for HP Comware switches

* build schema

* schema changes

* run build schema.......

* FBD Table discovery working on HP ComWare

* FBD Table discovery working on HP ComWare

* Add FDB support for HP Comware

* Discovery regex fix, tested and works for cisco 3750, 2960, 6509

* Use vlan_id instead of raw vlan. Remove Nokia implementation as vlans are not being discovered for it at the moment.

* Use vlan_id instead of vlan.

* Add debug messages, comware support

* Sorry.. phpunit isnt working for me

* Use a file structure instead of if statement per OS

* Make inserts to vlan table if entry does not exist.

* Rename sql schema file

* Use existing context name

Improve output and database synchronization

Remove chromephp and if ios

rename sqlfile

add comware back

update schema

* Delete TIMETRA-CHASSIS-MIB

* Delete TIMETRA-FILTER-MIB

* change index to bigint to be safe
2017-06-24 22:07:31 -05:00
Tony Murray
1c43fecfa7 feature: New snmpwalk_group() function (#6865)
* feature: New snmpwalk_group() function
Intended to replace several other snmp functions, but may not behave exactly as they did.
Properly handles multi-line values.
Adds additional index data after the grouping so it isn't lost. Perhaps might make optional.
Might add $skip variable to support fully numeric oid indexes. Thoughts?

* Add e and t options.  If we want to specify, options, we can add that later.
2017-06-23 22:13:50 +01:00
Neil Lathwood
92433f3511 feature: Added snmp_check() to decide if a device is up/down for snmp #5946 (#5948)
* feature: Added snmp_check() to decide if a device is up/down for snmp #5946

* added missing line

* Update snmp.inc.php
2017-02-23 22:47:18 +00:00
Neil Lathwood
fad5aca1b7 feature: Allow customisation of rrd step/heartbeat when creating new rrd files (#5947)
* feature: Allow customisation of rrd step/heartbeat when creating new rrd files

* revert defaults

* added docs + webui config option

* Move RrdDefinition to an Object to make them easier to create and remove the possibility of typos.

* Fix style/lint issues and missing use statements

* 3 more missing use statements

* updated doc + moved schema file
2017-02-23 22:45:50 +00:00
Neil Lathwood
ced759105e fix: Updated qnap sensor code to be more generic #5910 (#5925)
* fix: Updated qnap sensor code to be more generic #5910

* small change to check for valid data

* small code change
2017-02-17 14:43:30 +00:00
Neil Lathwood
cc51a68f85 feature: Optional partial port polling (#5805)
* feature: Added ability to switch port polling mode

* update, speed things up slightly by walking certain tables

* more fixes

* updates

* updates

* update to exclude ports that are down

* wrong variable used

* update to set previous port status when null

* small update to port disco
2017-02-14 17:26:07 -06:00
Neil Lathwood
01e4ac3d58 newdevice: Added additional sensor support for Huawei VRP #4279 2017-01-19 16:42:57 +00:00
Neil Lathwood
7215059fd0 fix: Re-order snmp mib dirs to load mibs correctly #5405 (#5415)
* fix: Re-order snmp mib dirs to load mibs correctly #5405

* Remove unneeded code
2017-01-12 23:46:09 -06:00
Tony Murray
5c156e7e01 fix: Remove usage of -CI, it is not allowed for snmpbulkwalk #5164 2016-12-20 16:58:20 +00:00
Tony Murray
db240cb4eb refactor: Collection and output of db and snmp stats (#5049) 2016-11-23 06:57:19 +00:00
Tony Murray
9a33464c52 refactor: Centralize includes and initialization (#4991) 2016-11-21 20:12:59 +00:00
Neil Lathwood
d389069e2e refactor: Tidy up mibs V-Z (#4979) 2016-11-17 15:43:31 -06:00
Neil Lathwood
d9f4096821 Start of cleaning up mibs (#4806)
refactor: Start of cleaning up mibs
2016-11-09 18:23:27 -06:00
Neil Lathwood
b89ebabecc Feature: Added support for global max repeaters for snmp (#4880)
* Feature: Added support for global max repeaters for snmp

* added phpdoc
2016-10-28 06:02:09 +00:00
Neil Lathwood
6c324cd03e refactor: Improve sensors polling for performance increase (#4725)
refactor: Improve sensors polling for performance increase
2016-10-11 19:34:09 +03:00
Neil Lathwood
c0d7ad44b0 Revert "refactor: snmp cleanup" (#4746) 2016-10-07 09:26:10 +01:00
Tony Murray
07e8e9f2be refactor: snmp cleanup (#4683) 2016-10-06 21:20:11 +01:00
Neil Lathwood
59da343f7d changed from isset to !empty 2016-10-03 18:23:59 +01:00
Johan
032bfe0745 Fixes issue-4677 2016-09-30 15:08:11 +02:00
Tony Murray
edbb6ae0e3 refactor: Centralize MIB include directory specification (#4603)
* refactor: Centralize MIB include directory specification
The default is now:
```
$config['mib_dir'].'/mibdirname:'.$config['mib_dir']
```
This means we exclude OS mibs and only use ours  (we could prepend `+` if we want to include os mibs.
All snmp calls should only include the name of the subdirectory under the mibs directory.

* Remove d_echo from Proc
Fix snmpsim tests.
2016-09-28 14:19:28 +01:00
Tony Murray
c31b3c0301 feature: use snmpsim for testing
fallback feature so we don't have to run snmpsim on devel computers, should be adequate for now
./scripts/pre-commit.php -u -snmpsim will start an snmpsimd.py process automatically
2016-09-23 14:57:31 -05:00