Nagios::Plugin::SNMP Perl module suite : SNMP support project

Using most of Patrick Proy Nagios SNMP Plugins for professionnals projects, I'm looking for a Perl module that can simplify plugins writing. Nagios::Plugin is a project of the same team than release officials Nagios plugins. Its provide OO modules like following :

  • Nagios::Plugin::Getopt ;
  • Nagios::Plugin::Performance (append perfdata lines) ;
  • Nagios::Plugin::Threshold ;
  • etc..

This project aims to wrote a SNMP support for this suite of modules than help Nagios SNMP plugins writing in Perl language.

Features

  • Add a new module, Nagios::Plugin::SNMP than inherit of Nagios::Plugin and add defaults SNMP related options :
    • -H, --hostname : Hostname where SNMP agent is hosted
    • -p, --port : SNMP port number (default: 161)
    • -1, --v1 : use SNMPv1 protocol version
    • -2, --v2c : use SNMPv2c protocol version (default)
    • -3, --v3 : use SNMPv3 protocol version
    • -C, --community : SNMPv1 and SNMPv2c community string (default: public)
    • -l, --seclevel : SNMPv3 seclevel (default: authNoPriv)
    • -u, --secname : SNMPv3 secname
    • -a, --authproto : SNMPv3 authentification algorithm (default: md5)
    • -A, --authpasswd : SNMPv3 authentification passphrase
    • -x, --privproto : SNMPv3 privacy algorithm (default: des)
    • -X, --privpasswd : SNMPv3 privacy passphrase
    • -m, --mibs : Load one or many additionals MIB (files describing theses MIB must be placed in any directory where Net-SNMP library was looking for).
  • Add following and facultatives options :
    • -w, --warning : add warning threshold option
    • -c, --critical : add critical threshold option
      Theses options can be activated by setting 'thresholds' argument to 1 in 'new' method
  • Add following and facultative option :
    • -f, --perfdata : enable perfdata output
      This option can be activated by setting 'perfdata' argument to 1 in 'new' method
  • Add following and facultatives options :
    • -n, --name : add name matching option
    • -r, --regexp : enable regexp matching for previous option
      Theses options can be activated by setting 'name' argument to any STRING in 'new' method. This string will be added to name option description.
  •  SNMP::Simple-like methods ported to Net::SNMP : this module doesn't ever use Net::SNMP module but the Net-SNMP Perl module for his MIB support
  • Can return the instance's index with 'get_index_by_name' method by giving the name to looking for