Herramientas de usuario

Herramientas del sitio


manuales:nagios:capacitacion:desarrollo_de_plugins_de_nagios

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
Próxima revisiónAmbos lados, revisión siguiente
manuales:nagios:capacitacion:desarrollo_de_plugins_de_nagios [2015/10/16 14:28] – creado cayumanuales:nagios:capacitacion:desarrollo_de_plugins_de_nagios [2015/10/16 14:55] cayu
Línea 1: Línea 1:
 ====== Desarrollo de plugins de Nagios ====== ====== Desarrollo de plugins de Nagios ======
  
 +==== Ejemplo de plugins SNMP ====
 +
 +snmpd.conf
 +<code>
 +exec .1.3.6.1.4.1.2021.555.1 cat /bin/cat /backup/export_full/export_full.exit_status
 +exec .1.3.6.1.4.1.2021.555.2 cat /bin/cat /backup/export_dos/export_dos.exit_status
 +exec .1.3.6.1.4.1.2021.555.3 cat /bin/cat /backup/export_full_DB/export_full_DB.exit_status
 +exec .1.3.6.1.4.1.2021.555.4 cat /bin/cat /backup/export_tres/exportTRES.exit_status
 +</code>
 +
 +<file perl check_snmp_exit_status.pl>
 +#!/usr/bin/perl
 +use Net::SNMP;
 +$oid = $ARGV[1];
 +
 +$snmpv3_username = "nagios";    # SNMPv3 username
 +$snmpv3_password = "ClaV3RfsTtD2"; # SNMPv3 password
 +$snmpv3_authprotocol = "md5";          # SNMPv3 hash algorithm (md5 / sha)
 +$snmpv3_privpassword = "";             # SNMPv3 hash algorithm (md5 / sha)
 +$snmpv3_privprotocol = "des";          # SNMPv3 encryption protocol (des / aes / aes128)
 +$version = "3";
 +$timeout = "2";
 +$hostname = $ARGV[0];
 +# Crear la sesion SNMP
 +        ($s, $e) = Net::SNMP->session(
 +                -username       =>  $snmpv3_username,
 +                -authpassword   =>  $snmpv3_password,
 +                -authprotocol   =>  $snmpv3_authprotocol,
 +                -hostname       =>  $hostname,
 +                -version        =>  $version,
 +                -timeout        =>  $timeout,
 +        );
 +        if ($s){
 +        } else {
 +            print "CRITICAL - El agente no responde, SNMP v3 ($e)\n";
 +            exit(2);
 +        }
 +    $s->get_request($oid);
 +        foreach ($s->var_bind_names()) {
 +            $oid_consulta   = $s->var_bind_list()->{$_};
 +        }
 +$s->close();
 +
 +if($oid_consulta == 0) {
 +    print "OK - El exit status es ".$oid_consulta."\n";
 +    exit 0;
 +} else {
 +    print "CRITICAL - El exit status es ".$oid_consulta."\n";
 +    exit 2;
 +}
 +</file>
 +Configuración de comando en Nagios
 +<code>
 +define service {
 + host_name                      srvblabla
 + service_description            Control de exit status de backup
 + use                            linux-service
 + check_command                  check_snmp_cat_file_exit_status!.1.3.6.1.4.1.2021.555.1.101.1
 + check_interval                  240
 + notification_interval          300
 +}
 +</code>
manuales/nagios/capacitacion/desarrollo_de_plugins_de_nagios.txt · Última modificación: 2016/07/27 15:12 por cayu