10 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. Shell Programming and Scripting
Hi Team,
I am trying to connect to database(succeeded ) and print the records on the browser using while loop. But the elements of array are not displayed instead while loop is displayed directly. Instead of the below I can embed html statements in print but I am looking for the below style as I... (1 Reply)
Discussion started by: scriptscript
1 Replies
3. Shell Programming and Scripting
Hi All,
I have written an cgi perl script that displays an image(Excel image) and when clicked on that Image I need to download a excel sheet.
I made sure that excel sheet exists in the folder with the given name but still I am not able to download the sheet.
print "<center><table... (2 Replies)
Discussion started by: scriptscript
2 Replies
4. Shell Programming and Scripting
Hi team,
I have a typical problem with cgi pages in apache webserver in WINDOWS
I am able to execute(display) the pages that are saved in cgi-bin folder.
But I am not able to execute the pages stored in htdocs or other folder other than cgi-bin folder.
Could anyone please let me know how... (1 Reply)
Discussion started by: scriptscript
1 Replies
5. Web Development
Can anyone tell me how to export a variable from one perl CGI script to another perl cgi script when using a redirect.
Upon running the login.pl the user is prompted to enter user name and password. Upon entering the correct credentials (admin/admin) the user is
redirected to welcome page.
My... (3 Replies)
Discussion started by: Arun_Linux
3 Replies
6. Web Development
Hello all, i`m new here and new in programming with cgi. But i need it for my running project. I`ve googled half a week with no success.
All i need is to run an .sh-file via cgi.
My file is stored in /home/bots/
but if i try
#!/bin/sh
echo 'Content-type: text/html'
echo
echo... (5 Replies)
Discussion started by: cryp0r
5 Replies
7. Solaris
Hi All,
Sorry if the question is trivial for you but, I am new to Apache (2.0.63) and am trying to figure out how to display my 400.cgi. Here is what I have in httpd.conf
servername testing
DocumentRoot "/usr/local/apache2/htdocs"
ErrorDocument 400 /cgi-bin/badrequest-400.cgi
Here is... (0 Replies)
Discussion started by: afadaghi
0 Replies
8. Linux
I'm trying to set up a nagios server.
I have no problem accessing the home page of my nagios server, but can not get into any cgi page.
I've checked the rights, and checked the .htacces file in the /usr/lib/nagios/cgi directory
I've checked all conf files for apache, but i unvariably get:... (2 Replies)
Discussion started by: penguin-friend
2 Replies
9. Shell Programming and Scripting
If I have a Perl CGI script (script01), which fills an array(s) with information and outputs a HTML page with a link to another CGI page (script02); is there anyway to pass the array(s) from "script01" to "script02" when the page visitor clicks the link?
Hope that makes sense!
:) (2 Replies)
Discussion started by: WIntellect
2 Replies
10. Shell Programming and Scripting
I am having trouble running my perl cgi on the Internet.
After i put the cgi file into the public_html directory and try to browse it on the internet, it returns me the exact content of the cgi file.
Is the file permission 755 for the cgi file correct?
My path to perl is something like ... (2 Replies)
Discussion started by: vince
2 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)