manuales:nagios:capacitacion:mk_livestatus
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| manuales:nagios:capacitacion:mk_livestatus [2015/10/16 15:09] – cayu | manuales:nagios:capacitacion:mk_livestatus [2016/03/21 18:49] (actual) – [Compilación] cayu | ||
|---|---|---|---|
| Línea 35: | Línea 35: | ||
| ==== Compilación ==== | ==== Compilación ==== | ||
| < | < | ||
| - | root@linux# wget ' | + | root@linux# wget ' |
| - | 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# ./ |
| checking for a BSD-compatible install... / | checking for a BSD-compatible install... / | ||
| 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 `/ | + | make[1]: Entering directory `/ |
| - | make[2]: Entering directory `/ | + | make[2]: Entering directory `/ |
| test -z "/ | test -z "/ | ||
| / | / | ||
| Línea 78: | Línea 78: | ||
| / | / | ||
| | | ||
| - | /bin/sh / | + | /bin/sh / |
| / | / | ||
| rm -f / | rm -f / | ||
| - | make[2]: Leaving directory `/ | + | make[2]: Leaving directory `/ |
| - | make[1]: Leaving directory `/ | + | make[1]: Leaving directory `/ |
| - | make[1]: Entering directory `/ | + | make[1]: Entering directory `/ |
| - | make[2]: Entering directory `/ | + | make[2]: Entering directory `/ |
| 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 `/ | + | make[2]: Leaving directory `/ |
| - | make[1]: Leaving directory `/ | + | make[1]: Leaving directory `/ |
| </ | </ | ||
| Despues tenemos que especificar que Nagios cargue el archivo objeto compilado // | Despues tenemos que especificar que Nagios cargue el archivo objeto compilado // | ||
| 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 | ||
| < | < | ||
| - | [1256144866] livestatus: Version | + | [1256144866] livestatus: Version 1.2.6p16 initializing. Socket path: '/ |
| / | / | ||
| [1256144866] livestatus: Created UNIX control socket at / | [1256144866] livestatus: Created UNIX control socket at / | ||
| Línea 156: | Línea 156: | ||
| } | } | ||
| </ | </ | ||
| + | ===== Ejemplos ===== | ||
| + | ==== Python ==== | ||
| + | === livestatus === | ||
| + | <code python> | ||
| + | # | ||
| + | import os | ||
| + | import livestatus | ||
| + | try: | ||
| + | socket_path = " | ||
| + | except: | ||
| + | sys.exit(1) | ||
| + | |||
| + | try: | ||
| + | # Make a single connection for each query | ||
| + | print " | ||
| + | for key, value in livestatus.SingleSiteConnection(socket_path).query_row_assoc(" | ||
| + | print " | ||
| + | print " | ||
| + | hosts = livestatus.SingleSiteConnection(socket_path).query_table(" | ||
| + | for name, alias, address in hosts: | ||
| + | print "%-16s %-16s %s" % (name, address, alias) | ||
| + | |||
| + | # Do several queries in one connection | ||
| + | conn = livestatus.SingleSiteConnection(socket_path) | ||
| + | | ||
| + | print " | ||
| + | |||
| + | stats = conn.query_row( | ||
| + | "GET services\n" | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | print " | ||
| + | |||
| + | print "List of commands: %s" % \ | ||
| + | ", " | ||
| + | |||
| + | print "Query error:" | ||
| + | | ||
| + | |||
| + | |||
| + | except Exception, e: # livestatus.MKLivestatusException, | ||
| + | print " | ||
| + | </ | ||
| + | === Monitoring:: | ||
| + | API de Perl para acceder a datos Nagios e Icinga por medio de check_mk livestatus | ||
| + | <code perl> | ||
| + | use Monitoring:: | ||
| + | my $ml = Monitoring:: | ||
| + | socket => '/ | ||
| + | ); | ||
| + | my $hosts = $ml-> | ||
| + | </ | ||
| + | == new ([ARGS]) == | ||
| + | Creates an Monitoring:: | ||
| + | Crea el objeto Monitoring:: | ||
| + | ^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 ':' | ||
| + | ^name|Nombre para la conexión, default dirección socket/ | ||
| + | ^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/ | ||
| + | ^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-> | ||
| + | " | ||
| + | { Limit => " | ||
| + | ); | ||
| + | </ | ||
| + | ==== Perl ==== | ||
| + | === Monitoring:: | ||
| + | <code perl> | ||
| + | # | ||
| + | use Monitoring:: | ||
| + | |||
| + | $filtergrp = ' | ||
| + | |||
| + | $ml = Monitoring:: | ||
| + | socket => '/ | ||
| + | ); | ||
| + | |||
| + | my $up = $ml-> | ||
| + | my $down = $ml-> | ||
| + | my $unknown = $ml-> | ||
| + | my $total = $up + $down + $unknown; | ||
| + | |||
| + | print " | ||
| + | </ | ||
manuales/nagios/capacitacion/mk_livestatus.1445008192.txt.gz · Última modificación: 2015/10/16 15:09 por cayu
