AllProbe SNMP integrator explained

         

SNMP integrator explained- monioring SNMP integration helper (MSIH)

 

AllProbe integrator is not an agent nor it is service application that run constantly. The integrator is a small open sourced BASH code (available on GItHub as well) with main goal of preparing a host for monitoring via its built in SNMP daemon.

 

Installation:

Installation of the SNMP integrator is done by runnin a sinle CLI command on suppored OS types.

The exact command is shown on each host summary page and unique(each host pass a unique TOEKN ID to identify itslef on API),

it will then confiure itslef as cron and will run every 5 minutes to get conifiguraiton updates from your account.

 

IMPORTANT!

When running the integrator on private LAN (privae networks) with dedicated on-perm probe server(s), there is a need to allow HTTP proxy access to the server. The following procedure will be OK on most tested OS types(please read notes on supported OS types)

 

echo "export https_proxy=https://192.168.0.125:8888" >> /root/.bashrc
bash /root/.bashrc
echo "export https_proxy=https://192.168.0.125:8888" >> /etc/profile

bash /etc/profile

 

Once running and installing the integrator with the appropriate CLI provided by the UI the following flow is taking place:

 

- Pre OS check - checking for basic OS dependent needed modules and basic apps.

 

Allprobe's integrator and basic SNMP extensions requires the following application and modules to be installed on Linux distributions.

 

- snmpd
- which
- curl
- sed
- mysql-client (will install it in case of MySQL based SNMP extentsions)

 

Most of which applications installed by default by most Linux distributions, the integrator will try to install the missing applications ONLY with the OS repositories configured, using inner OS tools like apt-get & yum.

 

Compatibility:

 

The integrator was fully tested on:

 

- Debian (6-9)
- Centos (5-7)
- Fedora (some versions)
- XenServer
- Proxmox (debian based)

 

Created files & directories:

 

- /etc/apr
- /etc/apr/integrator.sh
- /etc/apr/token.id
- /etc/apr/cron/
- /etc/apr/snmp/
- /etc/apr/buffer/
- /etc/apr/buffer.tmp
- /etc/apr/buffer/extensions.list
- /var/log/apr/
- /var/log/apr/cron.log

 

After the pre OS check, the integrator will make an API call to allprobe's API with its TOKEN which is a unique HOTS to API authenticator for each host.
The API sends back general common server configurations in few configurations blocks all packed and encoded in base64 format for better HTTP flow and protocol negotiations.

 

Configurations blocks of the return API response includes the following sections:

(decoded with base64)

 

- #snmpd#
- #cron#
- #cdn-snmp#
- #cdn-cron#
- #custom-procedure#
- #probers-subnes#

 

snmpd - Updating /etc/snmp/snmpd.conf with specific required monitoring matrices run by AllProbe's probe servers,

The entire new configurations is serrounded by new stanza.

 

cron - updating /etc/crontab, adding the integrator itself ( when installing ) and cron based SNMP extensions pulled from API or private extensions repository, read more about it on SNMP extensions topics.

The entire new configurations is serrounded by new stanza.

 

cdn-snmp - Pull required SNMP extensions scripts from Allprobe's CDN or your private repository. More about it on SNMP extensions. The pulled scripts is then put on /etc/apr/snmp

 

cdn-cron - Pull required Crons scripts from Allprobe's CDN or your private repository. More about it on SNMP extensions. The pulled scripts is then put on /etc/apr/cron

 

custom-procedure - Custom-procedure needed, more about it spceial integrator notes.

 

probers-subnes - Subnets of Allprobe probe servers making SNMP requests to this hosts, it will update iptables and insert new rule for each subnet allowing access to UDP port 161 to gather SNMP matrices from the monitored host.

 

Integrator run modes:

Allprobe's SNMP BASH integrator supports few running modes for run modes & security concerns

 

- install - downlaoding and configuring to run as CRON, some pre OS checks and folder structures

- cron - routine run of the integrator every X Minutes

- commit - Will commit the changes from /etc/apr/buffer/extensions.buffer by running /ect/apr/integrator commit

- purge - remove the integrator and extensions files & directories, integrator & SNMP extensions crons and log, remove allprobe's stanza from SNMP configurations.

 

Each of this modes supports 3 security modes as second argument passed to the integrator, the modes affect the integrator mode of commiting any new configurations passed from Allprobe's API in case it detect new configuration (for example adding new monitoring matrices on UI

 

- normal - Will commit the changes immediately

- preventive (default mode) - Will commit the changes to /etc/apr/buffer/extensions.buffer, send an email reporting those changes. The integrator will automatically commit those changes after 12 Hours if not changed by the owner. This mode will allow you to take advantage of self configured host but with close provisioning on each update before actually commiting it.

- secure - Will commit the changes to /etc/apr/buffer/extensions.buffer, send an informative email and wait for the administrator to commit the changes by running /ect/apr/integrator commit

 

 

Other integrator tasks:

Beside preparing the host for monitoring, the integrator is making some other usefull tasks on each run as follow.

 

- Check if SNMP daemon is running, try to restart it if not.

 

- Send host hardware information such as vendure (IBM, HP...) number of CPUs, memory and so on. This info will hopefully help you by AI modules in making more sense with all of your hardware & resources.

 

 

Usefull links:

Extentions explained

Integrator on GitHub

 

 

 

Helpful Resources