Skip to main content

Alignak checks pack for Linux SNMP monitored hosts

Project description

Checks pack for monitoring Unix/Linux or Windows hosts with SNMP active checks

Most recent PyPi version Join the chat #alignak on freenode.net License AGPL v3

Note that 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)

Installation

The 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/packs for the Nagios legacy cfg files or arbiter/backend-json for the backend importable files).

From Alignak packages repositories

More 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-snmp

CentOS:

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-snmp

From PyPI

To install the package from PyPI:

# Python 2
sudo pip install alignak-checks-snmp

# Python 3
sudo pip3 install alignak-checks-snmp

From source files

To 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`;)

Documentation

This 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 plugins

On some Linux distros, you can:

sudo apt-get install libsnmp-perl libnet-snmp-perl

Or you can use the PERL cpan utility:

cpan install Net::SNMP

Configuration

Edit the /usr/local/share/alignak/etc/arbiter/packs/snmp/resources.cfg file and configure the SNMP community.:

#-- Default SNMP community
$SNMPCOMMUNITYREAD$=public

Prepare host

Some 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.service

Test 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% : ; OK

Alignak configuration

To define the SNMP community to be used per default, edit the resources.cfg file and change the default value.

$SNMPCOMMUNITYREAD$=public

You simply have to tag the concerned hosts with the template linux-snmp.

define host{
    use                     linux-snmp
    host_name               host_snmp
    address                 127.0.0.1
}

The main linux-snmp template 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,0

To 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 contributing

Contributions to this project are welcome and encouraged … issues in the project repository are the common way to raise an information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alignak_checks_snmp-2.0.2.tar.gz (99.6 kB view hashes)

Uploaded Source

Built Distribution

alignak_checks_snmp-2.0.2-py2-none-any.whl (97.7 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page