prometheus-splash 0.7.0 → 0.8.0
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 +4 -4
- data/CHANGELOG.md +26 -1
- data/README.md +1 -1
- data/config/splash.yml +33 -5
- data/lib/splash/backends.rb +1 -0
- data/lib/splash/cli.rb +2 -1
- data/lib/splash/cli/daemon.rb +41 -1
- data/lib/splash/cli/transfers.rb +206 -0
- data/lib/splash/cli/webadmin.rb +3 -3
- data/lib/splash/config.rb +44 -30
- data/lib/splash/constants.rb +7 -2
- data/lib/splash/daemon/metrics.rb +6 -6
- data/lib/splash/daemon/orchestrator.rb +76 -36
- data/lib/splash/daemon/orchestrator/grammar.rb +16 -1
- data/lib/splash/dependencies.rb +6 -1
- data/lib/splash/helpers.rb +11 -2
- data/lib/splash/loggers/cli.rb +2 -10
- data/lib/splash/transfers.rb +224 -0
- data/lib/splash/webadmin.rb +3 -3
- data/lib/splash/webadmin/main.rb +1 -0
- data/lib/splash/webadmin/portal/controllers/home.rb +19 -0
- data/lib/splash/webadmin/portal/controllers/proxy.rb +10 -2
- data/lib/splash/webadmin/portal/views/home.slim +50 -5
- data/lib/splash/webadmin/portal/views/proxy.slim +3 -0
- data/prometheus-splash.gemspec +5 -2
- metadata +62 -4
data/lib/splash/webadmin.rb
CHANGED
@@ -21,7 +21,7 @@ module Splash
|
|
21
21
|
# @param [Hash] options
|
22
22
|
# @option options [Symbol] :quiet activate quiet mode for log (limit to :fatal)
|
23
23
|
# @return [Hash] Exiter Case (:quiet_exit, :already_exist, :unknown_error or other)
|
24
|
-
def
|
24
|
+
def startweb(options = {})
|
25
25
|
require 'splash/webadmin/main'
|
26
26
|
config = get_config
|
27
27
|
log = get_logger
|
@@ -64,7 +64,7 @@ module Splash
|
|
64
64
|
# @param [Hash] options
|
65
65
|
# @option options [Symbol] :quiet activate quiet mode for log (limit to :fatal)
|
66
66
|
# @return [Hash] Exiter Case (:quiet_exit, :not_found, other)
|
67
|
-
def
|
67
|
+
def stopweb(options = {})
|
68
68
|
config = get_config
|
69
69
|
log = get_logger
|
70
70
|
log.level = :fatal if options[:quiet]
|
@@ -86,7 +86,7 @@ module Splash
|
|
86
86
|
# Status of the Splash WebAdmin, display status
|
87
87
|
# @param [Hash] options ignored
|
88
88
|
# @return [Hash] Exiter Case (:status_ko, :status_ok)
|
89
|
-
def
|
89
|
+
def statusweb(options = {})
|
90
90
|
log = get_logger
|
91
91
|
config = get_config
|
92
92
|
pid = realpid = ''
|
data/lib/splash/webadmin/main.rb
CHANGED
@@ -3,6 +3,7 @@ WebAdminApp.get '/' do
|
|
3
3
|
url = "http://#{get_config.webadmin_ip}:#{get_config.webadmin_port}/api/config/full.yml"
|
4
4
|
@raw = RestClient::Request.execute(method: 'GET', url: url,timeout: 10)
|
5
5
|
@data = YAML::load(@raw)[:data]
|
6
|
+
@status = get_processes({ :pattern => get_config.daemon_process_name}).empty?
|
6
7
|
slim :home, :format => :html
|
7
8
|
end
|
8
9
|
|
@@ -10,3 +11,21 @@ WebAdminApp.get '/home' do
|
|
10
11
|
get_menu 0
|
11
12
|
slim :home, :format => :html
|
12
13
|
end
|
14
|
+
|
15
|
+
WebAdminApp.get '/daemon/:action' do
|
16
|
+
content_type :text
|
17
|
+
|
18
|
+
case params[:action]
|
19
|
+
when 'start'
|
20
|
+
startdaemon scheduling: true, purge: false
|
21
|
+
return 'start'
|
22
|
+
when 'stop'
|
23
|
+
stopdaemon
|
24
|
+
return 'stop'
|
25
|
+
when 'restart'
|
26
|
+
stopdaemon
|
27
|
+
startdaemon scheduling: true, purge: false
|
28
|
+
return 'start'
|
29
|
+
else
|
30
|
+
end
|
31
|
+
end
|
@@ -1,13 +1,19 @@
|
|
1
1
|
|
2
2
|
|
3
3
|
WebAdminApp.use Rack::ReverseProxy do
|
4
|
-
reverse_proxy /^\/pushgateway\/?(.*)$/, get_config.prometheus_pushgateway_url
|
4
|
+
reverse_proxy /^\/pushgateway\/?(.*)$/, get_config.prometheus_pushgateway_url + '/'
|
5
5
|
reverse_proxy_options preserve_host: true
|
6
6
|
end
|
7
7
|
|
8
8
|
|
9
9
|
WebAdminApp.use Rack::ReverseProxy do
|
10
|
-
reverse_proxy /^\/prometheus\/?(.*)$/, get_config.prometheus_url
|
10
|
+
reverse_proxy /^\/prometheus\/?(.*)$/, get_config.prometheus_url + '/'
|
11
|
+
reverse_proxy_options preserve_host: true
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
WebAdminApp.use Rack::ReverseProxy do
|
16
|
+
reverse_proxy /^\/alertmanager\/?(.*)$/, get_config.prometheus_alertmanager_url + '/'
|
11
17
|
reverse_proxy_options preserve_host: true
|
12
18
|
end
|
13
19
|
|
@@ -19,9 +25,11 @@ WebAdminApp.get '/proxy/links' do
|
|
19
25
|
@proxy = true
|
20
26
|
@pushgateway_url = "http://#{config.webadmin_ip}:#{config.webadmin_port}/pushgateway"
|
21
27
|
@prometheus_url = "http://#{config.webadmin_ip}:#{config.webadmin_port}/prometheus"
|
28
|
+
@alertmanager_url = "http://#{config.webadmin_ip}:#{config.webadmin_port}/prometheus"
|
22
29
|
else
|
23
30
|
@proxy = false
|
24
31
|
@pushgateway_url = "#{config.prometheus_pushgateway_url}"
|
32
|
+
@alertmanager_url = "#{config.prometheus_alertmanager_url}"
|
25
33
|
@prometheus_url = "#{config.prometheus_url}"
|
26
34
|
end
|
27
35
|
slim :proxy, :format => :html
|
@@ -1,5 +1,53 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
javascript:
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
$('body').on( 'click','button', function(){
|
6
|
+
var tmp = this.id
|
7
|
+
$("#stop").prop('disabled', true);
|
8
|
+
$("#start").prop('disabled', true);
|
9
|
+
var url = "/daemon/" + tmp;
|
10
|
+
$("#stop").prop('disabled', true);
|
11
|
+
$("#start").prop('disabled', true);
|
12
|
+
$.get(url, function( data ) {
|
13
|
+
|
14
|
+
console.log(data);
|
15
|
+
if (data == 'stop') {
|
16
|
+
$("#stop").prop('disabled', true);
|
17
|
+
$("#start").prop('disabled', false);
|
18
|
+
$("#daemon").removeClass('uk-badge-success').addClass('uk-badge-danger');
|
19
|
+
$("#daemon").text('OFF');
|
20
|
+
}
|
21
|
+
if (data == 'start') {
|
22
|
+
$("#stop").prop('disabled', false);
|
23
|
+
$("#start").prop('disabled', true);
|
24
|
+
$("#daemon").removeClass('uk-badge-danger').addClass('uk-badge-success');
|
25
|
+
$("#daemon").text('ON');
|
26
|
+
}
|
27
|
+
});
|
28
|
+
});
|
29
|
+
|
30
|
+
div.uk-grid
|
31
|
+
div.uk-width-medium-1-1
|
32
|
+
div.uk-panel.uk-panel-box
|
33
|
+
div.uk-text-large.uk-text-bold <i class="uk-icon-cogs uk-icon-justify uk-icon-large"></i> Splash Daemon status
|
34
|
+
table.uk-table
|
35
|
+
tr
|
36
|
+
td
|
37
|
+
b Actions :
|
38
|
+
div.uk-button-group
|
39
|
+
- if @status == false
|
40
|
+
button.uk-button(id="start" disabled): i.uk-icon-play
|
41
|
+
button.uk-button(id="stop"): i.uk-icon-stop
|
42
|
+
- else
|
43
|
+
button.uk-button(id="start"): i.uk-icon-play
|
44
|
+
button.uk-button(id="stop" disabled): i.uk-icon-stop
|
45
|
+
td
|
46
|
+
b Status :
|
47
|
+
- if @status == false
|
48
|
+
div.uk-badge.uk-badge-success.uk-badge-notifications(id="daemon") ON
|
49
|
+
- else
|
50
|
+
div.uk-badge.uk-badge-danger.uk-badge-notifications(id="daemon") OFF
|
3
51
|
|
4
52
|
|
5
53
|
div.uk-grid
|
@@ -7,7 +55,6 @@ div.uk-grid
|
|
7
55
|
div.uk-panel.uk-panel-box
|
8
56
|
span.uk-text-large.uk-text-bold Global Configuration
|
9
57
|
br
|
10
|
-
br
|
11
58
|
span.uk-text-bold <i>Logger and display</i> :
|
12
59
|
ul
|
13
60
|
li <b>Level:</b> #{@data[:loggers][:level]}
|
@@ -23,7 +70,6 @@ div.uk-grid
|
|
23
70
|
div.uk-panel.uk-panel-box
|
24
71
|
span.uk-text-large.uk-text-bold Transport and Backend
|
25
72
|
br
|
26
|
-
br
|
27
73
|
span.uk-text-bold <i>Backend</i> :
|
28
74
|
ul
|
29
75
|
li <b>Backend type:</b> #{@data[:backends][:stores][:execution_trace][:type]}
|
@@ -66,7 +112,6 @@ div.uk-grid
|
|
66
112
|
div.uk-panel.uk-panel-box
|
67
113
|
span.uk-text-large.uk-text-bold Web UI
|
68
114
|
br
|
69
|
-
br
|
70
115
|
span.uk-text-bold <i>Webadmin</i> :
|
71
116
|
ul
|
72
117
|
li <b>IP:</b> #{@data[:webadmin_ip]}
|
data/prometheus-splash.gemspec
CHANGED
@@ -26,7 +26,10 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.add_runtime_dependency 'bunny','~> 2.15.0'
|
27
27
|
spec.add_runtime_dependency 'ps-ruby','~> 0.0.4'
|
28
28
|
spec.add_runtime_dependency 'tty-markdown','~> 0.6.0'
|
29
|
-
spec.add_runtime_dependency 'tty-pager','~> 0.12.
|
29
|
+
spec.add_runtime_dependency 'tty-pager','~> 0.12.0'
|
30
|
+
spec.add_runtime_dependency 'tty-table','~> 0.11.0'
|
31
|
+
spec.add_runtime_dependency 'net-ssh','~> 6.1.0'
|
32
|
+
spec.add_runtime_dependency 'net-scp','~> 3.0.0'
|
30
33
|
spec.add_runtime_dependency 'colorize','~> 0.8.1'
|
31
34
|
spec.add_runtime_dependency 'sinatra','~> 2.1.0'
|
32
35
|
spec.add_runtime_dependency 'thin','~> 1.7.2'
|
@@ -41,6 +44,6 @@ Gem::Specification.new do |spec|
|
|
41
44
|
spec.add_development_dependency 'roodi', '~> 5.0.0'
|
42
45
|
spec.add_development_dependency 'code_statistics', '~> 0.2.13'
|
43
46
|
spec.add_development_dependency 'yard-rspec', '~> 0.1'
|
44
|
-
|
47
|
+
spec.add_development_dependency 'bundler', '~> 2.1.4'
|
45
48
|
|
46
49
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prometheus-splash
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Romain GEORGES
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-10-
|
11
|
+
date: 2020-10-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -114,14 +114,56 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0.12.
|
117
|
+
version: 0.12.0
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 0.12.0
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: tty-table
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 0.11.0
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 0.11.0
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: net-ssh
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 6.1.0
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 6.1.0
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: net-scp
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 3.0.0
|
118
160
|
type: :runtime
|
119
161
|
prerelease: false
|
120
162
|
version_requirements: !ruby/object:Gem::Requirement
|
121
163
|
requirements:
|
122
164
|
- - "~>"
|
123
165
|
- !ruby/object:Gem::Version
|
124
|
-
version: 0.
|
166
|
+
version: 3.0.0
|
125
167
|
- !ruby/object:Gem::Dependency
|
126
168
|
name: colorize
|
127
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -318,6 +360,20 @@ dependencies:
|
|
318
360
|
- - "~>"
|
319
361
|
- !ruby/object:Gem::Version
|
320
362
|
version: '0.1'
|
363
|
+
- !ruby/object:Gem::Dependency
|
364
|
+
name: bundler
|
365
|
+
requirement: !ruby/object:Gem::Requirement
|
366
|
+
requirements:
|
367
|
+
- - "~>"
|
368
|
+
- !ruby/object:Gem::Version
|
369
|
+
version: 2.1.4
|
370
|
+
type: :development
|
371
|
+
prerelease: false
|
372
|
+
version_requirements: !ruby/object:Gem::Requirement
|
373
|
+
requirements:
|
374
|
+
- - "~>"
|
375
|
+
- !ruby/object:Gem::Version
|
376
|
+
version: 2.1.4
|
321
377
|
description: Prometheus Logs and Batchs supervision over PushGateway and commands
|
322
378
|
orchestration
|
323
379
|
email:
|
@@ -351,6 +407,7 @@ files:
|
|
351
407
|
- lib/splash/cli/logs.rb
|
352
408
|
- lib/splash/cli/process.rb
|
353
409
|
- lib/splash/cli/sequences.rb
|
410
|
+
- lib/splash/cli/transfers.rb
|
354
411
|
- lib/splash/cli/webadmin.rb
|
355
412
|
- lib/splash/commands.rb
|
356
413
|
- lib/splash/config.rb
|
@@ -377,6 +434,7 @@ files:
|
|
377
434
|
- lib/splash/processes.rb
|
378
435
|
- lib/splash/sequences.rb
|
379
436
|
- lib/splash/templates.rb
|
437
|
+
- lib/splash/transfers.rb
|
380
438
|
- lib/splash/transports.rb
|
381
439
|
- lib/splash/transports/rabbitmq.rb
|
382
440
|
- lib/splash/webadmin.rb
|