add app for getting status of TCP connections for specified services (#8090)

* add the poller for portactivity

* add the ability to get monitor ports for portactivity

* add the graphs for displaying stuff for the portactivity app

* add the portactivity app page

* update the docs for Portactivity

* remove extra line

* minor doc update for Portactivity

* add update_application line

* convert to use json_app_get

* convert curly brackets to square

* style fix

* remote error, errorString, and version after they stop being important so they are not processed

* add alert rule examples

* add the poller for portactivity

* add the ability to get monitor ports for portactivity

* add the graphs for displaying stuff for the portactivity app

* add the portactivity app page

* update the docs for Portactivity

* remove extra line

* minor doc update for Portactivity

* add update_application line

* convert to use json_app_get

* convert curly brackets to square

* style fix

* remote error, errorString, and version after they stop being important so they are not processed

* add alert rule examples

* remove dump of get_portactivity_ports function added during rebase

* update to the current json_app_get

* add portactivity snmprec

* add the portactivity test data

* whoops bad merge when rebasing... fix

* minor formatting cleanup and add a missing comma

* fix some odditities with what one of the tests is doing

* whoops... include the use for the exception

* set the response to okay

* attempt to make snmpsim array check happy again

* the json now lints

* more making metric testing happy

* one more update to make travis-ci happy

* now flattens arrays also add array_flatten

* rename array_flatten to data_flatten as pre-commit chokes on it as laravel has something similarly named

* go through and properly add all the metrics

* tested with the newest one and it works

* whoops, clean up json and remove prototype that was used when putting it together

* doh! make it happy with laravel now

* see if a minor changing in formatting for the numbers makes the polling unit test happy

* order them properly

* remove a comma

* a few more minor fixes
This commit is contained in:
VVelox
2018-11-22 09:05:38 -06:00
committed by Tony Murray
parent b56d65d17b
commit c5bb60907c
12 changed files with 933 additions and 5 deletions

View File

@@ -62,6 +62,7 @@ The unix-agent does not have a discovery module, only a poller module. That poll
1. [OS Updates](#os-updates) - SNMP extend
1. [PHP-FPM](#php-fpm) - SNMP extend
1. [Pi-hole](#pi-hole) - SNMP extend
1. [Portactivity](#portactivity) - SNMP extend
1. [Postfix](#postfix) - SNMP extend
1. [Postgres](#postgres) - SNMP extend
1. [PowerDNS](#powerdns) - Agent
@@ -772,6 +773,32 @@ extend pi-hole /etc/snmp/pi-hole
The application should be auto-discovered as described at the top of the page. If it is not, please follow the steps set out under `SNMP Extend` heading top of page.
### Portactivity
#### SNMP Extend
1. Install the Perl module Parse::Netstat.
2. Copy the Perl script to the desired host (the host must be added to LibreNMS devices)
```
wget https://github.com/librenms/librenms-agent/raw/master/snmp/portactivity -O /etc/snmp/portactivity
```
3. Make the script executable. (chmod +x /etc/snmp/portactivity)
4. Edit your snmpd.conf file (usually /etc/snmp/snmpd.conf) and add:
```
extend portactivity /etc/snmp/portactivity -p http,ldap,imap
```
Will monitor HTTP, LDAP, and IMAP. The -p switch specifies what ports to use. This is a comma seperated list.
These must be found in '/etc/services' or where ever NSS is set to fetch it from. If not, it will throw an error.
If you want to JSON returned by it to be printed in a pretty format use the -P flag.
5. Restart snmpd on your host.
Please note that for only TCP[46] services are supported.
### Postfix
#### SNMP Extend