meta data de esta página
  •  

Diferencias

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

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
seguridad:monitorizacion:zabbix2:snmpbuilder [282014/05/ 10:05] lcseguridad:monitorizacion:zabbix2:snmpbuilder [182023/01/ 13:46] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
 +===== Instalar SNMP Builder en zabbix 2.3 =====
 +Por Samuel Ruíz
 +{{tag> web servicio zabbix SNMP builder}}
 +
 +
 +Para instalar **SNMP Builder** en zabbix 2.3 hay que instalar primero **SNMP Builder 2.0** y luego actualizar los ficheros para zabbix 2.3.
 +
 +**Paso 1:** instalar snmp.
 +
 +<code>
 +yum install net-snmp-utils
 +</code>
 +
 +<note tip>Hay un comando con el cual podemos localizar ficheros es el comando **locate**. Para instalarlo debemos instalar el paquete **mlocate**
 +
 +<code>
 +yum search locate (busca paquetes que contengan locate)
 +
 +yum install mlocate
 +
 +updatedb (para actualizar la localización del fichero antes de buscar)
 +
 +locate (nombre del archivo a buscar)
 +</code>
 +</note>
 +
 +
 +**Paso 2:** copiar y pegar este script tal cual en la terminal (tener en cuenta que si se actualiza el programa puede que algunas rutas tengan que ser modificadas. Ej: paso 6).
 +
 +<code>
 +#1. download tar.gz file from github to your favorite directory
 +# also name tar file $dist_name
 +# you may download by browser pointing to http://github.com/atimonin/snmpbuilder/tarball/master, or
 +wget --content-disposition http://github.com/atimonin/snmpbuilder/tarball/master
 +
 +#2. Define some variables:
 +# Zabbix frontend document-root
 +# (for ubuntu it is /var/www/zabbix):
 +zabbix_frontend=/usr/share/zabbix
 +# Your favorite directory for downloads (your current dir for ex.)
 +your_src=$PWD
 +# Downloaded tar filename (also directory later)
 +distname=`basename atimonin-snmpbuilder-* .tar.gz`
 +#
 +#
 +#3. untar needed files
 +tar xvzf $distname.tar.gz
 +
 +#5. install images for snmpbuilder in zabbix frontend root directory
 +
 +cd $zabbix_frontend
 +tar xvzf $your_src/$distname/snmpbuilder-2.0_imgs.tar.gz
 +
 +#6. patch zabbix frontend
 +patch -p1 < $your_src/atimonin-snmpbuilder-8b843e2/snmpbuilder-2.0.patch
 +
 +#7. copy snmpbuilder files to frontend dir
 +cp -rf $your_src/$distname/zabbix/* $zabbix_frontend
 +
 +#9. All done, you are again you, exit from sudo
 +</code>
 +
 +**Paso 3:** modificar ficheros.
 +
 +Con esto hemos instalado el **SNMP Builder** para la versión de zabbix 2.0, por lo que, tenemos que modificar algunos ficheros para hacerlo compatible con zabbix 2.2.
 +
 +== Actualizar ficheros  ==
 +[[ http://pastebin.com/iXYsZBVY | Ficheros a modificar ]]
 +
 +**--- page_header.php     2013-12-09 02:15:15.000000000 -0700 \\
 ++++ /var/www/html/include/page_header.php       2014-01-21 11:07:30.329000236 -0700 \\
 +@@ -167,6 +167,7 @@**
 +<code>
 +        }
 +        $css = CHtml::encode($css);
 +        $pageHeader->addCssFile('styles/themes/'.$css.'/main.css');
 ++       $pageHeader->addCssFile('js/jquery/themes/mib/style.css');
 + 
 +        if ($page['file'] == 'sysmap.php') {
 +                $pageHeader->addCssFile('imgstore.php?css=1&output=css');
 + 
 +</code>
 +
 +**--- menu.inc.php        2013-12-09 02:15:15.000000000 -0700 \\
 ++++ /var/www/html/include/menu.inc.php  2014-01-21 10:34:42.157000373 -0700 \\
 +@@ -212,6 +212,10 @@**
 +<code>
 +
 +                                'url' => 'services.php',
 +                                'label' => _('IT services')
 +                        ),
 ++                        array(
 ++                               'url' => 'snmp_builder.php',
 ++                               'label' => _('SNMP Builder')
 ++                       ),
 +                )
 +        ),
 +        'admin' => array(
 + 
 +</code>
 +
 +**--- jsLoader.php        2013-12-09 02:15:17.000000000 -0700 \\
 ++++ /var/www/html/jsLoader.php  2014-01-21 11:09:29.062000234 -0700 \\
 +@@ -49,6 +49,8 @@**
 +<code>
 +
 + // available scripts 'scriptFileName' => 'path relative to js/'
 + $availableJScripts = array(
 ++       'snmp_builder.js' => 'snmp_builder/',
 ++       'DynTable.js' => 'snmp_builder/',
 +        'common.js' => '',
 +        'menu.js' => '',
 +        'menupopup.js' => '',
 +</code>
 +
 +**@@ -63,6 +65,8 @@**
 +
 +<code>
 +
 +        'prototype.js' => '',
 +        'jquery.js' => 'jquery/',
 +        'jquery-ui.js' => 'jquery/',
 ++       'jquery.cookie.js' => 'jquery/',
 ++       'jquery.jstree.js' => 'jquery/',
 +        'activity-indicator.js' => 'vendors/',
 +        // classes
 +        'class.bbcode.js' => '',
 + 
 +</code>
 +
 +**--- snmp_builder.php    2013-08-01 10:30:18.000000000 -0600 \\
 ++++ /var/www/html/snmp_builder.php      2014-01-21 11:27:20.505999936 -0700 \\
 +@@ -29,6 +29,9 @@**
 +<code>
 +
 + require_once dirname(__FILE__).'/include/items.inc.php';
 + require_once dirname(__FILE__).'/include/graphs.inc.php';
 + 
 ++error_reporting(E_ALL);
 ++ini_set('display_errors', '1');
 ++
 + $page['title'] = _('SNMP Builder');
 + $page['file'] = 'snmp_builder.php';
 + $page['scripts'] = array('DynTable.js', 'snmp_builder.js', 'jquery.js', 'jquery.cookie.js', 'jquery.jstree.js');
 +</code>
 +
 +**@@ -65,7 +68,7 @@**
 +<code>
 +
 +                'oids' =>               array(T_ZBX_STR, O_OPT, NULL,   NULL,           NULL),
 +                'idx' =>                array(T_ZBX_STR, O_OPT, NULL,   NULL,           NULL),
 +                'mib' =>                array(T_ZBX_STR, O_OPT, NULL,   NULL,           NULL),
 +-               'templateid' =>         array(T_ZBX_INT, O_OPT, NULL,   NULL,           NULL),
 ++               'templateid' =>         array(T_ZBX_STR, O_OPT, NULL,   NULL,           NULL),
 +                'server_ip' =>          array(T_ZBX_STR, O_OPT, NULL,   NULL,           NULL),
 +                'server_port' =>        array(T_ZBX_STR, O_OPT, NULL,   BETWEEN(1,65535),       NULL),
 +                'community' =>          array(T_ZBX_STR, O_OPT, NULL,   NULL,           NULL),
 +</code>
 +
 +**@@ -951,14 +954,14 @@**
 +<code>
 +
 +                        'sortfield' => 'name',
 +                        'sortorder' => ZBX_SORT_UP,
 +                        'output' => API_OUTPUT_EXTEND,
 +-                       'selectTemplates' => array('hostid', 'name'),
 ++                       'selectTemplates' => array('templateid', 'name'),
 +                        'nopermissions' => 1
 +                );
 +        $template = array();
 +        $template_list = API::Template()->get($options);
 +        foreach ($template_list as $tnum => $temp)
 +        {
 +-               array_push($template, array('key' => $temp['hostid'], 'host' => $temp['name']));
 ++               array_push($template, array('key' => $temp['templateid'], 'host' => $temp['name']));
 +        }
 + 
 +        return $template;
 +</code>
 +
 +
 +
 +
 +
 +<note>Las cabaceras que indican el fichero a modificar estan resaltados en verde oscuro (entre @@ estan más o menos las líneas en las que hay que modificar), las partes que hay que eliminar estan resantadas en rojo (y un signo menos al inicio de la línea) y las partes que hay que añadir esta en verde claro (y un signo de suma al inicio de la línea).</note>
 +
 +Luego iniciamos el servicio snmp
 +
 +<code>
 +service httpd restart
 +</code>
 +
 +**Import Mib**
 +
 +Si hay algun problema a la hora de importar un mib debemos modificar el siguiente fichero.
 +
 +cd /usr/share/zabbix/include/views/administration.snmp_builder.php
 +
 +<code>
 +$mibForm->addItem(makeFormFooter(array(new CSubmit('import', _('Import'))), new CButtonCancel()));
 +
 +Cambiar por:
 +
 +$mibForm->addItem(makeFormFooter(new CSubmit('import', _('Import')),new CButtonCancel()));
 +
 +</code>
 +
 +<note>Los mibs que importemos deben ser .txt para que puedan ser leidos por **SNMP Builder**</note>
 +
 +===== Tutorial SNMP Browser ====
 +
 +Para acceder a **SNMP Builder** seleccionamos la pestaña **"configuración >> SNMP Builder "**.
 +
 +{{ :seguridad:monitorizacion:zabbix2:snmpbuilder1.png?nolink&600 |}}
 +
 +
 +En esta imagen podemos ver:
 +
 +  - **Template:** elegir la plantilla a la que queremos añadir el ítem.
 +  - **MIB:** seleccionar el Mib correspondiente al elemento que queremos monitorear.
 +  - **Host:** dirección IP del dispositivo.
 +  - **SNMP Versión:** elegir la versión del SNMP.
 +  - **Community:** introducir la comunidad a la que pertenece el dispositivo.
 +  - **Import:** se usará solo cuando queramos importar un nuevo Mib.
 +
 +Una vez seleccionados estos campos aparecerá a la izquierda el árbol del MIB que se haya seleccionado.
 +{{ :seguridad:monitorizacion:zabbix2:snmpbuiler2.png?nolink&400 |}}
 +
 +
 +**Paso 1:** Abrimos las carpetas del árbol y buscamos el que nos interese. \\
 +**Paso 2:** si seleccionamos una hoja del árbol que no tenga un "+" o un "-" a su izquierda, se mostrará a la derecha en OID el nombre y el valor del mismo. (( Si no se encuentra un valor puede que haya un error ó que no exista ese ítem para el dispositivo seleccionado )) \\
 +**Paso 3:** selecinamos el nombre del OID para añadirlo a las lista de ítems que vamos a añadir a la plantilla. \\
 +**Paso 4:** podemos seleccionar algunas opciones que hacen referencia al ítem y luego crear un gráfico. \\
 +**Paso 5:** por ultimo seleccionamos el botón "save" para aplicar los cambios en nuestra plantilla. \\
 +
 +===== Ventajas =====
 +
 +Como ventaja tenemos la facilidad de añadir ítems a una plantilla.
 +
 +===== Inconvenientes =====
 +
 +No todos los ítems que debería funcionar lo hacen. Además debemos buscarlos uno por uno, ya que no hay ninguna forma de buscar los que funcionen.
 +