Consola de Traps SNMP en Nagios?

148 views
Skip to first unread message

Runo

unread,
Nov 29, 2011, 10:00:37 AM11/29/11
to Nagios en Español
Hola,

estamos pensando en montar Nagios para monitorizar un entorno de
maquinas: memoria, CPU y aplicaciones... Nuestros entornos están
monitorizados con HP Openview hasta ahora. Pero no vemos una consola
de eventos en Nagios donde podramos visualizar cada trap (o evento
correlado) que va llegando en tiempo real. Podriais orientarnos sobre
si hay un add-in o algo con el que consigamos una consola asi? Donde
los eventos son visualizados segun llegan. Se nos ocurre hacer un
único servicio asociado a todas las MIBs (todavia no sabemos como...)
y visualizar este unico servicio. Podriamos "reconocer" eventos que
lleguen y hacer busquedas de eventos al estilo Openview/Tivoli
Netcool? Podriamos visualizar traps "no conocidos" (que no tengamos
controlados, por ejemplo, de hardware nuevo instalado en los
servidores, como una tarjeta SCSI que envie traps sin que hayan sido
expecificados extrictamente en un servicio de Nagios...)


Muchas gracias de antemano.

Saludos

Nahuel Sturzenhofecker

unread,
Nov 30, 2011, 3:32:55 PM11/30/11
to nagios-e...@googlegroups.com
Nagios maneja eventos no traps,

Lo unico que se me ocurre que puedas hacer para armarte una "trapera" es tomar el nagios.log y mostrarlo a traves de un frontend,

Algo asi,

Creas un archivo logtail.php,

Donde dice tail -"10" puedes poner el numero que quieras para hacer una trapera a gusto

<?
// logtail.php
$cmd = "tail -10 /usr/local/nagios/var/nagios.log";
exec("$cmd 2>&1", $output);
foreach($output as $outputline) {
$palabra=preg_quote('CRITICAL');
$palabra2=preg_quote('OK');
$palabra3=preg_quote('WARNING');
if(eregi(".$palabra.",$outputline)) {
    $image="critical.png";
} elseif(eregi(".$palabra2.",$outputline)) {
    $image="recovery.png";
} elseif(eregi(".$palabra3.",$outputline)) {
    $image="warning.png";
} else {
   $image="info.png";
}

 echo '<img src="'.$image.'" width="16" height="16">',("$outputline\n");




}
?>

Creas un archivo viewer.html

<html>
<head>
<script type="text/javascript" src="js/ajax.js"> </script>
<script type="text/javascript" src="js/logtail.js"> </script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
        background-color: #666;
}
</style>
</head>
<body onLoad="getLog('start');">
<table align="center" width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="center"><img src="barra_log.png" width="900" height="60"></td>
  </tr>
</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<div id="log" style="border:solid 1px #ccc; margin-left:5px; font-size:9px;
padding-left:5px; padding-right:5px; padding-top:5px; padding-bottom:5px;
margin-top:5px; margin-bottom:5px; width:96%; text-align:left; color: #fff; font-size: 16px;"></div>
</tr>
</table>
</body>

Creas un directorio llamado js,
Creas un archivo llamado ajax.js
cat ajax.js
function createRequest() {
 var request = null;
  try {
   request = new XMLHttpRequest();
  } catch (trymicrosoft) {
   try {
     request = new ActiveXObject("Msxml2.XMLHTTP");
   } catch (othermicrosoft) {
     try {
      request = new ActiveXObject("Microsoft.XMLHTTP");
     } catch (failed) {
       request = null;
     }
   }
 }

 if (request == null) {
   alert("Error creating request object!");
 } else {
   return request;
 }
}

Creas un archivo llamado logtail.js

/* logtail.js
an ajax log file tailer / viewer
copyright 2007 john minnihan.


Released under these terms
1. This script, associated functions and HTML code ("the code") may be used by you ("the recipient") for any purpose.
2. This code may be modified in any way deemed useful by the recipient.
3. This code may be used in derivative works of any kind, anywhere, by the recipient.
4. Your use of the code indicates your acceptance of these terms.
5. This notice must be kept intact with any use of the code to provide attribution.
*/

function getLog(timer) {

var url = "logtail.php";
request.open("POST", url, true);
request.onreadystatechange = updatePage;
request.send(null);
startTail(timer);
}

function startTail(timer) {
if (timer == "stop") {
stopTail();
} else {
t= setTimeout("getLog()",4000);
}
}

function stopTail() {
t= setTimeout("getLog()",4000);
}

function updatePage() {
if (request.readyState == 4) {
if (request.status == 200) {
var currentLogValue = request.responseText.split("\n");
eval(currentLogValue);
logDiv = document.getElementById("log");
var logLine = ' ';
for (i=0; i < currentLogValue.length - 1; i++) {
logLine += currentLogValue[i] + '<br/>\n';
}
logDiv.innerHTML=logLine;
} else
alert("Error! Request status is " + request.status);
}

Creas otro archivo viewer.html

<html>
<head>
<script type="text/javascript" src="js/ajax.js"> </script>
<script type="text/javascript" src="js/logtail.js"> </script>
</head>
<body onLoad="getLog('start');">
<div id="log" style="border:solid 1px #dddddd; margin-left:25px; font-size:9px;
padding-left:5px; padding-right:10px; padding-top:10px; padding-bottom:20px;
margin-top:10px; margin-bottom:10px; width:90%; text-align:left; color: #036; font-size: 12px;"></div>
</body>





--
Has recibido este mensaje porque estás suscrito al grupo "Nagios en Español" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a nagios-e...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a nagios-en-espa...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/nagios-en-espanol?hl=es.


Jorge Aranda Siguero

unread,
Dec 1, 2011, 6:45:31 AM12/1/11
to nagios-e...@googlegroups.com
Hola:

Puedes ver la conjunción de snmptt, snmptrapd y nagtrap.
Yo lo tengo instalado y no funciona mal aunque para alimentar el snmptt de traducciones es un poco complicado, porque no suelen encontrarse muchas.

Saludos

--
********************* ^ ***************************
Jorge
e-mail: jara...@gmail.com
********************* ^ ***************************

Nahuel Sturzenhofecker

unread,
Dec 1, 2011, 7:15:28 AM12/1/11
to nagios-e...@googlegroups.com
Lo investigo pero no te prometo nada, ya que aqui no usamos SNMP

Jorge Aranda Siguero

unread,
Dec 1, 2011, 2:48:42 PM12/1/11
to nagios-e...@googlegroups.com
Mañana te mando un pantallazo de mi consola de Nagtrap que es un addon de nagios para que veas como sale,... en cuando lo veas verás que es una integración para nagios perfecta o al menos eso es lo que me ha parecido a mi tras tenerlo instalado.

Saludos,
Jorge.

Jorge Aranda Siguero

unread,
Dec 2, 2011, 2:54:02 AM12/2/11
to nagios-e...@googlegroups.com
Hola:

Te mando el pantallazo como quedamos.

Saludos,
Jorge,
nagtrap.jpg
Reply all
Reply to author
Forward
0 new messages