SNMP Template generator for Zabbix
Perl
Switch branches/tags
Nothing to show
Clone or download
Latest commit b4e866e Dec 30, 2017

README.md

mib2zabbix

This Perl script will generate a Zabbix v3 Template in XML format from an OID tree in a SNMP MIB file.

Usage

mib2zabbix.pl -o <OID> [OPTIONS]...
    
Export loaded SNMP MIB OIDs to Zabbix Template XML

    -f, --filename=PATH         output filename (default: stdout)
   
    -N, --name=STRING           template name (default: OID label)
    -G, --group=STRING          template group (default: 'Templates')
    -e, --enable-items          enable all template items (default: disabled)
    
    -o, --oid=STRING            OID tree root to export (must start with '.')
    
    -v, --snmpver=1|2|3         SNMP version (default: 2)
    -p, --port=PORT             SNMP UDP port number (default: 161)
    
SNMP Version 1 or 2c specific

    -c, --community=STRING      SNMP community string (default: 'public')
    
SNMP Version 3 specific

    -L, --level=LEVEL           security level (noAuthNoPriv|authNoPriv|authPriv)
    -n, --context=CONTEXT       context name
    -u, --username=USERNAME     security name
    -a, --auth=PROTOCOL         authentication protocol (MD5|SHA)
    -A, --authpass=PASSPHRASE   authentication protocol passphrase
    -x, --privacy=PROTOCOL      privacy protocol (DES|AES)
    -X, --privpass=PASSPHRASE   privacy passphrase

Zabbix item configuration

    --check-delay=SECONDS       check interval in seconds (default: 60)
    --disc-delay=SECONDS        discovery interval in seconds (default: 3600)
    --history=DAYS              history retention in days (default: 7)
    --trends=DAYS               trends retention in days (default: 365)
    
    -h, --help                  print this message

Requirements

  • Zabbix v3+
  • Perl v5
  • Pod::Usage
  • XML::Simple
  • Net-SNMP
  • Correctly configured MIB files

Installation

Install from GitHub:

# install prerequisites on Ubuntu: 
apt-get install perl libxml-simple-perl libsnmp-perl

# install prerequisites on RHEL family:
yum install "perl(SNMP)" "perl(XML::Simple)"

# assumes ~/bin exists and is in $PATH, so adjust accordingly!
curl -sL -o ~/bin/mib2zabbix https://raw.githubusercontent.com/cavaliercoder/mib2zabbix/master/mib2zabbix.pl
chmod +x ~/bin/mib2zabbix

Translations

This table describes how MIB elements are translated into Zabbix template elements:

  • Scalar OID -> Zabbix SNMP Item
  • Table OID -> Zabbix SNMP Discovery Rule
  • Table Column OID -> Zabbix Discovery Prototype
  • Trap/Notification OID -> Zabbix SNMP Trap Item
  • OID Enums -> Zabbix Value Maps

License

mib2zabbix - SNMP Template Generator for Zabbix Copyright (C) 2016 - Ryan Armstrong ryan@cavaliercoder.com

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.