10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
When i execute the below shell script with 2 different Input files, for one of the data files (datafile1) my email message body in the outlook messes up and every thing comes up in one line. May i please know what i am doing wrong here or how to fix this? The only difference in data files is one is... (1 Reply)
Discussion started by: Ariean
1 Replies
2. Shell Programming and Scripting
Hi Experts, need some help.
I`m trying to write a shell script to get free, used and total memory on our linux servers.
It's working great, but i need follow some standards to make it a real nagios plugin.
It's pretty simple, you just type two parameters to the script, check_ram -w 80 -c 90... (4 Replies)
Discussion started by: berveglieri
4 Replies
3. Shell Programming and Scripting
I'm having a problem scripting Expect to work as a Nagios check. The script runs fine from the cli, but not when run as a Nagios check. I turn on the debug output, and it looks like it's not seeing the whole buffer's worth of info, like it's paged interactively somehow. I'm new to Expect, but this... (1 Reply)
Discussion started by: dhargens
1 Replies
4. 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
5. Shell Programming and Scripting
hi all,i m using this script for disk space :
####################################
#!/bin/ksh
#
HOSTS='/usr/bin/cat /host_list'
DATE=$(date)
DISK=$(df -gt)
afile=/tmp/diskspace.log
>$afile
#
for i in $HOSTS
do
echo ip: $i passed
echo ip: $i passed >>$afile
... (1 Reply)
Discussion started by: viveksangwan
1 Replies
6. Infrastructure Monitoring
Hi,
I have installed Nagios on Redhat Linux,
I have installed Nagios+Plugins+NRPE on Server A (Host Server) and Nagios Plugins + nrpe on remote linux server (red hat linux)
run the command on remote linux host, it returns nrpe version
usr/local/nagios/libexec/check_nrpe -H localhost
... (1 Reply)
Discussion started by: manoj.solaris
1 Replies
7. Infrastructure Monitoring
Hi!
I have a perl script which returns data in the following format -
AppName : BillingApp
"status" = "OK";
AppName : PaymentApp
"status" = "WARN";
AppName : OrderApp
"status" = "ERROR";
AppName : OrderApp
"status" = "FATAL";
the output consists of... (4 Replies)
Discussion started by: jacki
4 Replies
8. Infrastructure Monitoring
I've got it installed but when I logging to the interface to http://localhost/nagios I get the following:
Forbidden
You don't have permission to access /nagios/ on this server.
Apache/2.0.63 (Unix) DAV/2 Server at localhost Port 80
im running Solaris Version: SunOS dotstoas442 5.10... (0 Replies)
Discussion started by: frenchykd
0 Replies
9. Solaris
Hi Gurus,
I had downloaded the below script from the net and used it to get the Link and duplex settings in my Sun servers.
In all except one(Sol-5.10 on X86) i am getting output format like below:
root: /var/ADMIN/bin/speed_duplex.sh
Interface Speed Duplex
--------- ... (2 Replies)
Discussion started by: Hari_Ganesh
2 Replies
10. UNIX for Dummies Questions & Answers
Hi,
I had installed Nagios on RHEL5.0 for Server Monitoring and configured the email alerts.
Presently i am able to get the alerts of the c drive space,ftp,http services,
But when the host goes down I dont get any alert saying that the Host is down or Host is Up.
Request you to please help me... (4 Replies)
Discussion started by: Arun.Kakarla
4 Replies
Nagios::StatusLog(3pm) User Contributed Perl Documentation Nagios::StatusLog(3pm)
NAME
Nagios::StatusLog, Nagios::(Service|Host|Program)::Status - Perl objects to represent the Nagios status file
DESCRIPTION
Reads the Nagios status log and returns ::Status objects that can be used to get status information about a host. For Nagios version 2.x
logs, pass in the Version => 2.0 parameter to new(). And similarly, pass in the Version => 3.0 parameter to new() for Nagios version 3.x
logs.
my $log = Nagios::StatusLog->new(
Filename => "/var/opt/nagios/status.log",
Version => 1.0
);
$localhost = $log->host( "localhost" );
print "status of localhost is now ",$localhost->status(),"
";
$log->update();
print "status of localhost is now ",$localhost->status(),"
";
# for Nagios v2.0
my $log = Nagios::StatusLog->new(
Filename => "/var/cache/nagios2/status.dat",
Version => 2.0
);
# for Nagios v3.0
my $log = Nagios::StatusLog->new(
Filename => "/var/cache/nagios3/status.dat",
Version => 3.0
);
METHODS
new()
Create a new Nagios::StatusLog instance. The object will be initialized for you (using $self->update()).
Nagios::StatusLog->new( "/var/opt/nagios/status.log" );
update()
Updates the internal data structures from the logfile.
$log->update();
service()
Returns a Nagios::Service::Status object. Input arguments can be a host_name and description list, or a Nagios::Service object.
my $svc_stat = $log->service( "localhost", "SSH" );
my $svc_stat = $log->service( $localhost_ssh_svc_object );
Nagios::Service::Status has the following accessor methods (For V1):
host_name
description
status
current_attempt
state_type
last_check next_check
check_type
checks_enabled
accept_passive_service_checks
event_handler_enabled
last_state_change
problem_has_been_acknowledged
last_hard_state
time_ok
current_notification_number
time_warning
time_critical
process_performance_data
notifications_enabled
latency
scheduled_downtime_depth
is_flapping
plugin_output
percent_state_change
execution_time
time_unknown
failure_prediction_enabled
last_notification
obsess_over_service
flap_detection_enabled
list_services()
Returns an array of all service descriptions in the status log. Services that may be listed on more than one host are only listed once
here.
my @all_services = $log->list_services;
list_services_on_host()
Returns an array of services descriptions for a given host.
my @host_services = $log->list_services_on_host($hostname);
my @host_services = $log->list_services_on_host($nagios_object);
host()
Returns a Nagios::Host::Status object. Input can be a simple host_name, a Nagios::Host object, or a Nagios::Service object.
my $hst_stat = $log->host( 'localhost' );
my $hst_stat = $log->host( $host_object );
my $hst_stat = $log->host( $svc_object );
Nagios::Host::Status has the following accessor methods (for V1):
host_name
status
last_check
last_state_change
problem_has_been_acknowledged
time_up
time_down
time_unreachable
last_notification
current_notification_number
notifications_enabled
event_handler_enabled
checks_enabled
flap_detection_enabled
is_flapping
percent_state_change
scheduled_downtime_depth
failure_prediction_enabled
process_performance_data
plugin_output
list_hosts()
Returns a simple array of host names (no objects).
my @hosts = $log->list_hosts;
info() [Nagios v2 & v3 logs only]
Returns a Nagios::Info::Status object. It only has two methods, created() and version().
my $i = $log->info;
printf "Logfile created at %s unix epoch time for Nagios verion %s
",
$i->created,
$i->version;
contact() [Nagios v3 logs only]
Returns a Nagios::Contact::Status object. Input can be a simple contact_name, or a Nagios::Contact object.
my $c = $log->contact( 'john' );
my $c = $log->contact( $contact_object );
Nagios::Contact::Status has the following accessor methods (for v3):
contact_name
modified_attributes
modified_host_attributes
modified_service_attributes
host_notification_period
service_notification_period
last_host_notification
last_service_notification
host_notifications_enabled
service_notifications_enabled
hostcomment() [Nagios v3 logs only]
Returns a Nagios::Hostcomment::Status object. Input can be a simple host_name, or a Nagios::Host or Nagios::Service object.
my $c = $log->hostcomment( 'localhost' );
my $c = $log->hostcomment( $localhost_object );
my $c = $log->hostcomment( $localhost_service_object );
foreach my $id (sort keys %$c) {
printf "Host %s has a comment[$id] made by %s on %s: %s",
$c->{$id}->host_name, $c->{$id}->author, scalar localtime $c->{$id}->entry_time, $c->{$id}->comment_data;
}
Nagios::Hostcomment::Status is a perl HASH, keyed with the Nagios comment IDs, where each ID has the following accessor methods (for
v3):
host_name
entry_type
comment_id
source
persistent
entry_time
expires
expire_time
author
comment_data
servicecomment() [Nagios v3 logs only]
Returns a Nagios::Servicecomment::Status object. Input can be a simple host_name or Nagios::Host object with a service description or
Nagios::Service object, or just a Nagios::Service object by itself.
my $c = $log->servicecomment( 'localhost', 'SSH' );
my $c = $log->servicecomment( $localhost_object, $localhost_ssh_svc_object );
my $c = $log->servicecomment( $localhost_ssh_svc_object );
foreach my $id (sort keys %$c) {
printf "Service %s on %s has a comment[$id] made by %s on %s: %s",
$c->{$id}->service_description, $c->{$id}->host_name, $c->{$id}->author, scalar localtime $c->{$id}->entry_time, $c->{$id}->comment_data;
}
Nagios::Servicecomment::Status is a perl HASH, keyed with the Nagios comment IDs, where each ID has the following accessor methods (for
v3):
host_name
service_description
entry_type
comment_id
source
persistent
entry_time
expires
expire_time
author
comment_data
hostdowntime() [Nagios v3 logs only]
Returns a Nagios::Hostdowntime::Status object. Input can be a simple host_name, or a Nagios::Host or Nagios::Service object.
my $d = $log->hostdowntime( 'localhost' );
my $d = $log->hostdowntime( $localhost_object );
my $d = $log->hostdowntime( $localhost_service_object );
foreach my $id (sort keys %$d) {
printf "Host %s has scheduled downtime[$id] made by %s on %s for %.1f hours [%s - %s]: %s",
$d->{$id}->host_name, $d->{$id}->author, scalar localtime $d->{$id}->entry_time, ($d->{$id}->duration)/3600.0,
scalar localtime $d->{$id}->start_time, scalar localtime $d->{$id}->end_time, $d->{$id}->comment;
}
Nagios::Hostdowntime::Status is a perl HASH, keyed with the Nagios downtime IDs, where each ID has the following accessor methods (for
v3):
host_name
downtime_id
entry_time
start_time
end_time
triggered_by
fixed
duration
author
comment
servicedowntime() [Nagios v3 logs only]
Returns a Nagios::Servicedowntime::Status object. Input can be a simple host_name or Nagios::Host object with a service description or
Nagios::Service object, or just a Nagios::Service object by itself.
my $c = $log->servicedowntime( 'localhost', 'SSH' );
my $c = $log->servicedowntime( $localhost_object, $localhost_ssh_svc_object );
my $c = $log->servicedowntime( $localhost_ssh_svc_object );
foreach my $id (sort keys %$d) {
printf "Service %s on %s has scheduled downtime[$id] made by %s on %s for %.1f hours [%s - %s]: %s",
$d->{$id}->service_description, $d->{$id}->host_name, $d->{$id}->author, scalar localtime $d->{$id}->entry_time, ($d->{$id}->duration)/3600.0,
scalar localtime $d->{$id}->start_time, scalar localtime $d->{$id}->end_time, $d->{$id}->comment;
}
Nagios::Servicedowntime::Status is a perl HASH, keyed with the Nagios downtime IDs, where each ID has the following accessor methods
(for v3):
host_name
service_description
downtime_id
entry_time
start_time
end_time
triggered_by
fixed
duration
author
comment
program()
Returns a Nagios::Program::Status object. No arguments.
my $prog_st = $log->program;
Nagios::Program::Status has the following accessor methods (For V1):
program_start
nagios_pid
daemon_mode
last_command_check
last_log_rotation
enable_notifications
execute_service_checks
accept_passive_service_checks
enable_event_handlers
obsess_over_services
enable_flap_detection
enable_failure_prediction
process_performance_data
STRUCTURE
This module contains 4 packages: Nagios::StatusLog, Nagios::Host::Status, Nagios::Service::Status, and Nagios::Program::Status. The latter
3 of them are mostly generated at compile-time in the BEGIN block. The accessor methods are real subroutines, not AUTOLOAD, so making a
ton of calls to this module should be fairly quick. Also, update() is set up to only do what it says - updating from a fresh logfile
should not invalidate your existing ::Status objects.
AUTHOR
Al Tobey <tobeya@tobert.org>
SEE ALSO
Nagios::Host Nagios::Service
perl v5.12.4 2011-10-22 Nagios::StatusLog(3pm)