9 More Discussions You Might Find Interesting
1. Infrastructure Monitoring
We have a dual Nagios server setup. One is setup for internal server monitoring on our LAN, while the second Nagios server is hosted externally and is used for external checks only such as URL and ping checks form the WAN side.
I was wondering if there is any way to setup cross dependencies... (1 Reply)
Discussion started by: eugenes18t
1 Replies
2. Infrastructure Monitoring
Hi Folks,
I have Nagios 3.0.6 which is monitoring 400+ servers in my environment and is administered by multiple administrators. I want to get notified if somebody enable or disable any notification of any of the hosts/services from GUI. Is it possible to configure?
If so, how? (0 Replies)
Discussion started by: SiddhV
0 Replies
3. Shell Programming and Scripting
I have an Ubuntu machine that I'd like to update automatically. I've written an expect script to run the aptitude package manager and update my packages. Essentially it does:
aptitude update && aptitude upgrade while answering "yes" at the appropriate time.
It works quite nicely when run... (4 Replies)
Discussion started by: CluelessPerson
4 Replies
4. Infrastructure Monitoring
What are the chances of getting a Nagios forum? The community is really lacking for a good place to work issues in Nagios. There just aren't any good places to go that I've found.
Thanks,
Docster (27 Replies)
Discussion started by: Docster
27 Replies
5. Infrastructure Monitoring
Hi,
Installed it and all seems okay except when I try to actually use it. :-(
Visiting my nagios url, it says
Logs and conf's follow:
nagios.log is:
# cat /usr/local/nagios/var/nagios.log | tail -5
Successfully shutdown... (PID=3613)
Nagios 3.2.2 starting... (PID=4645)... (7 Replies)
Discussion started by: smcracraft
7 Replies
6. Shell Programming and Scripting
Hello! I am currently attempting to build a very, very, basic program that attempts to act like a calendar for a "server." Using this program I need to have the client program connect to the server program, have the client wait for the server to respond through a socket, then exit and the server... (2 Replies)
Discussion started by: Entelexia
2 Replies
7. UNIX for Advanced & Expert Users
Hi,
I have over 5 gb of data in a files structure in which month folders are in year folders, day folders are in month folders, and individual climate stations are in each day. I am trying to extract precipitation measured at 5 minute intervals for a duration of 15 years, but the script never... (2 Replies)
Discussion started by: mlw63@me.com
2 Replies
8. Programming
Hi,
I have encountered the following problem on Solaris 10:
I have a thread that is asleep on nanosleep (set to 24 hours).
Something that happens on another thread, causes the nanosleep to exit, even though the time has not elapsed.
The returned value is 0 (so it doesn't look like it... (1 Reply)
Discussion started by: MeMyself
1 Replies
9. Shell Programming and Scripting
I have the following korn shell script which reads the contents of an ascii file and performs an rexec command based on the line that was just read from the ascii file. The ascii file contains 6 lines, thus, the while loop should execute 6 times. The problem is that the rexec command within the... (2 Replies)
Discussion started by: sadove
2 Replies
Nagios::Object(3pm) User Contributed Perl Documentation Nagios::Object(3pm)
NAME
Nagios::Object - Creates perl objects to represent Nagios objects
DESCRIPTION
This module contains the code for creating perl objects to represent any of the Nagios objects. All of the perl classes are auto-generated
at compile-time, so it's pretty trivial to add new attributes or even entire objects. The following is a list of currently supported
classes:
Nagios::TimePeriod
Nagios::Command
Nagios::Contact
Nagios::ContactGroup
Nagios::Host
Nagios::Service
Nagios::HostGroup
Nagios::ServiceEscalation
Nagios::HostDependency
Nagios::HostEscalation
Nagios::HostGroupEscalation
Nagios::ServiceDependency
-- next two are for status.dat in Nagios 2.x
Nagios::Info
Nagios::Program
EXAMPLE
use Nagios::Object;
my $generic_host = Nagios::Host->new(
register => 0,
parents => undef,
check_command => $some_command,
max_check_attempts => 3,
checks_enabled => 1,
event_handler => $some_command,
event_handler_enabled => 0,
low_flap_threshold => 0,
high_flap_threshold => 0,
flap_detection_enabled => 0,
process_perf_data => 1,
retain_status_information => 1,
retain_nonstatus_information => 1,
notification_interval => $timeperiod,
notification_options => [qw(d u r)],
notifications_enabled => 1,
stalking_options => [qw(o d u)]
);
# this will automatically 'use' $generic_host
my $localhost = $generic_host->new(
host_name => "localhost",
alias => "Loopback",
address => "127.0.0.1"
);
my $hostname = $localhost->host_name();
printf "max check attempts for $hostname is %s.
",
$localhost->max_check_attempts;
$localhost->set_event_handler(
Nagios::Command->new(
command_name => "new_event_handler",
command_line => "/bin/true"
)
);
METHODS
new()
Create a new object of one of the types listed above.
Calling new() on an existing object will use the LHS object as the template for the object being created. This is mainly useful for
creating objects without involving Nagios::Object::Config (like in the test suite).
Nagios::Host->new( ... );
dump()
Output a Nagios define { } block from an object. This is still EXPERIMENTAL, but may eventually be robust enough to use for a
configuration GUI. Passing in a single true argument will tell it to flatten the object inheritance on dump.
print $object->dump();
print $object->dump(1); # flatten
name()
This method is common to all classes created by this module. It should always return the textual name for an object. It is used
internally by the Nagios::Object modules to allow polymorphism (which is what makes this module so compact). This is the only way to
retrieve the name of a template, since they are identified by their "name" field.
my $svc_desc = $service->name;
my $hostname = $host->name;
Which is just short for:
my $svc_desc = $service->service_description;
my $hostname = $service->host_name;
register()
Returns true/undef to indicate whether the calling object is registerable or not.
if ( $object->register ) { print $object->name, " is registerable." }
has_attribute()
Returns true/undef to indicate whether the calling object has the attribute specified as the only argument.
# check to see if $object has attribute "command_line"
die if ( !$object->has_attribute("command_line") );
list_attributes()
Returns a list of valid attributes for the calling object.
my @host_attributes = $host->list_attributes();
attribute_type()
Returns the type of data expected by the object's set_ method for the given attribute. For some fields like notification_options, it
may return "char_flag."
For "name" attributes, it will simply return whatever %setup_data contains.
This method needs some TLC ...
my $type = $host->attribute_type("notification_period");
attribute_is_list()
Returns true if the attribute is supposed to be a list (ARRAYREF).
if ( $object->attribute_is_list("members") ) {
$object->set_members( [$member] );
} else {
$object->set_members( $member );
}
AUTHOR
Al Tobey <tobeya@cpan.org>
Thank you to the fine people of #perl on freenode.net for helping me with some hairy code and silly optimizations.
WARNINGS
See AUTHOR.
perl v5.12.4 2011-10-22 Nagios::Object(3pm)