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.
— 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()));
Para acceder a SNMP Builder seleccionamos la pestaña “configuración » SNMP Builder “.
En esta imagen podemos ver:
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.
Como ventaja tenemos la facilidad de añadir ítems a una plantilla.
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.