Herramientas de usuario

Herramientas del sitio


manuales:nagios:capacitacion:mk_livestatus

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
manuales:nagios:capacitacion:mk_livestatus [2015/10/16 17:53] – [Ejemplos] cayumanuales:nagios:capacitacion:mk_livestatus [2016/03/21 18:49] (actual) – [Compilación] cayu
Línea 35: Línea 35:
 ==== Compilación ==== ==== Compilación ====
 <code> <code>
-root@linux# wget 'http://www.mathias-kettner.de/download/mk-livestatus-1.1.2.tar.gz' +root@linux# wget 'http://www.mathias-kettner.de/download/mk-livestatus-1.2.6p16.tar.gz' 
-root@linux# tar xzf mk-livestatus-1.1.2.tar.gz +root@linux# tar xzf mk-livestatus-1.2.6p16.tar.gz 
-root@linux# cd mk-livestatus-1.1.2+root@linux# cd mk-livestatus-1.2.6p16
 root@linux# root@linux#
-root@linux# ./configure+root@linux# ./configure --with-nagios4
 checking for a BSD-compatible install... /usr/bin/install -c checking for a BSD-compatible install... /usr/bin/install -c
 checking whether build environment is sane... yes checking whether build environment is sane... yes
Línea 71: Línea 71:
 root@linux# make install root@linux# make install
 Making install in src Making install in src
-make[1]: Entering directory `/d/nagvis-dev/src/mk-livestatus-1.1.2/src' +make[1]: Entering directory `/d/nagvis-dev/src/mk-livestatus-1.2.6p16/src' 
-make[2]: Entering directory `/d/nagvis-dev/src/mk-livestatus-1.1.2/src'+make[2]: Entering directory `/d/nagvis-dev/src/mk-livestatus-1.2.6p16/src'
 test -z "/usr/local/bin" || /bin/mkdir -p "/usr/local/bin" test -z "/usr/local/bin" || /bin/mkdir -p "/usr/local/bin"
   /usr/bin/install -c 'unixcat' '/usr/local/bin/unixcat'   /usr/bin/install -c 'unixcat' '/usr/local/bin/unixcat'
Línea 78: Línea 78:
  /usr/bin/install -c -m 644 'livestatus.so' '/usr/local/lib/mk-livestatus/livestatus.so'  /usr/bin/install -c -m 644 'livestatus.so' '/usr/local/lib/mk-livestatus/livestatus.so'
  ranlib '/usr/local/lib/mk-livestatus/livestatus.so'  ranlib '/usr/local/lib/mk-livestatus/livestatus.so'
-/bin/sh /d/nagvis-dev/src/mk-livestatus-1.1.2/install-sh -d /usr/local/lib/mk-livestatus+/bin/sh /d/nagvis-dev/src/mk-livestatus-1.2.6p16/install-sh -d /usr/local/lib/mk-livestatus
 /usr/bin/install -c livestatus.o /usr/local/lib/mk-livestatus /usr/bin/install -c livestatus.o /usr/local/lib/mk-livestatus
 rm -f /usr/local/lib/mk-livestatus/livestatus.so rm -f /usr/local/lib/mk-livestatus/livestatus.so
-make[2]: Leaving directory `/d/nagvis-dev/src/mk-livestatus-1.1.2/src' +make[2]: Leaving directory `/d/nagvis-dev/src/mk-livestatus-1.2.6p16/src' 
-make[1]: Leaving directory `/d/nagvis-dev/src/mk-livestatus-1.1.2/src' +make[1]: Leaving directory `/d/nagvis-dev/src/mk-livestatus-1.2.6p16/src' 
-make[1]: Entering directory `/d/nagvis-dev/src/mk-livestatus-1.1.2+make[1]: Entering directory `/d/nagvis-dev/src/mk-livestatus-1.2.6p16
-make[2]: Entering directory `/d/nagvis-dev/src/mk-livestatus-1.1.2'+make[2]: Entering directory `/d/nagvis-dev/src/mk-livestatus-1.2.6p16'
 make[2]: Nothing to be done for `install-exec-am'. make[2]: Nothing to be done for `install-exec-am'.
 make[2]: Nothing to be done for `install-data-am'. make[2]: Nothing to be done for `install-data-am'.
-make[2]: Leaving directory `/d/nagvis-dev/src/mk-livestatus-1.1.2+make[2]: Leaving directory `/d/nagvis-dev/src/mk-livestatus-1.2.6p16
-make[1]: Leaving directory `/d/nagvis-dev/src/mk-livestatus-1.1.2'+make[1]: Leaving directory `/d/nagvis-dev/src/mk-livestatus-1.2.6p16'
 </code> </code>
 Despues tenemos que especificar que Nagios cargue el archivo objeto compilado //livestatus.o//, para eso debemos agregar a nagios.cfg:  Despues tenemos que especificar que Nagios cargue el archivo objeto compilado //livestatus.o//, para eso debemos agregar a nagios.cfg: 
Línea 99: Línea 99:
 Y dentro del log de Nagios vamos a ver algo similar a esto  Y dentro del log de Nagios vamos a ver algo similar a esto 
 <code> <code>
-[1256144866] livestatus: Version 1.1.2 initializing. Socket path: '/var/lib+[1256144866] livestatus: Version 1.2.6p16 initializing. Socket path: '/var/lib
 /nagios/rw/live' /nagios/rw/live'
 [1256144866] livestatus: Created UNIX control socket at /var/lib/nagios/rw/ [1256144866] livestatus: Created UNIX control socket at /var/lib/nagios/rw/
Línea 157: Línea 157:
 </code> </code>
 ===== Ejemplos ===== ===== Ejemplos =====
 +==== Python ====
 +=== livestatus ===
 <code python> <code python>
 #!/usr/bin/python #!/usr/bin/python
Línea 199: Línea 201:
 except Exception, e: # livestatus.MKLivestatusException, e: except Exception, e: # livestatus.MKLivestatusException, e:
    print "Livestatus error: %s" % str(e)    print "Livestatus error: %s" % str(e)
 +</code>
 +=== Monitoring::Livestatus ===
 +API de Perl para acceder a datos Nagios e Icinga por medio de check_mk livestatus
 +<code perl>
 +use Monitoring::Livestatus;
 +    my $ml = Monitoring::Livestatus->new(
 +      socket => '/var/lib/livestatus/livestatus.sock'
 +    );
 +    my $hosts = $ml->selectall_arrayref("GET hosts");
 +</code>
 +== new ([ARGS]) ==
 +Creates an Monitoring::Livestatus object. new takes at least the socketpath. Arguments are in key-value pairs.
 +Crea el objeto Monitoring::Livestatus. Toma la ruta del socket.
 +^Argumentos^^
 +^socket|Ruta al socket UNIX de check_mk livestatus|
 +^server|Usar este servidor para una conexión TCP|
 +^peer|Camino alternativo al socket o servidor, si se usa el valor ':' va a ser usado servidor sino socket|
 +^name|Nombre para la conexión, default dirección socket/server|
 +^verbose|Modo verbose|
 +^line_seperator|Código ascii separador de líneas default 10, (newline)|
 +^column_seperator|Código ascii separador de columnas, defaults 0 (null byte)|
 +^list_seperator|Código ascii separador de listas, default 44 (comma)|
 +^host_service_seperator|Código ascii separador host/service, default 124 (pipe)|
 +^keepalive|keepalive. Default off|
 +^errors_are_fatal|Errores con mensaje de caída. Default: on|
 +^warnings|muestran advertencias en las consultas sin Columnas|
 +^timeout|Tiempo de espera general. Usado para conexión y consultas|
 +^query_timeout|set a query timeout. Used for retrieving querys, Default 60sec|
 +^connect_timeout|Tiempo de espera de conexión inicial. Por defecto 5 s|
 +== Limit ==
 +<code perl>
 +my $array_ref = $ml->selectcol_arrayref(
 +       "GET hosts\nColumns: name contacts",
 +       { Limit => "10,20" }
 +    );
 +</code>
 +==== Perl ====
 +=== Monitoring::Livestatus ===
 +<code perl>
 +#!/usr/bin/perl
 +use Monitoring::Livestatus;
 +
 +$filtergrp = 'NAGIOS_ARGENTINA';
 +
 +$ml = Monitoring::Livestatus->new(
 + socket => '/usr/local/nagios/var/rw/live'
 +);
 +
 +my $up = $ml->selectscalar_value("GET hosts\nFilter: host_groups >= $filtergrp\nStats: state = 0");
 +my $down = $ml->selectscalar_value("GET hosts\nFilter: host_groups >= $filtergrp\nStats: state = 1");
 +my $unknown = $ml->selectscalar_value("GET hosts\nFilter: host_groups >= $filtergrp\nStats: state = 2");
 +my $total = $up + $down + $unknown;
 +
 +print "$down\/$total \n";
 </code> </code>
manuales/nagios/capacitacion/mk_livestatus.1445018024.txt.gz · Última modificación: 2015/10/16 17:53 por cayu