Package: alignak_checks_snmp
Checks pack for monitoring Unix/Linux or Windows hosts with SNMP active checksNotethat the Windows part for this pack is not yet available.If you are interested in such a checks pack and if you are monitoring some Windows hosts with SNMP, please contact us (IRC or open an issue in this project)InstallationThe installation of this checks pack will copy some configuration files in the Alignak default configuration directory (eg./usr/local/share/alignak/etc).
The copied files are located in the default sub-directory used for the packs (eg.arbiter/packsfor the Nagios legacy cfg files orarbiter/backend-jsonfor the backend importable files).From Alignak packages repositoriesMore information in the online Alignak documentation. Here is only an abstract…Debian:# Alignak DEB stable packages
sudo echo deb https://dl.bintray.com/alignak/alignak-deb-stable xenial main | sudo tee -a /etc/apt/sources.list.d/alignak.list
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv D401AB61

sudo apt-get update
sudo apt install python-alignak-checks-snmpCentOS:sudo vi /etc/yum.repos.d/alignak-stable.repo:
   [Alignak-rpm-stable]
   name=Alignak RPM stable packages
   baseurl=https://dl.bintray.com/alignak/alignak-rpm-stable
   gpgcheck=0
   repo_gpgcheck=0
   enabled=1

sudo yum repolist

sudo yum install python-alignak-checks-snmpNotefor Python 3 version, replacepythonwithpython3in the packages name.From PyPITo install the package from PyPI:# Python 2
sudo pip install alignak-checks-snmp

# Python 3
sudo pip3 install alignak-checks-snmpFrom source filesTo install the package from the source files:git clone https://github.com/Alignak-monitoring-contrib/alignak-checks-snmp
cd alignak-checks-snmp
sudo pip install .Note:using `sudo python setup.py install` will not correctly manage the package configuration files! The recommended way is really to use `pip`;)DocumentationThis checks pack is using the some PERL plugins that are shipped with the checks pack, but some PERL dependencies are necessary.Install PERL dependencies for PERL pluginsOn some Linux distros, you can:sudo apt-get install libsnmp-perl libnet-snmp-perlOr you can use the PERLcpanutility:cpan install Net::SNMPConfigurationEdit the/usr/local/share/alignak/etc/arbiter/packs/snmp/resources.cfgfile and configure the SNMP community.:#-- Default SNMP community
$SNMPCOMMUNITYREAD$=publicPrepare hostSome operations are necessary on the monitored hosts if SNMP remote access is not yet activated.# Install local SNMP agent
su -
apt-get update
apt-get install snmpd

# Allow SNMP get - this configuration is intended for tests puuposes
# You should set up a more secure configuration and not allow everyone to see everything :)
vi /etc/snmp/snmpd.conf
=>
   #  Listen for connections from the local system only
   #agentAddress  udp:127.0.0.1:161
   #  Listen for connections on all interfaces (both IPv4 *and* IPv6)
   agentAddress udp:161,udp6:[::1]:161
=>
   # rocommunity public  default    -V systemonly
   rocommunity public

# Restart SNMP agent
sudo systemctl restart snmpd.serviceTest remote access with the plugins files:$ /usr/local/var/libexec/alignak/check_snmp_mem.pl -H 127.0.0.1 -C public -w 80,80 -c 90,95
Ram : 71%, Swap : 58% : ; OKAlignak configurationTo define the SNMP community to be used per default, edit theresources.cfgfile and change the default value.$SNMPCOMMUNITYREAD$=publicYou simply have to tag the concerned hosts with the templatelinux-snmp.define host{
    use                     linux-snmp
    host_name               host_snmp
    address                 127.0.0.1
}The mainlinux-snmptemplate declares macros used to configure the launched checks. The default values of these macros listed hereunder can be overriden in each host configuration._SNMPCOMMUNITY      $SNMPCOMMUNITYREAD$
_SNMP_MSG_MAX_SIZE  65535

_LOAD_WARN          2,2,2
_LOAD_CRIT          3,3,3
_STORAGE_WARN       90
_STORAGE_CRIT       95
_CPU_WARN           80
_CPU_CRIT           90
_MEMORY_WARN        80,80
_MEMORY_CRIT        95,95
_NET_IFACES         eth\d+|em\d+
_NET_WARN           90,90,0,0,0,0
_NET_CRIT           0,0,0,0,0,0To set a specific value for an host, declare the same macro in the host definition file.define host{
    use                     linux-snmp
    host_name               host_snmp
    address                 127.0.0.1

    # Specific values for this host
    # Change warning and critical alerts level for memory
    # Same for CPU, ALL_CPU, DISK, LOAD, NET, ...
    _LOAD_WARN       3,3,3
    _LOAD_CRIT       5,5,5
}Bugs, issues and contributingContributions to this project are welcome and encouraged …issues in the project repositoryare the common way to raise an information.