Nagios Exchange Nagios Exchange
  • Home
  • Directory
  • Library
  • Support
  • About

Advanced Search

Build precise queries to find exactly what you need

Search Logic

Select compatible versions

Press ESC to close

Sign In Sign Up

Nagios World Conference 2026: Sept. 14-17 in St. Paul, MN | Learn More

  • Home
  • Directory
  • Library
  • Support
  • About
Plugins4401Themes and Skins13Add-ons756Graphics and Logos36View All Categories
LinuxSecuritySNMPFile SystemCloud
New Listings Recently Updated Listings Most Favored Listings Most Popular Listings Most Rated Listings Most Reviewed Listings
Random Project
Other Tutorials And HOWTOs Monitor HP Proliant DL360 On Nagios And SNMP v3
0.0 (0)
70.1K
RSS Feed
Newest Listings Updated Listings
Top Contributors
Yoann LAMY (7)Julien DESMAREST (6)Davide Lemma (4)deskwork_itunes142 (4)Sam N (3)
See More
Newest Contributors
signalgrid (1)Sanna Glue (2)fisherrs (1)smolinux (1)juanfertor (1)
See More

Copyright © 2009-2026 Nagios Enterprises, LLC. All rights reserved.

Privacy PolicyTerms of UseTrademarks
Home > Julian Perdomo
JP

Julian Perdomo

@julyusito

User Stats

Member Since: November 4, 2011

Favorites0

Views

Projects0

No Projects Found
check_apache_status

fix KB MB GB in traffic

Hi, I fix the problem with measure in KB, MB and GB from traffic. Thank's for the script These is the new script: #!/usr/bin/perl use Getopt::Std; my %options=(); getopts("H:v:w:c:",%options); ### CONFIGURATION %monitor_type = ( 'traffic' => 'LiB', 'requests_per_second' => 'LiB', 'bytes_per_request' => 'LiB', 'accesses' => 'LiB', 'bytes_per_second' => 'LiB', 'idle_worker' => 'HiB', 'uptime' => 'LiB', 'current_requests' => 'LiB' ); %critical = ( 'traffic' => '60', #MB 'requests_per_second' => '6', 'bytes_per_request' => '1024', 'accesses' => '100000', 'bytes_per_second' => '1000', 'idle_worker' => '50', 'current_requests' => '150' ); %warning = ( 'traffic' => '50', #MB 'requests_per_second' => '4', 'bytes_per_request' => '768', 'accesses' => '50000', 'bytes_per_second' => '800', 'idle_worker' => '150', 'current_requests' => '70' ); my @pretext = ('APACHE OK','APACHE WARNING','APACHE CRITICAL','APACHE UNKNOWN'); my $server = $options{'H'}; my $mon = $options{'v'}; $warning{$mon} = $options{'w'} if ($options{'w'}); $critical{$mon} = $options{'c'} if ($options{'c'}); help() if (! $options{'H'}); my %data = get_apache_status($server); if (! keys(%data)) { print $pretext[3].": $server did not deliver information.n"; exit(3); } if ($mon) { ($status,$text) = CheckValue($mon,%data); } else { ($status,$text) = CheckAll(%data); } print $pretext[$status].":".$text."n"; exit($status); sub CheckAll(%) { my $data = shift(); my %stati = (); my $fin_status = 0; foreach my $mon (keys(%monitor_type)) { my ($status,$txt) = CheckValue($mon,$data); $stati{$status}{$mon} = $txt; $fin_status = $status if ($status > $fin_status); } if ($fin_status == 2) { map{ $text .= " $_"; }keys(%{$stati{2}}); } elsif ($fin_status == 1) { map{ $text .= " $_"; }keys(%{$stati{1}}); } $text .= ' ('.scalar(keys(%{$stati{2}})).'c/'.scalar(keys(%{$stati{1}})).'w/'.scalar(keys(%{$stati{0}})).'o)'; return($fin_status,$text); } sub help() { print = $warning{$mon}) { # status WARNING for "lower = better" $ret = 1; } else { # status OK for "lower = better" $ret = 0; } } elsif ($monitor_type{$mon} eq 'HiB') { # Higher is better if ($$data{$mon} 'STAMPBrowser/1.0'); my $ua = new LWP::UserAgent; my $url = new URI::URL($uri); my $req = new HTTP::Request(GET, $url, $hdrs); my $resp = $ua->request($req); my $code = $resp->content; # Server Version: Apache/2.0.59 (Win32) PHP/5.1.6 # Server Built: Jul 27 2006 15:55:03 # # Current Time: Friday, 11-Apr-2008 09:16:25 W. Europe Daylight Time # Restart Time: Friday, 11-Apr-2008 06:01:18 W. Europe Daylight Time # Parent Server Generation: 38 # Server uptime: 3 hours 15 minutes 7 seconds # Total accesses: 30554 - Total Traffic: 4.9 MB # 2.61 requests/sec - 439 B/second - 168 B/request # 3 requests currently being processed, 597 idle workers my %results = (); while ($code =~ /([^bytes } elsif ( $line =~ m/.*MB/) { $results{'traffic'} = $trafc; # MB->bytes } elsif ( $line =~ m/.[kK]B/) { $results{'traffic'} = eval( $2 / 1024 ); # MB->bytes } } elsif ( $line =~ /([d.]+) requests/sec - ([d.]+) [k]?B/second - ([d.]+) [k]?B/request/) { $results{'requests_per_second'} = $1; $results{'bytes_per_second'} = $2; $results{'bytes_per_request'} = $3; } elsif ( $line =~ /(d+) requests currently being processed, (d+) idle workers/) { $results{'current_requests'} = $1; $results{'idle_worker'} = $2; } } return(%results); }

Reviewed 14 years ago

No Favorites Found

Copyright © 2009-2026 Nagios Enterprises, LLC. All rights reserved.

Privacy PolicyTerms of UseTrademarks
Home Browse Submit Profile