Files
librenms-librenms/doc/Support/Poller Support.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

232 lines
7.2 KiB
Markdown
Raw Normal View History

# lnms device:poll
This document will explain how to use `lnms device:poll` to debug issues or
manually running to process data.
## Command options
```bash
Description:
Poll data from device(s) as defined by discovery
Usage:
device:poll [options] [--] <device spec>
Arguments:
device spec Device spec to poll: device_id, hostname, wildcard (*), odd, even, all
Options:
-m, --modules=MODULES Specify single module to be run. Comma separate modules, submodules may be added with /
-x, --no-data Do not update datastores (RRD, InfluxDB, etc)
-h, --help Display help for the given command. When no command is given display help for the list command
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
--env[=ENV] The environment the command should run under
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
```
## Poller Wrapper
We have a `poller-wrapper.py` script by [Job
Snijders](https://github.com/job). This script is currently the
default.
If you need to debug the output of poller-wrapper.py then you can add
`-d` to the end of the command - it is NOT recommended to do this in
cron.
## Poller config
These are the default poller config items. You can globally disable a
module by setting it to 0. If you just want to
disable it for one device then you can do this within the WebUI Device
-> Edit -> Modules.
!!! setting "poller/poller_modules"
```bash
lnms config:set poller_modules.unix-agent false
lnms config:set poller_modules.os true
lnms config:set poller_modules.ipmi true
lnms config:set poller_modules.sensors true
lnms config:set poller_modules.processors true
lnms config:set poller_modules.mempools true
lnms config:set poller_modules.storage true
lnms config:set poller_modules.netstats true
lnms config:set poller_modules.hr-mib true
lnms config:set poller_modules.ucd-mib true
lnms config:set poller_modules.ipSystemStats true
lnms config:set poller_modules.ports true
lnms config:set poller_modules.nac false
lnms config:set poller_modules.bgp-peers true
lnms config:set poller_modules.junose-atm-vp false
lnms config:set poller_modules.printer-supplies false
lnms config:set poller_modules.ucd-diskio true
lnms config:set poller_modules.wireless true
lnms config:set poller_modules.ospf true
lnms config:set poller_modules.cisco-ipsec-flow-monitor false
lnms config:set poller_modules.cisco-remote-access-monitor false
lnms config:set poller_modules.cisco-cef false
lnms config:set poller_modules.slas false
lnms config:set poller_modules.cisco-mac-accounting false
lnms config:set poller_modules.cipsec-tunnels false
lnms config:set poller_modules.cisco-ace-loadbalancer false
lnms config:set poller_modules.cisco-ace-serverfarms false
lnms config:set poller_modules.cisco-asa-firewall false
lnms config:set poller_modules.cisco-voice false
lnms config:set poller_modules.cisco-cbqos false
lnms config:set poller_modules.cisco-otv false
lnms config:set poller_modules.cisco-vpdn false
lnms config:set poller_modules.netscaler-vsvr false
lnms config:set poller_modules.aruba-controller false
lnms config:set poller_modules.entity-physical true
lnms config:set poller_modules.entity-state false
lnms config:set poller_modules.applications true
lnms config:set poller_modules.availability true
lnms config:set poller_modules.stp true
lnms config:set poller_modules.vminfo false
lnms config:set poller_modules.ntp true
lnms config:set poller_modules.services true
lnms config:set poller_modules.loadbalancers false
lnms config:set poller_modules.mef false
lnms config:set poller_modules.mef false
```
## OS based Poller config
You can enable or disable modules for a specific OS by add
corresponding line in `config.php` OS based settings have preference
over global. Device based settings have preference over all others
Poller performance improvement can be achieved by deactivating all
modules that are not supported by specific OS.
E.g. to deactivate spanning tree but activate unix-agent module for linux OS
!!! setting "poller/poller_modules"
```bash
lnms config:set os.linux.poller_modules.stp false
lnms config:set os.linux.poller_modules.unix-agent true
```
## Poller modules
`unix-agent`: Enable the check_mk agent for external support for applications.
2015-05-04 16:29:03 +01:00
`system`: Provides information on some common items like uptime, sysDescr and sysContact.
2015-05-04 16:29:03 +01:00
`os`: Os detection. This module will pick up the OS of the device.
2015-05-04 16:29:03 +01:00
`ipmi`: Enables support for IPMI if login details have been provided for IPMI.
2015-05-04 16:29:03 +01:00
`sensors`: Sensor detection such as Temperature, Humidity, Voltages + More.
2015-05-04 16:29:03 +01:00
`processors`: Processor support for devices.
2015-05-04 16:29:03 +01:00
`mempools`: Memory detection support for devices.
2015-05-04 16:29:03 +01:00
`storage`: Storage detection for hard disks
2015-05-04 16:29:03 +01:00
`netstats`: Statistics for IP, TCP, UDP, ICMP and SNMP.
2015-05-04 16:29:03 +01:00
`hr-mib`: Host resource support.
2015-05-04 16:29:03 +01:00
`ucd-mib`: Support for CPU, Memory and Load.
2015-05-04 16:29:03 +01:00
`ipSystemStats`: IP statistics for device.
2015-05-04 16:29:03 +01:00
`ports`: This module will detect all ports on a device excluding ones
configured to be ignored by config options.
2015-05-04 16:29:03 +01:00
Migrate xDSL code to module, and add support for VDSL2 MIB (#14207) * use component to discover if xDSL polling is needed use component to discover if xDSL polling is needed * Components OK, Polling in correct files, no DB for VDSL * GUI GUI_suite * per port as well * rename * interface listing * draytek_snmpsim * fix arraymerge fix names and max value * schema schema style * remove one dbFetchRows remove 2x dbFetchCell style style remove Legacy dbFetchRow tests tests eloquent more eloquent more eloquent one more gone * fix properties access eloquent_insert_update style tests tests tests tests * tests tests tests * adslLineCoding * Models * fix not nullable cols in DB from code default values typo rename typo schema fix fix vdsl fix now typo typo fix size fix size * Power values for VDSL Power values for VDSL Power values for VDSL DB * cleanup * Rrd::checkRrdExists * always enable DSL discovery style * xdsl module * cleanup and move to Module cleanup and move to Module cleanup and move to Module cleanup and move to Module * Fix display * fix polling and tenth * remove legacy poller * Style and Cosmetics Cosmetics Cleanup * Translations Translations * exists exists * add test support for xdsl * remove last component call unused * translations * remove non standard onclick event on xdsl line * Update Discovery Support.md Update Poller Support.md toner_gone * Notification for removal of lnms config:set enable_ports_adsl true * enable on devices with potential DSL interfaces * tests are working now fix teldat tests * os_schema * teldat * move to new module structure * move to new module structure * wrong dump function * wrong dump function * laravel_through_key hidden * Update notifications.rss * Update notifications.rss Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-09-08 02:29:17 +02:00
`xdsl`: This module will collect more metrics for xdsl interfaces.
2019-01-19 20:08:10 +01:00
`nac`: Network Access Control (NAC) or 802.1X support.
`bgp-peers`: BGP detection and support.
2015-05-04 16:29:03 +01:00
`junose-atm-vp`: Juniper ATM support.
2015-05-04 16:29:03 +01:00
Migrate xDSL code to module, and add support for VDSL2 MIB (#14207) * use component to discover if xDSL polling is needed use component to discover if xDSL polling is needed * Components OK, Polling in correct files, no DB for VDSL * GUI GUI_suite * per port as well * rename * interface listing * draytek_snmpsim * fix arraymerge fix names and max value * schema schema style * remove one dbFetchRows remove 2x dbFetchCell style style remove Legacy dbFetchRow tests tests eloquent more eloquent more eloquent one more gone * fix properties access eloquent_insert_update style tests tests tests tests * tests tests tests * adslLineCoding * Models * fix not nullable cols in DB from code default values typo rename typo schema fix fix vdsl fix now typo typo fix size fix size * Power values for VDSL Power values for VDSL Power values for VDSL DB * cleanup * Rrd::checkRrdExists * always enable DSL discovery style * xdsl module * cleanup and move to Module cleanup and move to Module cleanup and move to Module cleanup and move to Module * Fix display * fix polling and tenth * remove legacy poller * Style and Cosmetics Cosmetics Cleanup * Translations Translations * exists exists * add test support for xdsl * remove last component call unused * translations * remove non standard onclick event on xdsl line * Update Discovery Support.md Update Poller Support.md toner_gone * Notification for removal of lnms config:set enable_ports_adsl true * enable on devices with potential DSL interfaces * tests are working now fix teldat tests * os_schema * teldat * move to new module structure * move to new module structure * wrong dump function * wrong dump function * laravel_through_key hidden * Update notifications.rss * Update notifications.rss Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-09-08 02:29:17 +02:00
`printer-supplies`: Toner levels support.
2015-05-04 16:29:03 +01:00
`ucd-diskio`: Disk I/O support.
2015-05-04 16:29:03 +01:00
`wifi`: WiFi Support for those devices with support.
2015-05-04 16:29:03 +01:00
`ospf`: OSPF Support.
2015-05-04 16:29:03 +01:00
2015-06-08 14:56:12 +10:00
`cisco-ipsec-flow-monitor`: IPSec statistics support.
2015-05-04 16:29:03 +01:00
`cisco-remote-access-monitor`: Cisco remote access support.
2015-05-04 16:29:03 +01:00
`cisco-cef`: CEF detection and support.
2015-05-04 16:29:03 +01:00
`slas`: SLA detection and support.
2015-05-04 16:29:03 +01:00
`cisco-mac-accounting`: MAC Address account support.
2015-05-04 16:29:03 +01:00
`cipsec-tunnels`: IPSec tunnel support.
2015-05-04 16:29:03 +01:00
`cisco-ace-loadbalancer`: Cisco ACE Support.
2015-05-04 16:29:03 +01:00
`cisco-ace-serverfarms`: Cisco ACE Support.
2015-05-04 16:29:03 +01:00
`netscaler-vsvr`: Netscaler support.
2015-05-04 16:29:03 +01:00
`aruba-controller`: Aruba wireless controller support.
`entity-physical`: Module to pick up the devices hardware support.
2015-05-04 16:29:03 +01:00
`applications`: Device application support.
2015-05-04 16:29:03 +01:00
`availability`: Device Availability Calculation.
`cisco-asa-firewall`: Cisco ASA firewall support.
## Running
Here are some examples of running poller from within your install directory.
```bash
lnms device:poll localhost
lnms device:poll localhost -m ports
```
## Debugging
To provide debugging output you will need to run the poller process
with the `-vv` flag. You can do this either against
all modules, single or multiple modules:
All Modules
```bash
lnms device:poll localhost -vv
```
Single Module
```bash
lnms device:poll localhost -m ports -vv
```
Multiple Modules
```bash
lnms device:poll localhost -m ports,entity-physical -vv
```
Using `-vv` shouldn't output much sensitive information, `-vvv` will so
it is then advisable to sanitise the output before pasting it
somewhere as the debug output will contain snmp details amongst other
items including port descriptions.
The output will contain:
DB Updates
RRD Updates
2015-06-08 14:56:12 +10:00
SNMP Response