Re: [Nagios-devel] Nagios::Cmd perl module

Support forum for Nagios Core, Nagios Plugins, NCPA, NRPE, NSCA, NDOUtils and more. Engage with the community of users including those using the open source solutions.
Locked
Guest

Re: [Nagios-devel] Nagios::Cmd perl module

Post by Guest »

--=-97yPWPSqqpMNHA3aDe/M
Content-Type: text/plain; charset=iso-8859-13
Content-Transfer-Encoding: quoted-printable

I fixed some stuff in the module and actually tested it this time before
sending it out.

You can now pass your named arguments without {} brackets. It also
doesn't attempt to set defaults for anything. It's all documented in
the POD.

Nagios::Cmd(3) User Contributed Perl Documentation Nagios::Cmd=
(3)

NAME
Nagios::Cmd

DESCRIPTION
Nagios::Cmd is a module to take care of the logistics involved in su=
b-
mitting a command to Nagios=FFs command pipe. flock(2) is used to i=
nsure
that parallel calls to this module don=FFt corrupt each other (unlik=
ely
in any case).

To turn on this module=FFs debugging, set it=FFs $debug directly bef=
ore
calling any methods:
$Nagios::Cmd::debug =3D 1;

To get a list of valid commands and their arguments, run the followi=
ng
command:
perl -MNagios::Cmd -e =FFNagios::Cmd::Help=FF
perl -MNagios::Cmd -e =FFNagios::Cmd::Help(ADD_HOST_COMMENT)=FF

You might need to specify an include path for Nagios::Cmd since it m=
ost
likely won=FFt be in your standard perl include directories:
perl -I/opt/nagios/libexec -MNagios::Cmd -e =FFNagios::Cmd::Help=FF

Examples:

use lib =FF/opt/nagios/libexec=FF;
use Nagios::Cmd;
my $cmd =3D Nagios::Cmd->new( "/var/opt/nagios/rw/nagios.cmd" );
my $cmd_args =3D {
host =3D> $host,
persistent =3D> 1,
author =3D> "Al Tobey",
comment =3D> "This host is very stable."
};
$cmd->ADD_HOST_COMMENT( $cmd_args );

$cmd->ADD_HOST_COMMENT(
host =3D> $host,
persistent =3D> 1,
author =3D> "Al Tobey",
comment =3D> "This host is very stable."
);

$cmd->ADD_HOST_COMMENT( $host, 1, "Al Tobey", "This host is very st=
able." );

# -- OR --

use lib =FF/opt/nagios/libexec=FF;
use Nagios::Cmd =FFnagios_cmd=FF;
my $time =3D CORE::time(); # use CORE:: if you have Time::HiRes ove=
rriding time()

# submit a custom command to the pipe
nagios_cmd( "[$time] DEL_ALL_HOST_COMMENTS;localhost" );

PUBLIC METHODS
new()
Initiate a Nagios::Cmd object. It takes ony one argument, the full path to
the nagios command file. If you want to test this module out, without subm=
it-
ting all kinds of noise to Nagios, set $Nagios::Cmd::debug =3D 1, which will
allow the command file to be a regular file instead of a pipe. You can al=
so
create a test command file with the mknod(1) command.

mknod -m 600 /var/tmp/nagios_cmd p

The cat(1) command works well as a reader on a fifo.

nagios_cmd()
By default, this subroutine is NOT exported. See the example above if you
don=FFt already know how to get it. Use this command if you need to use a =
com-
mand that is not defined in this module. Adding commands to this module is
pretty trivial, so you may want to look at the %commands hash at the top of
the Cmd.pm file.

nagios_cmd( "[".time()."] " . join(";", $COMMAND_NAME, @ARGS) );
nagios_cmd( "[1063919882] DISABLE_HOST_SVC_NOTIFICATIONS;localhost" );

LICENSE
GPL

AUTHOR
Albert P Tobey

perl v5.8.1 2003-09-22 Nagios::Cmd=
(3)


On Fri, 2003-09-19 at 17:18, Al Tobey wrote:
> For submission under the GPL, a quick module I threw together for
> submitting commands to the Nagios command pipe.





--=-97yPWPSqqpMNHA3aDe/M
Content-Disposition: attachment; filename=Cmd.pm
Content-Type: text/plain; name=Cmd.pm; charset=iso-8859-1
Content-Transfer-Encoding: 7bit

###########################################################################
# #
# Nagios::Cmd #
# Written by Albert Tobey #
# Copyright 2003, Albert P Tobey #
# #
# This program 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; either version 2, or (at your op

...[email truncated]...


This post was automatically imported from historical nagios-devel mailing list archives
Original poster: [email protected]
Locked