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.