salted-rails 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +48 -0
- data/Gemfile +4 -0
- data/LICENSE +20 -0
- data/README.md +79 -0
- data/Rakefile +1 -0
- data/lib/salted_rails.rb +5 -0
- data/lib/salted_rails/base.rb +5 -0
- data/lib/salted_rails/capistrano.rb +6 -0
- data/lib/salted_rails/vagrant_helper.rb +155 -0
- data/lib/salted_rails/version.rb +3 -0
- data/pillar/capistrano.sls +3 -0
- data/pillar/capistrano/top.sls +5 -0
- data/pillar/common.sls +15 -0
- data/pillar/vagrant.sls +3 -0
- data/pillar/vagrant/top.sls +5 -0
- data/salt/apt/partner-sources.sls +13 -0
- data/salt/apt/unwanted.sls +5 -0
- data/salt/capistrano.sls +0 -0
- data/salt/capistrano/minion +14 -0
- data/salt/capistrano/minion.sls +6 -0
- data/salt/capistrano/top.sls +8 -0
- data/salt/common.sls +19 -0
- data/salt/crons/init.sls +23 -0
- data/salt/databases/mysql/client-encoding-and-collation.cnf +2 -0
- data/salt/databases/mysql/client.sls +17 -0
- data/salt/databases/mysql/common.sls +22 -0
- data/salt/databases/mysql/config.sls +6 -0
- data/salt/databases/mysql/custom_config.sls +14 -0
- data/salt/databases/mysql/default-table-engine.cnf +2 -0
- data/salt/databases/mysql/group.sls +4 -0
- data/salt/databases/mysql/init.sls +8 -0
- data/salt/databases/mysql/server-encoding-and-collation.cnf +4 -0
- data/salt/databases/mysql/server.sls +59 -0
- data/salt/databases/phpmyadmin/etc/nginx/sites-available/.gitignore +3 -0
- data/salt/databases/phpmyadmin/etc/nginx/sites-available/phpmyadmin.conf +24 -0
- data/salt/databases/phpmyadmin/init.sls +27 -0
- data/salt/develop/init.sls +3 -0
- data/salt/echo_pillar.sls +9 -0
- data/salt/editors/vim/init.sls +12 -0
- data/salt/editors/vim/vimrc +23 -0
- data/salt/lang/php/composer.sls +9 -0
- data/salt/lang/php/etc/php5/fpm/php.fpm.ini +1818 -0
- data/salt/lang/php/etc/php5/fpm/pool.d/www.conf +393 -0
- data/salt/lang/php/init.sls +38 -0
- data/salt/lang/php/nginx.sls +9 -0
- data/salt/lang/python/python-libs.sls +28 -0
- data/salt/lang/ruby.sls +60 -0
- data/salt/lang/ruby.sls.bak +106 -0
- data/salt/lang/system_ruby.sls +43 -0
- data/salt/munin/files/nginx/plugin-conf.d/nginx +2 -0
- data/salt/munin/files/nginx/plugins/nginx_combined_localhost +160 -0
- data/salt/munin/files/nginx/plugins/nginx_request +114 -0
- data/salt/munin/files/nginx/plugins/nginx_status +126 -0
- data/salt/munin/files/node/checkPermissions.sh +10 -0
- data/salt/munin/files/node/munin-node.conf +54 -0
- data/salt/munin/files/php5-fpm/plugins/phpfpm_average +39 -0
- data/salt/munin/files/php5-fpm/plugins/phpfpm_connections +71 -0
- data/salt/munin/files/php5-fpm/plugins/phpfpm_memory +24 -0
- data/salt/munin/files/php5-fpm/plugins/phpfpm_processes +38 -0
- data/salt/munin/files/php5-fpm/plugins/phpfpm_status +83 -0
- data/salt/munin/files/server/munin.conf +107 -0
- data/salt/munin/nginx.sls +13 -0
- data/salt/munin/node.sls +34 -0
- data/salt/munin/php5-fpm.sls +13 -0
- data/salt/munin/server.sls +7 -0
- data/salt/railsapp/database.sls +25 -0
- data/salt/railsapp/files/Gemfile +57 -0
- data/salt/railsapp/files/Gemfile.lock +133 -0
- data/salt/railsapp/gems.sls +18 -0
- data/salt/railsapp/init.sls +3 -0
- data/salt/run-standalone +3 -0
- data/salt/salt/minion/config.template +259 -0
- data/salt/salt/minion/debconf.sls +3 -0
- data/salt/salt/minion/init.sls +49 -0
- data/salt/salt/minion/lsb.sls +8 -0
- data/salt/salt/minion/mysql.conf +1 -0
- data/salt/salt/minion/mysql.sls +20 -0
- data/salt/server/monit.sls +31 -0
- data/salt/server/sudo/init.sls +16 -0
- data/salt/server/sudo/sudoers +90 -0
- data/salt/sysutils/file.sls +8 -0
- data/salt/sysutils/init.sls +5 -0
- data/salt/sysutils/net.sls +9 -0
- data/salt/sysutils/status.sls +11 -0
- data/salt/sysutils/tmux.sls +3 -0
- data/salt/vagrant.sls +0 -0
- data/salt/vagrant/minion +14 -0
- data/salt/vagrant/minion.sls +6 -0
- data/salt/vagrant/top.sls +8 -0
- data/salt/www/chromium.sls +6 -0
- data/salt/www/nginx/etc/nginx/nginx.conf +53 -0
- data/salt/www/nginx/init.sls +20 -0
- data/salt/www/users.sls +12 -0
- data/salted-rails.gemspec +23 -0
- metadata +163 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
#!/usr/bin/perl -w
|
|
2
|
+
# -*- cperl -*-
|
|
3
|
+
|
|
4
|
+
=head1 NAME
|
|
5
|
+
|
|
6
|
+
nginx_status - Munin plugin to show connection status for nginx
|
|
7
|
+
|
|
8
|
+
=head1 APPLICABLE SYSTEMS
|
|
9
|
+
|
|
10
|
+
Any nginx host
|
|
11
|
+
|
|
12
|
+
=head1 CONFIGURATION
|
|
13
|
+
|
|
14
|
+
This shows the default configuration of this plugin. You can override
|
|
15
|
+
the status URL.
|
|
16
|
+
|
|
17
|
+
[nginx*]
|
|
18
|
+
env.url http://localhost/nginx_status
|
|
19
|
+
|
|
20
|
+
Nginx must also be configured. Firstly the stub-status module must be
|
|
21
|
+
compiled, and secondly it must be configured like this:
|
|
22
|
+
|
|
23
|
+
server {
|
|
24
|
+
listen 127.0.0.1;
|
|
25
|
+
server_name localhost;
|
|
26
|
+
location /nginx_status {
|
|
27
|
+
stub_status on;
|
|
28
|
+
access_log off;
|
|
29
|
+
allow 127.0.0.1;
|
|
30
|
+
deny all;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
=head1 MAGIC MARKERS
|
|
35
|
+
|
|
36
|
+
#%# family=auto
|
|
37
|
+
#%# capabilities=autoconf
|
|
38
|
+
|
|
39
|
+
=head1 VERSION
|
|
40
|
+
|
|
41
|
+
$Id: nginx_status.in 2431 2009-09-16 10:04:17Z janl $
|
|
42
|
+
|
|
43
|
+
=head1 BUGS
|
|
44
|
+
|
|
45
|
+
None known
|
|
46
|
+
|
|
47
|
+
=head1 AUTHOR
|
|
48
|
+
|
|
49
|
+
Unknown
|
|
50
|
+
|
|
51
|
+
=head1 LICENSE
|
|
52
|
+
|
|
53
|
+
Unknown. Not specified by the unknown author. Nginx has a BSD
|
|
54
|
+
license. Munin is GPLv2 licensed.
|
|
55
|
+
|
|
56
|
+
=cut
|
|
57
|
+
|
|
58
|
+
my $ret = undef;
|
|
59
|
+
|
|
60
|
+
if (! eval "require LWP::UserAgent;"){
|
|
61
|
+
$ret = "LWP::UserAgent not found";
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
my $URL = exists $ENV{'url'} ? $ENV{'url'} : "http://localhost/nginx_status";
|
|
65
|
+
|
|
66
|
+
if ( exists $ARGV[0] and $ARGV[0] eq "autoconf" ) {
|
|
67
|
+
if ($ret){
|
|
68
|
+
print "no ($ret)\n";
|
|
69
|
+
exit 0;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
my $ua = LWP::UserAgent->new(timeout => 30);
|
|
73
|
+
my $response = $ua->request(HTTP::Request->new('GET',$URL));
|
|
74
|
+
|
|
75
|
+
unless ($response->is_success and $response->content =~ /server/im) {
|
|
76
|
+
print "no (no nginx status on $URL)\n";
|
|
77
|
+
exit 0;
|
|
78
|
+
} else {
|
|
79
|
+
print "yes\n";
|
|
80
|
+
exit 0;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if ( exists $ARGV[0] and $ARGV[0] eq "config" ) {
|
|
85
|
+
print "graph_title NGINX status\n";
|
|
86
|
+
print "graph_args --base 1000\n";
|
|
87
|
+
print "graph_category nginx\n";
|
|
88
|
+
print "graph_vlabel Connections\n";
|
|
89
|
+
|
|
90
|
+
print "total.label Active connections\n";
|
|
91
|
+
print "total.info Active connections\n";
|
|
92
|
+
print "total.draw LINE2\n";
|
|
93
|
+
|
|
94
|
+
print "reading.label Reading\n";
|
|
95
|
+
print "reading.info Reading\n";
|
|
96
|
+
print "reading.draw LINE2\n";
|
|
97
|
+
|
|
98
|
+
print "writing.label Writing\n";
|
|
99
|
+
print "writing.info Writing\n";
|
|
100
|
+
print "writing.draw LINE2\n";
|
|
101
|
+
|
|
102
|
+
print "waiting.label Waiting\n";
|
|
103
|
+
print "waiting.info Waiting\n";
|
|
104
|
+
print "waiting.draw LINE2\n";
|
|
105
|
+
|
|
106
|
+
exit 0;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
my $ua = LWP::UserAgent->new(timeout => 30);
|
|
110
|
+
|
|
111
|
+
my $response = $ua->request(HTTP::Request->new('GET',$URL));
|
|
112
|
+
|
|
113
|
+
#Active connections: 1845
|
|
114
|
+
#server accepts handled requests
|
|
115
|
+
# 4566318 4566318 84218236
|
|
116
|
+
# Reading: 2 Writing: 278 Waiting: 1565
|
|
117
|
+
if ($response->content =~ /Active connections:\s+(\d+).*Reading:\s+(\d+).*Writing:\s+(\d+).*Waiting:\s+(\d+)/s) {
|
|
118
|
+
print "total.value $1\n";
|
|
119
|
+
print "reading.value $2\n";
|
|
120
|
+
print "writing.value $3\n";
|
|
121
|
+
print "waiting.value $4\n";
|
|
122
|
+
} else {
|
|
123
|
+
foreach (qw(total reading writing waiting)){
|
|
124
|
+
print "$_.value U\n";
|
|
125
|
+
}
|
|
126
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Example config-file for munin-node
|
|
3
|
+
#
|
|
4
|
+
|
|
5
|
+
log_level 4
|
|
6
|
+
log_file /var/log/munin/munin-node.log
|
|
7
|
+
pid_file /var/run/munin/munin-node.pid
|
|
8
|
+
|
|
9
|
+
background 1
|
|
10
|
+
setsid 1
|
|
11
|
+
|
|
12
|
+
user root
|
|
13
|
+
group root
|
|
14
|
+
|
|
15
|
+
# Regexps for files to ignore
|
|
16
|
+
|
|
17
|
+
ignore_file ~$
|
|
18
|
+
#ignore_file [#~]$ # FIX doesn't work. '#' starts a comment
|
|
19
|
+
ignore_file DEADJOE$
|
|
20
|
+
ignore_file \.bak$
|
|
21
|
+
ignore_file %$
|
|
22
|
+
ignore_file \.dpkg-(tmp|new|old|dist)$
|
|
23
|
+
ignore_file \.rpm(save|new)$
|
|
24
|
+
ignore_file \.pod$
|
|
25
|
+
|
|
26
|
+
# Set this if the client doesn't report the correct hostname when
|
|
27
|
+
# telnetting to localhost, port 4949
|
|
28
|
+
#
|
|
29
|
+
#host_name localhost.localdomain
|
|
30
|
+
|
|
31
|
+
# A list of addresses that are allowed to connect. This must be a
|
|
32
|
+
# regular expression, since Net::Server does not understand CIDR-style
|
|
33
|
+
# network notation unless the perl module Net::CIDR is installed. You
|
|
34
|
+
# may repeat the allow line as many times as you'd like
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
# Add Allowed IPs Here
|
|
38
|
+
allow ^127\.0\.0\.1$
|
|
39
|
+
allow ^10\..$
|
|
40
|
+
|
|
41
|
+
# If you have installed the Net::CIDR perl module, you can use
|
|
42
|
+
# multiple cidr_allow and cidr_deny address/mask patterns. A
|
|
43
|
+
# connecting client must match any cidr_allow, and not match any
|
|
44
|
+
# cidr_deny. Example:
|
|
45
|
+
|
|
46
|
+
# cidr_allow 127.0.0.1/32
|
|
47
|
+
# cidr_allow 192.0.2.0/24
|
|
48
|
+
# cidr_deny 192.0.2.42/32
|
|
49
|
+
|
|
50
|
+
# Which address to bind to;
|
|
51
|
+
host *
|
|
52
|
+
# host 127.0.0.1
|
|
53
|
+
|
|
54
|
+
# And which port
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# -*- sh -*-
|
|
3
|
+
#
|
|
4
|
+
# Plugin to monitor the average process size of PHP5-FPM on the machine.
|
|
5
|
+
#
|
|
6
|
+
# Copyright TJ Stein 2010 http://constantshift.com
|
|
7
|
+
#
|
|
8
|
+
# Parameters:
|
|
9
|
+
#
|
|
10
|
+
# config (required)
|
|
11
|
+
# autoconf (optional - used by munin-config)
|
|
12
|
+
#
|
|
13
|
+
# Magick markers (optional - used by munin-config and som installation
|
|
14
|
+
# scripts):
|
|
15
|
+
#%# family=manual
|
|
16
|
+
#%# capabilities=autoconf
|
|
17
|
+
|
|
18
|
+
PHP_BIN=${phpbin-"php5-fpm"}
|
|
19
|
+
|
|
20
|
+
if [ "$1" = "autoconf" ]; then
|
|
21
|
+
echo yes
|
|
22
|
+
exit 0
|
|
23
|
+
fi
|
|
24
|
+
|
|
25
|
+
if [ "$1" = "config" ]; then
|
|
26
|
+
echo 'graph_title PHP5-FPM Average Process Size'
|
|
27
|
+
echo 'graph_args --base 1024 -l 0 '
|
|
28
|
+
echo 'graph_vlabel PHP5-FPM Average Process Size'
|
|
29
|
+
echo 'graph_category PHP'
|
|
30
|
+
echo 'graph_info This graph shows the average process size for PHP5-FPM'
|
|
31
|
+
echo 'php_average.label PHP5-FPM Average Proccess Size'
|
|
32
|
+
echo 'php_average.draw LINE2'
|
|
33
|
+
echo 'php_average.info The average process size for PHP5-FPM'
|
|
34
|
+
exit 0
|
|
35
|
+
fi
|
|
36
|
+
|
|
37
|
+
echo -n "php_average.value "
|
|
38
|
+
ps awwwux | grep $PHP_BIN | grep -v grep | grep -v master | awk '{total_mem = $6 * 1024 + total_mem; total_proc++} END{printf("%d\n", total_mem / total_proc)}'
|
|
39
|
+
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
#!/usr/bin/perl
|
|
2
|
+
#
|
|
3
|
+
# Magic markers:
|
|
4
|
+
#%# family=auto
|
|
5
|
+
#%# capabilities=autoconf
|
|
6
|
+
|
|
7
|
+
my $ret = undef;
|
|
8
|
+
|
|
9
|
+
if (! eval "require LWP::UserAgent;")
|
|
10
|
+
{
|
|
11
|
+
$ret = "LWP::UserAgent not found";
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
my $URL = exists $ENV{'url'} ? $ENV{'url'} : "http://127.0.0.1:%d/status";
|
|
15
|
+
my @PORTS = exists $ENV{'ports'} ? split(' ', $ENV{'ports'}) : (80);
|
|
16
|
+
|
|
17
|
+
if ( defined $ARGV[0] and $ARGV[0] eq "autoconf" )
|
|
18
|
+
{
|
|
19
|
+
if ($ret)
|
|
20
|
+
{
|
|
21
|
+
print "no ($ret)\n";
|
|
22
|
+
exit 1;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
my $ua = LWP::UserAgent->new(timeout => 30);
|
|
26
|
+
|
|
27
|
+
my @badports;
|
|
28
|
+
foreach my $port (@PORTS) {
|
|
29
|
+
my $url = sprintf $URL, $port;
|
|
30
|
+
my $response = $ua->request(HTTP::Request->new('GET',$url));
|
|
31
|
+
push @badports, $port unless $response->is_success and $response->content =~ /^accepted conn:/im;
|
|
32
|
+
}
|
|
33
|
+
if (@badports) {
|
|
34
|
+
print "no (phpfpm-status)\n";
|
|
35
|
+
exit 1;
|
|
36
|
+
} else {
|
|
37
|
+
print "yes\n";
|
|
38
|
+
exit 0;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if ( defined $ARGV[0] and $ARGV[0] eq "config" )
|
|
43
|
+
{
|
|
44
|
+
print('graph_title PHP5-FPM Accepted Connections
|
|
45
|
+
graph_args --base 1024 -l 0
|
|
46
|
+
graph_vlabel Connections
|
|
47
|
+
graph_category PHP
|
|
48
|
+
graph_order Connections
|
|
49
|
+
graph_info Plugin created by TJ Stein
|
|
50
|
+
accepted.label Idle
|
|
51
|
+
accepted.draw AREA
|
|
52
|
+
accepted.type DERIVE
|
|
53
|
+
accepted.min 0
|
|
54
|
+
');
|
|
55
|
+
|
|
56
|
+
exit 0;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
foreach my $port (@PORTS)
|
|
60
|
+
{
|
|
61
|
+
my $ua = LWP::UserAgent->new(timeout => 30);
|
|
62
|
+
my $url = sprintf $URL, $port;
|
|
63
|
+
my $response = $ua->request(HTTP::Request->new('GET',$url));
|
|
64
|
+
if ($response->content =~ /accepted conn:\s+([0-9\.]+)/im) {
|
|
65
|
+
print "accepted.value $1\n";
|
|
66
|
+
} else {
|
|
67
|
+
print "accepted.value U\n";
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
# vim:syntax=perl
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env perl
|
|
2
|
+
#
|
|
3
|
+
# Munin plugin for monitoring PHP5-FPM memory usage
|
|
4
|
+
#
|
|
5
|
+
# Copyright TJ Stein 2010 http://constantshift.com
|
|
6
|
+
|
|
7
|
+
my $PHP_BIN = exists $ENV{'phpbin'} ? $ENV{'phpbin'} : "php5-fpm";
|
|
8
|
+
|
|
9
|
+
if ( exists $ARGV[0] and $ARGV[0] eq "config" ) {
|
|
10
|
+
print "graph_title PHP5-FPM Memory Usage\n";
|
|
11
|
+
print "graph_vlabel RAM\n";
|
|
12
|
+
print "graph_category PHP\n";
|
|
13
|
+
print "ram.label ram\n";
|
|
14
|
+
print "graph_args --base 1024\n";
|
|
15
|
+
} else {
|
|
16
|
+
my $i = Integer;
|
|
17
|
+
@cmd = `ps auwx | grep $PHP_BIN | grep -v grep | grep -v phpfpm_memory`;
|
|
18
|
+
|
|
19
|
+
foreach (@cmd) {
|
|
20
|
+
@return = split(/ +/, $_);
|
|
21
|
+
$i += @return[5]*1024;
|
|
22
|
+
}
|
|
23
|
+
print "ram.value ".$i."\n";
|
|
24
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# -*- sh -*-
|
|
3
|
+
#
|
|
4
|
+
# Plugin to monitor the number of PHP5-FPM processes on the machine.
|
|
5
|
+
#
|
|
6
|
+
# Copyright TJ Stein 2010 http://constantshift.com
|
|
7
|
+
#
|
|
8
|
+
# Parameters:
|
|
9
|
+
#
|
|
10
|
+
# config (required)
|
|
11
|
+
# autoconf (optional - used by munin-config)
|
|
12
|
+
#
|
|
13
|
+
# Magick markers (optional - used by munin-config and som installation
|
|
14
|
+
# scripts):
|
|
15
|
+
#%# family=manual
|
|
16
|
+
#%# capabilities=autoconf
|
|
17
|
+
|
|
18
|
+
PHP_BIN=${phpbin-"php5-fpm"}
|
|
19
|
+
|
|
20
|
+
if [ "$1" = "autoconf" ]; then
|
|
21
|
+
echo yes
|
|
22
|
+
exit 0
|
|
23
|
+
fi
|
|
24
|
+
|
|
25
|
+
if [ "$1" = "config" ]; then
|
|
26
|
+
echo 'graph_title PHP5-FPM Processes'
|
|
27
|
+
echo 'graph_args --base 1000 -l 0 '
|
|
28
|
+
echo 'graph_vlabel PHP5-FPM Processes'
|
|
29
|
+
echo 'graph_category PHP'
|
|
30
|
+
echo 'graph_info This graph shows the number of PHP5-FPM processes in the system.'
|
|
31
|
+
echo 'php_processes.label PHP5-FPM Processes'
|
|
32
|
+
echo 'php_processes.draw LINE2'
|
|
33
|
+
echo 'php_processes.info The current number of PHP5-FPM processes.'
|
|
34
|
+
exit 0
|
|
35
|
+
fi
|
|
36
|
+
|
|
37
|
+
echo -n "php_processes.value "
|
|
38
|
+
pgrep -c $PHP_BIN
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
#!/usr/bin/perl
|
|
2
|
+
#
|
|
3
|
+
# Magic markers:
|
|
4
|
+
#%# family=auto
|
|
5
|
+
#%# capabilities=autoconf
|
|
6
|
+
|
|
7
|
+
my $ret = undef;
|
|
8
|
+
|
|
9
|
+
if (! eval "require LWP::UserAgent;")
|
|
10
|
+
{
|
|
11
|
+
$ret = "LWP::UserAgent not found";
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
my $URL = exists $ENV{'url'} ? $ENV{'url'} : "http://127.0.0.1:%d/status";
|
|
15
|
+
my @PORTS = exists $ENV{'ports'} ? split(' ', $ENV{'ports'}) : (80);
|
|
16
|
+
|
|
17
|
+
if ( defined $ARGV[0] and $ARGV[0] eq "autoconf" )
|
|
18
|
+
{
|
|
19
|
+
if ($ret)
|
|
20
|
+
{
|
|
21
|
+
print "no ($ret)\n";
|
|
22
|
+
exit 1;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
my $ua = LWP::UserAgent->new(timeout => 30);
|
|
26
|
+
|
|
27
|
+
my @badports;
|
|
28
|
+
foreach my $port (@PORTS) {
|
|
29
|
+
my $url = sprintf $URL, $port;
|
|
30
|
+
my $response = $ua->request(HTTP::Request->new('GET',$url));
|
|
31
|
+
push @badports, $port unless $response->is_success and $response->content =~ /^accepted conn:/im;
|
|
32
|
+
}
|
|
33
|
+
if (@badports) {
|
|
34
|
+
print "no (phpfpm-status)\n";
|
|
35
|
+
exit 1;
|
|
36
|
+
} else {
|
|
37
|
+
print "yes\n";
|
|
38
|
+
exit 0;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if ( defined $ARGV[0] and $ARGV[0] eq "config" )
|
|
43
|
+
{
|
|
44
|
+
print('graph_title PHP5-FPM Status
|
|
45
|
+
graph_args --base 1024 -l 0
|
|
46
|
+
graph_vlabel Connections
|
|
47
|
+
graph_category PHP
|
|
48
|
+
graph_order Idle Active Total
|
|
49
|
+
graph_info Plugin created by TJ Stein
|
|
50
|
+
idle.label Idle
|
|
51
|
+
idle.draw AREA
|
|
52
|
+
active.label Active
|
|
53
|
+
active.draw AREA
|
|
54
|
+
total.label Total
|
|
55
|
+
total.draw STACK
|
|
56
|
+
');
|
|
57
|
+
|
|
58
|
+
exit 0;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
foreach my $port (@PORTS)
|
|
62
|
+
{
|
|
63
|
+
my $ua = LWP::UserAgent->new(timeout => 30);
|
|
64
|
+
my $url = sprintf $URL, $port;
|
|
65
|
+
my $response = $ua->request(HTTP::Request->new('GET',$url));
|
|
66
|
+
if ($response->content =~ /idle processes:\s+([0-9\.]+)/im) {
|
|
67
|
+
print "idle.value $1\n";
|
|
68
|
+
} else {
|
|
69
|
+
print "idle.value U\n";
|
|
70
|
+
}
|
|
71
|
+
if ($response->content =~ /active processes:\s+([0-9\.]+)/im) {
|
|
72
|
+
print "active.value $1\n";
|
|
73
|
+
} else {
|
|
74
|
+
print "active.value U\n";
|
|
75
|
+
}
|
|
76
|
+
if ($response->content =~ /total processes:\s+([0-9\.]+)/im) {
|
|
77
|
+
print "total.value $1\n";
|
|
78
|
+
} else {
|
|
79
|
+
print "total.value U\n";
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
# vim:syntax=perl
|