apache_server_status 0.1.1.pre.beta → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +35 -0
- data/apache_server_status.gemspec +1 -1
- data/lib/apache_server_status/ass/public/js/main.js +54 -0
- data/{ass → lib/apache_server_status/ass}/views/layout.erb +23 -28
- data/lib/apache_server_status/version.rb +1 -1
- data/lib/public/css/style.css +9 -0
- data/lib/public/js/main.js +2 -9
- data/lib/views/layout.erb +4 -18
- metadata +7 -29
- data/ass/Gemfile +0 -6
- data/ass/Gemfile.lock +0 -60
- data/ass/ass.rb +0 -53
- data/ass/config.ru +0 -3
- data/ass/public/css/style.css +0 -85
- data/ass/public/js/jquery-3.2.0.js +0 -10244
- data/ass/public/js/main.js +0 -51
- data/ass/public/vendor/bootstrap-3.3.7-dist/css/bootstrap-theme.css +0 -587
- data/ass/public/vendor/bootstrap-3.3.7-dist/css/bootstrap-theme.css.map +0 -1
- data/ass/public/vendor/bootstrap-3.3.7-dist/css/bootstrap-theme.min.css +0 -6
- data/ass/public/vendor/bootstrap-3.3.7-dist/css/bootstrap-theme.min.css.map +0 -1
- data/ass/public/vendor/bootstrap-3.3.7-dist/css/bootstrap.css +0 -6757
- data/ass/public/vendor/bootstrap-3.3.7-dist/css/bootstrap.css.map +0 -1
- data/ass/public/vendor/bootstrap-3.3.7-dist/css/bootstrap.min.css +0 -6
- data/ass/public/vendor/bootstrap-3.3.7-dist/css/bootstrap.min.css.map +0 -1
- data/ass/public/vendor/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.eot +0 -0
- data/ass/public/vendor/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.svg +0 -288
- data/ass/public/vendor/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/ass/public/vendor/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.woff +0 -0
- data/ass/public/vendor/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/ass/public/vendor/bootstrap-3.3.7-dist/js/bootstrap.js +0 -2377
- data/ass/public/vendor/bootstrap-3.3.7-dist/js/bootstrap.min.js +0 -7
- data/ass/public/vendor/bootstrap-3.3.7-dist/js/npm.js +0 -13
- data/ass/views/index.erb +0 -44
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac91341ec4e4391af856b59d60cb03702b6b21da
|
4
|
+
data.tar.gz: 022dccb1a8b70c311f42be7c0d5837312ec18538
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf1277e6ff35966daa7e5e071fd1327d9fc836dc01fcfeeff735143abb10b1812180088dd67764d761378d1d97bd08074c591cbbf42cd978d8d9d0a9c015e0d1
|
7
|
+
data.tar.gz: 8da3e344375435f0a8ebac5e8fc42189529223c75f3bbcb3112cb757f3d4e0c22bc3a0c182566de41e2f6968a8fc91f6f481e22f369874e80b85804c9cf9a967
|
data/README.md
CHANGED
@@ -0,0 +1,35 @@
|
|
1
|
+
# Apache Server Status - Ass
|
2
|
+
|
3
|
+
A simple ruby gem that provides a pretty web interface to track apache server status in real time.
|
4
|
+
|
5
|
+
![Server Status](http://res.cloudinary.com/dvnjqhdxp/image/upload/v1490048069/ezgif.com-video-to-gif.gif)
|
6
|
+
|
7
|
+
|
8
|
+
## PREREQUIREMENT (IMPORTANT)
|
9
|
+
|
10
|
+
You need to have mod_status installed in your server. Example of how to install: [CentOs specific example](http://www.tecmint.com/monitor-apache-web-server-load-and-page-statistics/). After installing make sure yoursevername.com/server-status is functioning.
|
11
|
+
|
12
|
+
## Installation
|
13
|
+
Or install it yourself as:
|
14
|
+
|
15
|
+
$ gem install apache_server_status --pre
|
16
|
+
|
17
|
+
|
18
|
+
## USAGE
|
19
|
+
|
20
|
+
Run the following command on your terminal:
|
21
|
+
|
22
|
+
$ ass
|
23
|
+
|
24
|
+
You should see the following message:
|
25
|
+
|
26
|
+
```
|
27
|
+
$ Puma starting in single mode...
|
28
|
+
* Version 3.8.2 (ruby 2.3.3-p222), codename: Sassy Salamander
|
29
|
+
* Min threads: 0, max threads: 16
|
30
|
+
* Environment: development
|
31
|
+
* Listening on tcp://localhost:4567
|
32
|
+
Use Ctrl-C to stop
|
33
|
+
```
|
34
|
+
|
35
|
+
Now navigate to 'localhost:4567' and you will see a web interface with a form to add domain. Provide full domain without 'http' or 'https', just 'yourDomaninName.com'. You can provide as many you want. And navigate through the servers to track status.
|
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ['suyeshb@gmail.com']
|
11
11
|
|
12
12
|
spec.summary = 'Beautify apache server status'
|
13
|
-
spec.description = '
|
13
|
+
spec.description = 'A simple ruby gem that provides a pretty web interface to track apache server status in real time.'
|
14
14
|
spec.homepage = 'https://github.com/suyesh/apache_server_status'
|
15
15
|
spec.license = 'MIT'
|
16
16
|
|
@@ -0,0 +1,54 @@
|
|
1
|
+
<<<<<<< HEAD
|
2
|
+
$(document).ready(function () {
|
3
|
+
$("#servers li a").click(function () {
|
4
|
+
$(this).parent().addClass('active').siblings().removeClass('active');
|
5
|
+
var server = $('li.active a').text();
|
6
|
+
$("#appname").text(server);
|
7
|
+
setInterval(function () {
|
8
|
+
$.getJSON(('http://localhost:4567/' + server), function (data) {
|
9
|
+
=======
|
10
|
+
$(document).ready(function() {
|
11
|
+
$("#servers li a").click(function() {
|
12
|
+
$(this).parent().addClass('active').siblings().removeClass('active');
|
13
|
+
var server = $('li.active a').text();
|
14
|
+
$("#appname").text(server);
|
15
|
+
setInterval(function() {
|
16
|
+
$.getJSON(('http://localhost:4567/' + server), function(data) {
|
17
|
+
>>>>>>> develop
|
18
|
+
$(".box-requests").text(data.requests);
|
19
|
+
$(".box-idle-workers").text(data.idle_workers);
|
20
|
+
$(".box-requests-per-second").text(data.requests_per_second);
|
21
|
+
$(".box-cpu").text(data.cpu);
|
22
|
+
$(".box-load-average").text(data.load_average);
|
23
|
+
$(".box-size-per-req").text(data.size_per_request);
|
24
|
+
$(".box-title").text(data.size_title);
|
25
|
+
});
|
26
|
+
}, 500);
|
27
|
+
<<<<<<< HEAD
|
28
|
+
});
|
29
|
+
});
|
30
|
+
=======
|
31
|
+
});
|
32
|
+
});
|
33
|
+
|
34
|
+
//TODO: Add servers from interface
|
35
|
+
// $("#domain-name-button").click(function() {
|
36
|
+
// var domain = $('#domain-name').val();
|
37
|
+
// $("#servers").append('<li role="separator" class="divider"></li>');
|
38
|
+
// $("#servers").append('<li><a href="#">' + domain + '</a></li>');
|
39
|
+
// $("#notification").append('<div class="alert alert-success alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button><strong>Success!</strong><em>' +
|
40
|
+
// ' ' + domain + '</em> has been successfylly added to your servers list.');
|
41
|
+
// $("#notification").fadeOut(1000);
|
42
|
+
// });
|
43
|
+
//
|
44
|
+
// $("#domain-name").keypress(function(e) {
|
45
|
+
// if (e.which == 13) {
|
46
|
+
// var domain = $('#domain-name').val();
|
47
|
+
// $("#servers").append('<li role="separator" class="divider"></li>');
|
48
|
+
// $("#servers").append('<li><a href="#">' + domain + '</a></li>');
|
49
|
+
// $("#notification").append('<div class="alert alert-success alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button><strong>Success!</strong><em>' +
|
50
|
+
// ' ' + domain + '</em> has been successfylly added to your servers list.');
|
51
|
+
// $("#notification").fadeOut(1000);
|
52
|
+
// }
|
53
|
+
// });
|
54
|
+
>>>>>>> develop
|
@@ -5,16 +5,8 @@
|
|
5
5
|
<meta charset="utf-8">
|
6
6
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
8
|
-
<meta http-equiv="cache-control" content="max-age=0"/>
|
9
|
-
<meta http-equiv="cache-control" content="no-cache"/>
|
10
|
-
<meta http-equiv="expires" content="0"/>
|
11
|
-
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT"/>
|
12
|
-
<meta http-equiv="pragma" content="no-cache"/>
|
13
8
|
<title>Apache Server Status</title>
|
14
|
-
<!-- Latest compiled and minified CSS -->
|
15
9
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
|
16
|
-
|
17
|
-
<!-- Optional theme -->
|
18
10
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
|
19
11
|
<link rel="stylesheet" href="css/style.css">
|
20
12
|
</head>
|
@@ -29,7 +21,11 @@
|
|
29
21
|
<span class="icon-bar"></span>
|
30
22
|
<span class="icon-bar"></span>
|
31
23
|
</button>
|
24
|
+
<<<<<<< HEAD
|
25
|
+
<a class="navbar-brand" href="#">Apache Server Status
|
26
|
+
=======
|
32
27
|
<a class="navbar-brand" href="/">Apache Server Status
|
28
|
+
>>>>>>> develop
|
33
29
|
<strong id="appname"></strong>
|
34
30
|
</a>
|
35
31
|
</div>
|
@@ -48,32 +44,31 @@
|
|
48
44
|
</ul>
|
49
45
|
</li>
|
50
46
|
</ul>
|
51
|
-
<form class="navbar-form navbar-left">
|
47
|
+
<!-- <form class="navbar-form navbar-left">
|
52
48
|
<div class="form-group">
|
53
49
|
<input type="text" class="form-control" placeholder="domain name" id="domain-name">
|
54
50
|
</div>
|
55
|
-
|
56
|
-
|
57
|
-
</div>
|
51
|
+
<a href="#" class="btn btn-success" id="domain-name-button">Add Server</a>
|
52
|
+
</form> -->
|
58
53
|
</div>
|
54
|
+
<<<<<<< HEAD
|
59
55
|
</nav>
|
60
|
-
<div class="container" id="notification"></div>
|
61
|
-
|
62
|
-
</div>
|
63
|
-
<div class="container">
|
64
|
-
<!-- <ul class="nav nav-pills" id="servers">
|
65
|
-
<% @servers.each do |server| %>
|
66
|
-
<li>
|
67
|
-
<a href="#"><%= server%></a>
|
68
|
-
</li>
|
69
|
-
<%end%>
|
70
|
-
</ul> -->
|
71
56
|
<%= yield %>
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
57
|
+
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
|
58
|
+
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
|
59
|
+
<script src="js/main.js" type="text/javascript"></script>
|
60
|
+
</body>
|
61
|
+
=======
|
62
|
+
</div>
|
63
|
+
</nav>
|
64
|
+
<div class="container" id="notification"></div>
|
65
|
+
|
66
|
+
</div>
|
67
|
+
<%= yield %>
|
68
|
+
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
|
69
|
+
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
|
70
|
+
<script src="js/main.js" type="text/javascript"></script>
|
77
71
|
</body>
|
72
|
+
>>>>>>> develop
|
78
73
|
|
79
74
|
</html>
|
data/lib/public/css/style.css
CHANGED
@@ -80,6 +80,15 @@
|
|
80
80
|
height: 300px;
|
81
81
|
}
|
82
82
|
|
83
|
+
.nav > li > a:hover {
|
84
|
+
background-color: #34495e;
|
85
|
+
}
|
86
|
+
|
83
87
|
.nav-pills>li.active>a, .nav-pills>li.active>a:focus, .nav-pills>li.active>a:hover {
|
84
88
|
background-color: #34495e;
|
85
89
|
}
|
90
|
+
|
91
|
+
.nav > li > a {
|
92
|
+
color: white;
|
93
|
+
background-color: #337ab7;
|
94
|
+
}
|
data/lib/public/js/main.js
CHANGED
@@ -29,23 +29,16 @@ $("#servers li a").click(addActiveClass);
|
|
29
29
|
|
30
30
|
$("#domain-name-button").click(function() {
|
31
31
|
var domain = $('#domain-name').val();
|
32
|
-
$("#servers").append('<li role="separator" class="divider"></li>');
|
33
32
|
$("#servers").append('<li><a href="#">' + domain + '</a></li>');
|
34
|
-
$(
|
35
|
-
' ' + domain + '</em> has been successfylly added to your servers list.');
|
36
|
-
$("#notification").fadeOut(1000);
|
37
|
-
$("#notification .alert").remove();
|
33
|
+
$('#domain-name').val('');
|
38
34
|
$( "#servers li a").click(addActiveClass);
|
39
35
|
});
|
40
36
|
|
41
37
|
$("#domain-name").keypress(function(e) {
|
42
38
|
if (e.which == 13) {
|
43
39
|
var domain = $('#domain-name').val();
|
44
|
-
$("#servers").append('<li role="separator" class="divider"></li>');
|
45
40
|
$("#servers").append('<li><a href="#">' + domain + '</a></li>');
|
46
|
-
$(
|
47
|
-
' ' + domain + '</em> has been successfylly added to your servers list.');
|
48
|
-
$("#notification").fadeOut(1000);
|
41
|
+
$('#domain-name').val('');
|
49
42
|
$( "#servers li a").click(addActiveClass);
|
50
43
|
}
|
51
44
|
});
|
data/lib/views/layout.erb
CHANGED
@@ -29,25 +29,11 @@
|
|
29
29
|
<span class="icon-bar"></span>
|
30
30
|
<span class="icon-bar"></span>
|
31
31
|
</button>
|
32
|
-
<
|
32
|
+
<span class="navbar-brand">Apache Server Status
|
33
33
|
<strong id="appname"></strong>
|
34
|
-
</
|
34
|
+
</span>
|
35
35
|
</div>
|
36
36
|
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
37
|
-
<ul class="nav navbar-nav">
|
38
|
-
<li class="dropdown">
|
39
|
-
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Servers<span class="caret"></span>
|
40
|
-
</a>
|
41
|
-
<ul class="dropdown-menu" id="servers">
|
42
|
-
<% @servers.each do |server| %>
|
43
|
-
<li role="separator" class="divider"></li>
|
44
|
-
<li>
|
45
|
-
<a href="#"><%= server%></a>
|
46
|
-
</li>
|
47
|
-
<%end%>
|
48
|
-
</ul>
|
49
|
-
</li>
|
50
|
-
</ul>
|
51
37
|
<form class="navbar-form navbar-left">
|
52
38
|
<div class="form-group">
|
53
39
|
<input type="text" class="form-control" placeholder="domain name" id="domain-name">
|
@@ -61,13 +47,13 @@
|
|
61
47
|
|
62
48
|
</div>
|
63
49
|
<div class="container">
|
64
|
-
|
50
|
+
<ul class="nav nav-pills" id="servers">
|
65
51
|
<% @servers.each do |server| %>
|
66
52
|
<li>
|
67
53
|
<a href="#"><%= server%></a>
|
68
54
|
</li>
|
69
55
|
<%end%>
|
70
|
-
</ul>
|
56
|
+
</ul>
|
71
57
|
<%= yield %>
|
72
58
|
</div>
|
73
59
|
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: apache_server_status
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Suyesh Bhandari
|
@@ -106,7 +106,8 @@ dependencies:
|
|
106
106
|
- - "~>"
|
107
107
|
- !ruby/object:Gem::Version
|
108
108
|
version: 0.19.4
|
109
|
-
description:
|
109
|
+
description: A simple ruby gem that provides a pretty web interface to track apache
|
110
|
+
server status in real time.
|
110
111
|
email:
|
111
112
|
- suyeshb@gmail.com
|
112
113
|
executables:
|
@@ -121,35 +122,12 @@ files:
|
|
121
122
|
- README.md
|
122
123
|
- Rakefile
|
123
124
|
- apache_server_status.gemspec
|
124
|
-
- ass/Gemfile
|
125
|
-
- ass/Gemfile.lock
|
126
|
-
- ass/ass.rb
|
127
|
-
- ass/config.ru
|
128
|
-
- ass/public/css/style.css
|
129
|
-
- ass/public/js/jquery-3.2.0.js
|
130
|
-
- ass/public/js/main.js
|
131
|
-
- ass/public/vendor/bootstrap-3.3.7-dist/css/bootstrap-theme.css
|
132
|
-
- ass/public/vendor/bootstrap-3.3.7-dist/css/bootstrap-theme.css.map
|
133
|
-
- ass/public/vendor/bootstrap-3.3.7-dist/css/bootstrap-theme.min.css
|
134
|
-
- ass/public/vendor/bootstrap-3.3.7-dist/css/bootstrap-theme.min.css.map
|
135
|
-
- ass/public/vendor/bootstrap-3.3.7-dist/css/bootstrap.css
|
136
|
-
- ass/public/vendor/bootstrap-3.3.7-dist/css/bootstrap.css.map
|
137
|
-
- ass/public/vendor/bootstrap-3.3.7-dist/css/bootstrap.min.css
|
138
|
-
- ass/public/vendor/bootstrap-3.3.7-dist/css/bootstrap.min.css.map
|
139
|
-
- ass/public/vendor/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.eot
|
140
|
-
- ass/public/vendor/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.svg
|
141
|
-
- ass/public/vendor/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.ttf
|
142
|
-
- ass/public/vendor/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.woff
|
143
|
-
- ass/public/vendor/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.woff2
|
144
|
-
- ass/public/vendor/bootstrap-3.3.7-dist/js/bootstrap.js
|
145
|
-
- ass/public/vendor/bootstrap-3.3.7-dist/js/bootstrap.min.js
|
146
|
-
- ass/public/vendor/bootstrap-3.3.7-dist/js/npm.js
|
147
|
-
- ass/views/index.erb
|
148
|
-
- ass/views/layout.erb
|
149
125
|
- bin/console
|
150
126
|
- bin/setup
|
151
127
|
- exe/ass
|
152
128
|
- lib/apache_server_status.rb
|
129
|
+
- lib/apache_server_status/ass/public/js/main.js
|
130
|
+
- lib/apache_server_status/ass/views/layout.erb
|
153
131
|
- lib/apache_server_status/version.rb
|
154
132
|
- lib/public/css/style.css
|
155
133
|
- lib/public/js/jquery-3.2.0.js
|
@@ -188,9 +166,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
188
166
|
version: '0'
|
189
167
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
190
168
|
requirements:
|
191
|
-
- - "
|
169
|
+
- - ">="
|
192
170
|
- !ruby/object:Gem::Version
|
193
|
-
version:
|
171
|
+
version: '0'
|
194
172
|
requirements: []
|
195
173
|
rubyforge_project:
|
196
174
|
rubygems_version: 2.6.11
|
data/ass/Gemfile
DELETED
data/ass/Gemfile.lock
DELETED
@@ -1,60 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: https://rubygems.org/
|
3
|
-
specs:
|
4
|
-
backports (3.6.8)
|
5
|
-
domain_name (0.5.20170223)
|
6
|
-
unf (>= 0.0.5, < 1.0.0)
|
7
|
-
http-cookie (1.0.3)
|
8
|
-
domain_name (~> 0.5)
|
9
|
-
mechanize (2.7.5)
|
10
|
-
domain_name (~> 0.5, >= 0.5.1)
|
11
|
-
http-cookie (~> 1.0)
|
12
|
-
mime-types (>= 1.17.2)
|
13
|
-
net-http-digest_auth (~> 1.1, >= 1.1.1)
|
14
|
-
net-http-persistent (~> 2.5, >= 2.5.2)
|
15
|
-
nokogiri (~> 1.6)
|
16
|
-
ntlm-http (~> 0.1, >= 0.1.1)
|
17
|
-
webrobots (>= 0.0.9, < 0.2)
|
18
|
-
mime-types (3.1)
|
19
|
-
mime-types-data (~> 3.2015)
|
20
|
-
mime-types-data (3.2016.0521)
|
21
|
-
mini_portile2 (2.1.0)
|
22
|
-
multi_json (1.12.1)
|
23
|
-
net-http-digest_auth (1.4.1)
|
24
|
-
net-http-persistent (2.9.4)
|
25
|
-
nokogiri (1.7.1)
|
26
|
-
mini_portile2 (~> 2.1.0)
|
27
|
-
ntlm-http (0.1.1)
|
28
|
-
rack (1.6.5)
|
29
|
-
rack-protection (1.5.3)
|
30
|
-
rack
|
31
|
-
rack-test (0.6.3)
|
32
|
-
rack (>= 1.0)
|
33
|
-
sinatra (1.4.8)
|
34
|
-
rack (~> 1.5)
|
35
|
-
rack-protection (~> 1.4)
|
36
|
-
tilt (>= 1.3, < 3)
|
37
|
-
sinatra-contrib (1.4.7)
|
38
|
-
backports (>= 2.0)
|
39
|
-
multi_json
|
40
|
-
rack-protection
|
41
|
-
rack-test
|
42
|
-
sinatra (~> 1.4.0)
|
43
|
-
tilt (>= 1.3, < 3)
|
44
|
-
tilt (2.0.7)
|
45
|
-
unf (0.1.4)
|
46
|
-
unf_ext
|
47
|
-
unf_ext (0.0.7.2)
|
48
|
-
webrobots (0.1.2)
|
49
|
-
|
50
|
-
PLATFORMS
|
51
|
-
ruby
|
52
|
-
|
53
|
-
DEPENDENCIES
|
54
|
-
mechanize
|
55
|
-
nokogiri
|
56
|
-
sinatra
|
57
|
-
sinatra-contrib
|
58
|
-
|
59
|
-
BUNDLED WITH
|
60
|
-
1.14.6
|
data/ass/ass.rb
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'sinatra'
|
3
|
-
require 'sinatra/contrib'
|
4
|
-
require 'sinatra/json'
|
5
|
-
require 'nokogiri'
|
6
|
-
require 'open-uri'
|
7
|
-
|
8
|
-
class Ass < Sinatra::Application
|
9
|
-
get '/' do
|
10
|
-
@servers = ARGV
|
11
|
-
erb :index
|
12
|
-
end
|
13
|
-
|
14
|
-
get '/:server' do
|
15
|
-
begin
|
16
|
-
begin
|
17
|
-
url = "http://#{params[:server]}/server-status"
|
18
|
-
doc = Nokogiri::HTML(open(url))
|
19
|
-
json(cpu: doc.css('dl')[1].children[15].text.split[7][0..-2],
|
20
|
-
load_average1: doc.css('dl')[1].children[11].text.split[2],
|
21
|
-
load_average2: doc.css('dl')[1].children[11].text.split[3],
|
22
|
-
load_average3: doc.css('dl')[1].children[11].text.split[4],
|
23
|
-
requests_per_second: doc.css('dl')[1].children[17].text.split[0],
|
24
|
-
requests: doc.css('dl')[1].children[19].text.split[0],
|
25
|
-
idle_workers: doc.css('dl')[1].children[19].text.split[5],
|
26
|
-
size_per_request: doc.css('dl')[1].children[17].text.split[6],
|
27
|
-
size_title: doc.css('dl')[1].children[17].text.split[7])
|
28
|
-
rescue
|
29
|
-
url = "https://#{params[:server]}/server-status"
|
30
|
-
doc = Nokogiri::HTML(open(url))
|
31
|
-
json(cpu: doc.css('dl')[1].children[15].text.split[7][0..-2],
|
32
|
-
load_average1: doc.css('dl')[1].children[11].text.split[2],
|
33
|
-
load_average2: doc.css('dl')[1].children[11].text.split[3],
|
34
|
-
load_average3: doc.css('dl')[1].children[11].text.split[4],
|
35
|
-
requests_per_second: doc.css('dl')[1].children[17].text.split[0],
|
36
|
-
requests: doc.css('dl')[1].children[19].text.split[0],
|
37
|
-
idle_workers: doc.css('dl')[1].children[19].text.split[5],
|
38
|
-
size_per_request: doc.css('dl')[1].children[17].text.split[6],
|
39
|
-
size_title: doc.css('dl')[1].children[17].text.split[7])
|
40
|
-
end
|
41
|
-
rescue
|
42
|
-
json(cpu: '--/--',
|
43
|
-
load_average1: '--/--',
|
44
|
-
load_average2: '--/--',
|
45
|
-
load_average3: '--/--',
|
46
|
-
requests_per_second: '--/--',
|
47
|
-
requests: '--/--',
|
48
|
-
idle_workers: '--/--',
|
49
|
-
size_per_request: '--/--',
|
50
|
-
size_title: '--/--')
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|