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
Última revisiónAmbos lados, revisión siguiente
manuales:nagios:capacitacion:mk_livestatus [2015/10/16 17:53] cayumanuales:nagios:capacitacion:mk_livestatus [2016/03/21 18:48] – [Compilación] cayu
Línea 39: Línea 39:
 root@linux# cd mk-livestatus-1.1.2 root@linux# cd mk-livestatus-1.1.2
 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 157: Línea 157:
 </code> </code>
 ===== Ejemplos ===== ===== Ejemplos =====
 +==== Python ====
 +=== livestatus ===
 <code python> <code python>
 #!/usr/bin/python #!/usr/bin/python
-# -*- encoding: utf-8; py-indent-offset: 4 -*- 
-# +------------------------------------------------------------------+ 
-# |             ____ _                      __  __ _  __           | 
-# |            / ___| |__   ___  ___| | __    \/  | |/ /           | 
-# |           | |   | '_ \ / _ \/ __| |/ /   | |\/| | ' /            | 
-# |           | |___| | | |  __/ (__|   <    | |  | | . \            | 
-# |            \____|_| |_|\___|\___|_|\_\___|_|  |_|_|\_\           | 
-# |                                                                  | 
-# | Copyright Mathias Kettner 2013             mk@mathias-kettner.de | 
-# +------------------------------------------------------------------+ 
-# 
-# This file is part of Check_MK. 
-# The official homepage is at http://mathias-kettner.de/check_mk. 
-# 
-# check_mk is free software;  you can redistribute it and/or modify it 
-# under the  terms of the  GNU General Public License  as published by 
-# the Free Software Foundation in version 2.  check_mk is  distributed 
-# in the hope that it will be useful, but WITHOUT ANY WARRANTY;  with- 
-# out even the implied warranty of  MERCHANTABILITY  or  FITNESS FOR A 
-# PARTICULAR PURPOSE. See the  GNU General Public License for more de- 
-# ails.  You should have  received  a copy of the  GNU  General Public 
-# License along with GNU Make; see the file  COPYING.  If  not,  write 
-# to the Free Software Foundation, Inc., 51 Franklin St,  Fifth Floor, 
-# Boston, MA 02110-1301 USA. 
- 
 import os import os
 import livestatus import livestatus
  
 try: try:
-#    omd_root = os.getenv("OMD_ROOT") 
     socket_path = "unix:/usr/local/nagios/var/rw/live"     socket_path = "unix:/usr/local/nagios/var/rw/live"
 except: except:
-    sys.stderr.write("This example is indented to run in an OMD site\n") 
-    sys.stderr.write("Please change socket_path in this example, if you are\n") 
-    sys.stderr.write("not using OMD.\n") 
     sys.exit(1)     sys.exit(1)
  
Línea 228: 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.txt · Última modificación: 2016/03/21 18:49 por cayu