Translations of this page:

Instancia

Las instancias serán, al fin y al cabo, los elementos que deseamos monitorizar. Para poder realizar esas tareas de monitorización los agentes necesitan recabar cierta información.

Declaración de la instancia

Es la manera de definir una instancia en los ficheros de configuración.

[OSMIUS_INSTANCES\<descriptor>]

<descriptor>: Es una cadena alfanumérica, que identifica a la instancia, de longitud 8 (exactamente 8). El descriptor tiene que ser único y no puede repetirse para designar a otra instancia en el fichero de configuración de ese agente.

Connection_Info

Connection_Info o Información de conexión: es la mínima información que se debe de proveer para establecer la conexión con la instancia.

CONNECTION_INFO= <específico de cada agente>

Puede estar vacía en los casos en que el agente se ejecuta en localmente o incorporar datos como nombre de usuario y contraseña, cuando se desea acceder a instancias para las que se necesitan credenciales; IP y puerto, cuando se necesita acceder por red …

Tipo

Nos informa del tipo de instancia que vamos a monitorizar.

TYPE= <específico de cada agente>

Parámetros estándar

Cada evento de Osmius tiene una serie de parámetros de configuración llamados estándar, y otro grupo de parámetros definidos por el programador llamados extra. Los parámetros estándar pueden ser utilizados en todos los eventos y son los siguientes:

-t

Su sintaxis es -t n, siendo n el número de segundos que definirá el periodo de monitorización; cada n segundos se ejecutará el evento. Este parámetro es obligatorio.

-c

Su sintaxis es -c 0 o -c 1; con 0 indicamos que cuanto más alto sea el valor es más crítico y con 1, al revés, es decir que cuanto más pequeño sea el valor devuelto por el evento más crítico es el estado. No es obligatorio

-w

Su sintaxis es ”-w N”, siendo N el valor que indica el umbral de warning o precaución. No es obligatorio

-a

Su sintaxis es ”-a M”, siendo M el valor que indica el umbral de alerta o alarma. No es obligatorio

-s

Cuando ponemos -s en el evento se activa el modo silencioso. Si no se declara el modo silencioso estará desactivado.
Cuando activamos el modo silencioso sólo se envían los eventos cuando hay un cambio de estado en la criticidad, si no está activado se enviarán siempre todos los eventos. Para activarlo debemos de asignarle un valor distinto de 0. El valor de s indica el número de cambios de criticidad que tienen que ocurrir para que se envíe el evento.

Esto resulta especialmente útil como sistema amortiguador, para evitar falsos positivos.

-T

Su sintaxis es -T “cadena”, en donde cadena podemos sustituirlo por la cadena que deseemos que preceda al valor numérico, cuando se declara -T se sustituye el texto que ha sido predefinido para cada evento por el programador. Suele resultar muy útil cuando tenemos una gran número de instancias del mismo tipo. No es obligatorio.

Ejemplos

 Monitorización del número de procesos en un HP-UX cada 5 minutos en modo silencioso, texto personalizado y criticidad creciente:
  HPNUMPRC = -s -t 300 -c 0 -w 100 -a 300 -T "Procesos del HP-UX del CPD02"

Monitorizando el tiempo de vida de un HP-UX cada 5 minutos:
  HPUPTIME = -t 300 -c 1 -w 180 -a 60

Nivel de criticidad

Todos los eventos de Osmius llevan asociado un nivel de criticidad que puede tener alguno de estos valores y significados:

0 – Informativo
1 – Precaución
2 – Crítico
99 – Error

Compilación

Para compilar los agentes como norma general necesitarás instalar al menos los siguiente:

  • openSSL

Pendiente por definir.

  • ACE

Te lo puedes descargar de: http://download.dre.vanderbilt.edu/
Una vez descargado, descomprímelo y lee las instrucciones de compilación en los ficheros ACE_INSTALL o ACE-INSTALL.html
Puedes encontrar más información de ACE en: http://www.cs.wustl.edu/~schmidt/ACE.html
Foro de ACE: http://groups.google.com/group/comp.soft-sys.ace
Revisa la sección de instalación manual para otros detalles

  • Make Project Creator - MPC

MPC se distribuye automáticamente con ACE, y nos permitirá generar makefiles para las diferentes plataformas y compiladores desde unos ficheros de configuración realmente sencillos. “Script once… and build many”.
Más información de MPC en: http://www.ociweb.com/products/mpc

  • Osmius Core Engine

Necesitaremos algunos ficheros fuente del motor central de Osmius para la compilación de cualquier agente. En particular de las carpetas cm y ag.
Puedes descargar el código fuente en: http://sourceforge.net/projects/osmius

Makefiles

Debemos de descargar y descomprimir el agente, después debemos de definir una variable de entorno llamada OSM_ROOT, que apunte a nuestro directorio base de Osmius.
Encontraremos un fichero MPC por cada agente, que se llamará osm_ag_XXXXXXXX.mpc en cada directorio de agente (OSM_ROOT\agents\ag_xxxxxxxxxx), revísalo y mira que fácil es. Básicamente contiene los ficheros de los que depende el agente. De un agente a otro (si no utiliza librerías adicionales) sólo cambiará el nombre de su propio .h y de su propio .cpp.

Para generar un Makefile para nuestra plataforma y nuestro compilador es sencillísimo. Podría ser algo así:

Desde el directorio del agente

En Linux:

$ACE_ROOT/bin/mpc.pl -type make osm_ag_xxxxxxxx.mpc

Desde la consola de Windows para Visual C 8:

ACE_ROOT\bin\mpc.pl -type vc8 osm_ag_xxxxxxxx.mpc

Para HP-UX:

$ACE_ROOT/bin/mpc.pl -type gnuace osm_ag_xxxxxxxx.mpc

Ahora podemos compilar usando el Makefile resultado del MPC.

Para Linux:

make -f Makefile.Osm_Ag_xxxxxxxx_Osmius

Para HP-UX:

gmake -f GNU.makefile.Osm_Ag_xxxxxxxx_Osmius

Para Windows:

Doble click en Osm_Ag_xxxxxxxx_Osmius.vcproj y se abrirá el proyecto con Visual Studio.
En las configuraciones de la solución selecciona Release.
Pincha en Rebuild para compilar.

Arrancar y parar agentes

  • Para iniciar la ejecución de los agentes:

Para ejecutar los agentes hay que aportar una serie de parámetros:

=> -c: ruta al fichero de configuración (osm_ag_XXXXXXXX.ini). Obligatorio.
=> -p: Puerto de comunicaciones del Agente Maestro. Obligatorio.
=> -m: Identificador del Agente Maestro al que está asociado el agente, codificado mediante 8 caracteres alfanuméricos. Obligatorio.
=> -d: Debug mode. Muestra más información, útil para depurar. Opcional.
=> -h: Muestra la ayuda de ejecución. Opcional.

Un ejemplo típico:

osm_ag_XXXXXXXX[.exe] -c osm_ag_XXXXXXXX.ini -m YYYYYYYY -p 1950 -d >> osm_ag_xxxxxxx.log

Generalmente los agentes de Osmius serán ejecutados por el Agente Maestro, por lo que no tienes que preocuparte de arrancarlos, a menos que quieras ejecutarlos en Modo Standalone.

  • Detención de agentes

La ejecución de los agentes de Osmius puede detenerse:

=> Ctrl + C si el trabajo no está en el background
=> En Linux y sistemas parecidos haciendo un kill -SIGINT del proceso
=> EN Windows tendrás que usar el Task Manager como último recurso para detenerlo.

Modo standalone

Es posible ejecutar los agentes de Osmius de manera independiente, sin estar conectado con un Agente Maestro. En este modo no tienes que ejecutar el servidor central de Osmius ni la base de datos.

Sin embargo, si te decides por este método no tendrás todas las funcionalidades que ofrece la Consola de Osmius, como puede ser el análisis. Los resultados de los los eventos tampoco serán almacenados en el histórico de la base de datos del servidor central de Osmius. Esto puede resultar muy útil para las pruebas que hacen los desarrolladores o para pruebas de concepto.

Si quieres usar el modo standalone tienes que modificar el fichero de configuración del agente (.ini), debes añadir un nuevo valor en la configuración general del agente llamado SNDCMD que apunte a un script, el cual será ejecutado cada vez que el agente de Osmius recupere un evento.

SNDCMD  = C:\osmius\osmius\bin\osm_send_cmd.bat (Windows)
o
SNDCMD = /home/osmius/osmius/bin/osm_send_cmd.sh (Unix-like)

Después, cuando vayas a ejecutar el agente pon a cero el parámetro que marca el número de puerto del Agente Maestro asociado (-p 0)

osm_ag_XXXXXXXX[.exe] -c osm_ag_XXXXXXXX.ini -m 00000000 -p 0 -d
 
agentes/general.txt · Última modificación: 2010/12/22 13:22 (editor externo)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki