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
Plugins4387Themes and Skins11Add-ons734Documentation283Graphics 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
CPU Usage and Load CPU Stats/Memory Used Plugin – Top 5 CPU/Memory Consuming Processes for Unix Servers
4.5 (6)
83.8K
RSS Feed
Newest Listings Updated Listings
Top Contributors
Julien DESMAREST (6)LAMY (6)Davide Lemma (4)deskwork_itunes142 (4)Joerg Hoerter (3)
See More
Newest Contributors
Guillaume8723 (1)Salvo (1)SOHA-IT (1)Tsvetomir Tsvetanov (1)Igor Ru (1)
See More
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-2025 Nagios Enterprises, LLC. All rights reserved.

Privacy PolicyTerms of UseTrademarks