mirror of
https://github.com/munin-monitoring/contrib.git
synced 2018-11-08 00:59:34 +01:00
Initial version
This commit is contained in:
parent
a83ae019fa
commit
dc892da5e2
82
plugins/other/nginx_status
Executable file
82
plugins/other/nginx_status
Executable file
@ -0,0 +1,82 @@
|
||||
#!/usr/bin/perl -w
|
||||
#
|
||||
# Magic markers:
|
||||
#%# family=auto
|
||||
#%# capabilities=autoconf
|
||||
|
||||
my $ret = undef;
|
||||
|
||||
if (! eval "require LWP::UserAgent;"){
|
||||
$ret = "LWP::UserAgent not found";
|
||||
}
|
||||
|
||||
chomp(my $fqdn=`hostname -f`);
|
||||
|
||||
my $URL = exists $ENV{'url'} ? $ENV{'url'} : "http://$fqdn/nginx_status";
|
||||
|
||||
if ( exists $ARGV[0] and $ARGV[0] eq "autoconf" )
|
||||
{
|
||||
if ($ret){
|
||||
print "no ($ret)\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
my $ua = LWP::UserAgent->new(timeout => 30);
|
||||
my $response = $ua->request(HTTP::Request->new('GET',$URL));
|
||||
|
||||
unless ($response->is_success and $response->content =~ /server/im)
|
||||
{
|
||||
print "no (no nginx status on $URL)\n";
|
||||
exit 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
print "yes\n";
|
||||
exit 0;
|
||||
}
|
||||
}
|
||||
|
||||
if ( exists $ARGV[0] and $ARGV[0] eq "config" )
|
||||
{
|
||||
print "graph_title NGINX status\n";
|
||||
print "graph_args --base 1000\n";
|
||||
print "graph_category nginx\n";
|
||||
print "graph_vlabel Connections\n";
|
||||
|
||||
print "total.label Active connections\n";
|
||||
print "total.info Active connections\n";
|
||||
print "total.draw LINE2\n";
|
||||
|
||||
print "reading.label Reading\n";
|
||||
print "reading.info Reading\n";
|
||||
print "reading.draw LINE2\n";
|
||||
|
||||
print "writing.label Writing\n";
|
||||
print "writing.info Writing\n";
|
||||
print "writing.draw LINE2\n";
|
||||
|
||||
print "waiting.label Waiting\n";
|
||||
print "waiting.info Waiting\n";
|
||||
print "waiting.draw LINE2\n";
|
||||
|
||||
exit 0;
|
||||
}
|
||||
|
||||
my $ua = LWP::UserAgent->new(timeout => 30);
|
||||
|
||||
my $response = $ua->request(HTTP::Request->new('GET',$URL));
|
||||
|
||||
#Active connections: 1845
|
||||
#server accepts handled requests
|
||||
# 4566318 4566318 84218236
|
||||
# Reading: 2 Writing: 278 Waiting: 1565
|
||||
if ($response->content =~ /Active connections:\s+(\d+).*Reading:\s+(\d+).*Writing:\s+(\d+).*Waiting:\s+(\d+)/s) {
|
||||
print "total.value $1\n";
|
||||
print "reading.value $2\n";
|
||||
print "writing.value $3\n";
|
||||
print "waiting.value $4\n";
|
||||
} else {
|
||||
foreach (qw(total reading writing waiting)){
|
||||
print "$_.value U\n";
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user