meta data de esta página
Instalar SNMP Builder en zabbix 2.3
Por Samuel Ruíz
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.
yum install net-snmp-utils
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)
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).
#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
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
— 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 @@
} $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');
— 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 @@
'url' => 'services.php', 'label' => _('IT services') ), + array( + 'url' => 'snmp_builder.php', + 'label' => _('SNMP Builder') + ), ) ), 'admin' => array(
— 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 @@
// available scripts 'scriptFileName' => 'path relative to js/' $availableJScripts = array( + 'snmp_builder.js' => 'snmp_builder/', + 'DynTable.js' => 'snmp_builder/', 'common.js' => '', 'menu.js' => '', 'menupopup.js' => '',
@@ -63,6 +65,8 @@
'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' => '',
— 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 @@
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');
@@ -65,7 +68,7 @@
'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),
@@ -951,14 +954,14 @@
'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;
Luego iniciamos el servicio snmp
service httpd restart
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
$mibForm->addItem(makeFormFooter(array(new CSubmit('import', _('Import'))), new CButtonCancel())); Cambiar por: $mibForm->addItem(makeFormFooter(new CSubmit('import', _('Import')),new CButtonCancel()));
Tutorial SNMP Browser
Para acceder a SNMP Builder seleccionamos la pestaña “configuración » SNMP Builder “.
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.
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. 1)
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.