prometheus-splash 0.7.0 → 0.8.4

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.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +61 -1
  3. data/README.md +400 -178
  4. data/config/splash.yml +45 -5
  5. data/lib/splash/backends.rb +8 -1
  6. data/lib/splash/backends/file.rb +1 -1
  7. data/lib/splash/cli.rb +2 -1
  8. data/lib/splash/cli/commands.rb +100 -16
  9. data/lib/splash/cli/config.rb +12 -1
  10. data/lib/splash/cli/daemon.rb +41 -1
  11. data/lib/splash/cli/logs.rb +144 -48
  12. data/lib/splash/cli/process.rb +145 -52
  13. data/lib/splash/cli/transfers.rb +213 -0
  14. data/lib/splash/cli/webadmin.rb +3 -3
  15. data/lib/splash/commands.rb +85 -19
  16. data/lib/splash/config.rb +145 -52
  17. data/lib/splash/config/flush.rb +2 -2
  18. data/lib/splash/constants.rb +7 -3
  19. data/lib/splash/daemon/metrics.rb +6 -6
  20. data/lib/splash/daemon/orchestrator.rb +76 -36
  21. data/lib/splash/daemon/orchestrator/grammar.rb +16 -1
  22. data/lib/splash/dependencies.rb +6 -1
  23. data/lib/splash/exiter.rb +1 -1
  24. data/lib/splash/helpers.rb +12 -3
  25. data/lib/splash/loggers/cli.rb +2 -10
  26. data/lib/splash/logs.rb +94 -16
  27. data/lib/splash/processes.rb +91 -16
  28. data/lib/splash/transfers.rb +229 -0
  29. data/lib/splash/webadmin.rb +3 -3
  30. data/lib/splash/webadmin/api/routes/commands.rb +2 -2
  31. data/lib/splash/webadmin/api/routes/config.rb +95 -2
  32. data/lib/splash/webadmin/api/routes/logs.rb +32 -17
  33. data/lib/splash/webadmin/api/routes/process.rb +21 -9
  34. data/lib/splash/webadmin/api/routes/sequences.rb +2 -2
  35. data/lib/splash/webadmin/main.rb +3 -0
  36. data/lib/splash/webadmin/portal/controllers/commands.rb +2 -0
  37. data/lib/splash/webadmin/portal/controllers/documentation.rb +2 -0
  38. data/lib/splash/webadmin/portal/controllers/home.rb +24 -0
  39. data/lib/splash/webadmin/portal/controllers/logs.rb +57 -1
  40. data/lib/splash/webadmin/portal/controllers/processes.rb +61 -3
  41. data/lib/splash/webadmin/portal/controllers/proxy.rb +12 -3
  42. data/lib/splash/webadmin/portal/controllers/restclient.rb +6 -1
  43. data/lib/splash/webadmin/portal/controllers/sequences.rb +2 -0
  44. data/lib/splash/webadmin/portal/public/css/ultragreen.css +6 -0
  45. data/lib/splash/webadmin/portal/public/favicon.ico +0 -0
  46. data/lib/splash/webadmin/portal/views/commands.slim +1 -1
  47. data/lib/splash/webadmin/portal/views/documentation.slim +1 -1
  48. data/lib/splash/webadmin/portal/views/home.slim +53 -9
  49. data/lib/splash/webadmin/portal/views/layout.slim +2 -2
  50. data/lib/splash/webadmin/portal/views/log_form.slim +24 -0
  51. data/lib/splash/webadmin/portal/views/log_history.slim +24 -0
  52. data/lib/splash/webadmin/portal/views/logs.slim +93 -21
  53. data/lib/splash/webadmin/portal/views/nav.slim +1 -1
  54. data/lib/splash/webadmin/portal/views/not_found.slim +1 -1
  55. data/lib/splash/webadmin/portal/views/process_form.slim +21 -0
  56. data/lib/splash/webadmin/portal/views/process_history.slim +24 -0
  57. data/lib/splash/webadmin/portal/views/processes.slim +73 -3
  58. data/lib/splash/webadmin/portal/views/proxy.slim +5 -2
  59. data/lib/splash/webadmin/portal/views/restclient.slim +7 -4
  60. data/lib/splash/webadmin/portal/views/restclient_result.slim +24 -20
  61. data/lib/splash/webadmin/portal/views/sequences.slim +1 -1
  62. data/prometheus-splash.gemspec +7 -4
  63. data/ultragreen_roodi_coding_convention.yml +4 -4
  64. metadata +71 -8
@@ -4,56 +4,71 @@
4
4
 
5
5
  WebAdminApp.get '/api/logs/list.?:format?' do
6
6
  log = get_logger
7
+ list = {}
7
8
  format = (params[:format])? format_by_extensions(params[:format]) : format_by_extensions('json')
8
- log.call "api : logs, verb : GET, route : list, format : #{format}"
9
+ log.call "API : logs, verb : GET, route : list, format : #{format}"
9
10
  logs_recordset = get_config.logs
10
- obj = splash_return case: :quiet_exit, :more => "logses list"
11
- obj[:data] = logs_recordset
11
+ list = splash_return case: :quiet_exit, :more => "logs list"
12
+ list[:data] = logs_recordset
12
13
  content_type format
13
- format_response(obj, (params[:format])? format_by_extensions(params[:format]): request.accept.first)
14
+ format_response(list, (params[:format])? format_by_extensions(params[:format]): request.accept.first)
14
15
  end
15
16
 
16
17
  WebAdminApp.get '/api/logs/show/:name.?:format?' do
17
18
  log = get_logger
18
19
  format = (params[:format])? format_by_extensions(params[:format]) : format_by_extensions('json')
19
- log.call "api : logs, verb : GET, route : show, item : #{params[:name]} , format : #{format}"
20
+ log.call "API : logs, verb : GET, route : show, item : #{params[:name]} , format : #{format}"
20
21
  logs_recordset = get_config.logs.select{|item| item[:label] == params[:name].to_sym }
22
+ show = {}
21
23
  unless logs_recordset.empty? then
22
24
  record = logs_recordset.first
23
- obj = splash_return case: :quiet_exit
24
- obj[:data] = record
25
+ show = splash_return case: :quiet_exit
26
+ show[:data] = record
27
+ status 201
25
28
  else
26
- obj = splash_return case: :not_found, :more => "logs not configured"
29
+ show = splash_return case: :not_found, :more => "logs not configured"
27
30
  end
28
- format_response(obj, (params[:format])? format_by_extensions(params[:format]): request.accept.first)
31
+ format_response(show, (params[:format])? format_by_extensions(params[:format]): request.accept.first)
29
32
  end
30
33
 
31
34
  WebAdminApp.post '/api/logs/analyse.?:format?' do
32
35
  log = get_logger
33
36
  format = (params[:format])? format_by_extensions(params[:format]) : format_by_extensions('json')
34
- log.call "api : logs, verb : POST, route : analyse, format : #{format}"
37
+ log.call "API : logs, verb : POST, route : analyse, format : #{format}"
35
38
  results = Splash::Logs::LogScanner::new
36
39
  results.analyse
37
40
  res = results.output
38
- obj = splash_return case: :quiet_exit, :more => "logs analyse report"
39
- obj[:data] = res
41
+ analyse = splash_return case: :quiet_exit, :more => "logs analyse report"
42
+ analyse[:data] = res
40
43
  status 201
41
44
  content_type format
42
- format_response(obj, (params[:format])? format_by_extensions(params[:format]): request.accept.first)
45
+ format_response(analyse, (params[:format])? format_by_extensions(params[:format]): request.accept.first)
43
46
  end
44
47
 
45
48
  WebAdminApp.post '/api/logs/monitor.?:format?' do
46
49
  log = get_logger
47
50
  format = (params[:format])? format_by_extensions(params[:format]) : format_by_extensions('json')
48
- log.call "api : logs, verb : POST, route : monitor, format : #{format}"
51
+ log.call "API : logs, verb : POST, route : monitor, format : #{format}"
49
52
  results = Splash::Logs::LogScanner::new
50
53
  results.analyse
51
- res = splash_return results.notify
52
- if res[:status] == :failure then
54
+ monitor = splash_return results.notify
55
+ if monitor[:status] == :failure then
53
56
  status 503
54
57
  else
55
58
  status 201
56
59
  end
57
60
  content_type format
58
- format_response(res, (params[:format])? format_by_extensions(params[:format]): request.accept.first)
61
+ format_response(monitor, (params[:format])? format_by_extensions(params[:format]): request.accept.first)
62
+ end
63
+
64
+ WebAdminApp.get '/api/logs/history/:label.?:format?' do
65
+ log = get_logger
66
+ format = (params[:format])? format_by_extensions(params[:format]) : format_by_extensions('json')
67
+ log.call "API : logs, verb : GET, route : history, format : #{format}"
68
+ record = Splash::Logs::LogsRecords::new(params[:label]).get_all_records
69
+ history = splash_return case: :quiet_exit, :more => "log monitoring history"
70
+ history[:data] = record
71
+ content_type format
72
+ status 201
73
+ format_response(history, (params[:format])? format_by_extensions(params[:format]): request.accept.first)
59
74
  end
@@ -2,10 +2,10 @@
2
2
 
3
3
 
4
4
 
5
- WebAdminApp.get '/api/process/list.?:format?' do
5
+ WebAdminApp.get '/api/processes/list.?:format?' do
6
6
  log = get_logger
7
7
  format = (params[:format])? format_by_extensions(params[:format]) : format_by_extensions('json')
8
- log.call "api : process, verb : GET, route : list, format : #{format}"
8
+ log.call "API : processes, verb : GET, route : list, format : #{format}"
9
9
  process_recordset = get_config.processes
10
10
  obj = splash_return case: :quiet_exit, :more => "Processes list"
11
11
  obj[:data] = process_recordset
@@ -13,11 +13,11 @@ WebAdminApp.get '/api/process/list.?:format?' do
13
13
  format_response(obj, (params[:format])? format_by_extensions(params[:format]): request.accept.first)
14
14
  end
15
15
 
16
- WebAdminApp.get '/api/process/show/:name.?:format?' do
16
+ WebAdminApp.get '/api/processes/show/:name.?:format?' do
17
17
  log = get_logger
18
18
  format = (params[:format])? format_by_extensions(params[:format]) : format_by_extensions('json')
19
- log.call "api : process, verb : GET, route : show, item : #{params[:name]} , format : #{format}"
20
- process_recordset = get_config.processes.select{|item| item[:process] == params[:name] }
19
+ log.call "API : processes, verb : GET, route : show, item : #{params[:name]} , format : #{format}"
20
+ process_recordset = get_config.processes.select{|item| item[:process] == params[:name].to_sym }
21
21
  unless process_recordset.empty? then
22
22
  record = process_recordset.first
23
23
  obj = splash_return case: :quiet_exit
@@ -29,10 +29,10 @@ WebAdminApp.get '/api/process/show/:name.?:format?' do
29
29
  format_response(obj, (params[:format])? format_by_extensions(params[:format]): request.accept.first)
30
30
  end
31
31
 
32
- WebAdminApp.post '/api/process/analyse.?:format?' do
32
+ WebAdminApp.post '/api/processes/analyse.?:format?' do
33
33
  log = get_logger
34
34
  format = (params[:format])? format_by_extensions(params[:format]) : format_by_extensions('json')
35
- log.call "api : process, verb : POST, route : analyse, format : #{format}"
35
+ log.call "API : processes, verb : POST, route : analyse, format : #{format}"
36
36
  results = Splash::Processes::ProcessScanner::new
37
37
  results.analyse
38
38
  res = results.output
@@ -43,10 +43,10 @@ WebAdminApp.post '/api/process/analyse.?:format?' do
43
43
  format_response(obj, (params[:format])? format_by_extensions(params[:format]): request.accept.first)
44
44
  end
45
45
 
46
- WebAdminApp.post '/api/process/monitor.?:format?' do
46
+ WebAdminApp.post '/api/processes/monitor.?:format?' do
47
47
  log = get_logger
48
48
  format = (params[:format])? format_by_extensions(params[:format]) : format_by_extensions('json')
49
- log.call "api : process, verb : POST, route : monitor, format : #{format}"
49
+ log.call "API : processes, verb : POST, route : monitor, format : #{format}"
50
50
  results = Splash::Processes::ProcessScanner::new
51
51
  results.analyse
52
52
  res = splash_return results.notify
@@ -58,3 +58,15 @@ WebAdminApp.post '/api/process/monitor.?:format?' do
58
58
  content_type format
59
59
  format_response(res, (params[:format])? format_by_extensions(params[:format]): request.accept.first)
60
60
  end
61
+
62
+ WebAdminApp.get '/api/processes/history/:process.?:format?' do
63
+ log = get_logger
64
+ format = (params[:format])? format_by_extensions(params[:format]) : format_by_extensions('json')
65
+ log.call "API : processes, verb : GET, route : history, format : #{format}"
66
+ record = Splash::Processes::ProcessRecords::new(params[:process]).get_all_records
67
+ history = splash_return case: :quiet_exit, :more => "Proces monitoring history"
68
+ history[:data] = record
69
+ content_type format
70
+ status 201
71
+ format_response(history, (params[:format])? format_by_extensions(params[:format]): request.accept.first)
72
+ end
@@ -5,7 +5,7 @@
5
5
  WebAdminApp.get '/api/sequences/list.?:format?' do
6
6
  log = get_logger
7
7
  format = (params[:format])? format_by_extensions(params[:format]) : format_by_extensions('json')
8
- log.call "api : sequences, verb : GET, route : list, format : #{format}"
8
+ log.call "API : sequences, verb : GET, route : list, format : #{format}"
9
9
  obj = splash_return case: :quiet_exit, :more => "Sequences list"
10
10
  obj[:data] = get_config.sequences
11
11
  content_type format
@@ -15,7 +15,7 @@ WebAdminApp.get '/api/sequences/list.?:format?' do
15
15
  WebAdminApp.get '/api/sequences/show/:name.?:format?' do
16
16
  log = get_logger
17
17
  format = (params[:format])? format_by_extensions(params[:format]) : format_by_extensions('json')
18
- log.call "api : sequences, verb : GET, route : show, item : #{params[:name]} , format : #{format}"
18
+ log.call "API : sequences, verb : GET, route : show, item : #{params[:name]} , format : #{format}"
19
19
  sequences_recordset = get_config.sequences[params[:name].to_sym]
20
20
  unless sequences_recordset.nil? then
21
21
  obj = splash_return case: :quiet_exit
@@ -6,6 +6,9 @@ class WebAdminApp < Sinatra::Base
6
6
  include Splash::Helpers
7
7
  include Splash::Exiter
8
8
  include Splash::Loggers
9
+ include Splash::Daemon::Controller
10
+ include Splash::Logs
11
+ include Splash::Processes
9
12
 
10
13
  set :server, 'thin'
11
14
  set :port, get_config.webadmin_port
@@ -1,5 +1,7 @@
1
1
  WebAdminApp.get '/commands' do
2
2
  get_menu 2
3
+ log = get_logger
4
+ log.call "WEB : commands, verb : GET, controller : /commands"
3
5
  url = "http://#{get_config.webadmin_ip}:#{get_config.webadmin_port}/api/commands/list.yml"
4
6
  raw = RestClient::Request.execute(method: 'GET', url: url,timeout: 10)
5
7
  @data = YAML::load(raw)[:data]
@@ -1,5 +1,7 @@
1
1
  WebAdminApp.get '/documentation' do
2
2
  get_menu 6
3
+ log = get_logger
4
+ log.call "WEB : documentation, verb : GET, controller : /documentation"
3
5
  filename = search_file_in_gem("prometheus-splash","README.md")
4
6
  @data = Kramdown::Document.new(File::readlines(filename).join).to_html
5
7
  slim :documentation, :format => :html
@@ -1,12 +1,36 @@
1
1
  WebAdminApp.get '/' do
2
+ log = get_logger
3
+ log.call "WEB : BASE, verb : GET, controller : /"
2
4
  get_menu -1
3
5
  url = "http://#{get_config.webadmin_ip}:#{get_config.webadmin_port}/api/config/full.yml"
4
6
  @raw = RestClient::Request.execute(method: 'GET', url: url,timeout: 10)
5
7
  @data = YAML::load(@raw)[:data]
8
+ @status = get_processes({ :pattern => get_config.daemon_process_name}).empty?
6
9
  slim :home, :format => :html
7
10
  end
8
11
 
9
12
  WebAdminApp.get '/home' do
10
13
  get_menu 0
14
+ log = get_logger
15
+ log.call "WEB : home, verb : GET, controller : /home"
11
16
  slim :home, :format => :html
12
17
  end
18
+
19
+ WebAdminApp.get '/daemon/:action' do
20
+ content_type :text
21
+ log = get_logger
22
+ log.call "WEB : daemon, verb : GET, controller : /daemon/:action"
23
+ case params[:action]
24
+ when 'start'
25
+ startdaemon scheduling: true, purge: false
26
+ return 'start'
27
+ when 'stop'
28
+ stopdaemon
29
+ return 'stop'
30
+ when 'restart'
31
+ stopdaemon
32
+ startdaemon scheduling: true, purge: false
33
+ return 'start'
34
+ else
35
+ end
36
+ end
@@ -1,5 +1,7 @@
1
- WebAdminApp.get '/logs' do
1
+ WebAdminApp.get '/logs/?:status?/?:label?' do
2
2
  get_menu 0
3
+ log = get_logger
4
+ log.call "WEB : logs, verb : GET, controller : /logs/?:status?/?:label?"
3
5
  url = "http://#{get_config.webadmin_ip}:#{get_config.webadmin_port}/api/logs/list.yml"
4
6
  raw = RestClient::Request.execute(method: 'GET', url: url,timeout: 10)
5
7
  @data = YAML::load(raw)[:data]
@@ -7,8 +9,62 @@ WebAdminApp.get '/logs' do
7
9
  raw = RestClient::Request.execute(method: 'POST', url: url,timeout: 10)
8
10
  prov = YAML::load(raw)[:data]
9
11
  @result = {}
12
+ @log_failed = params[:label] if params[:status] == 'failure'
13
+ @log_saved = params[:label] if params[:status] == 'success'
10
14
  prov.each {|item|
11
15
  @result[item[:label]] = item
12
16
  }
13
17
  slim :logs, :format => :html
14
18
  end
19
+
20
+
21
+ WebAdminApp.get '/add_modify_log/?:label?' do
22
+ get_menu 0
23
+ log = get_logger
24
+ log.call "WEB : logs, verb : GET, controller : /add_modify_log/?:label?"
25
+ @data = {}
26
+ if params[:label] then
27
+ url = "http://#{get_config.webadmin_ip}:#{get_config.webadmin_port}/api/logs/show/#{params[:label].to_s}.yml"
28
+ raw = RestClient::Request.execute(method: 'GET', url: url,timeout: 10)
29
+ res = YAML::load(raw)
30
+ @data = res[:data] if res[:status] == :success
31
+ @data[:old_label] = params[:label].to_s
32
+ end
33
+ slim :log_form, :format => :html
34
+ end
35
+
36
+
37
+ WebAdminApp.get '/get_log_history/:label' do
38
+ get_menu 0
39
+ log = get_logger
40
+ log.call "WEB : logs, verb : GET, controller : /get_log_history/:label"
41
+ @data = {}
42
+ url = "http://#{get_config.webadmin_ip}:#{get_config.webadmin_port}/api/logs/history/#{params[:label].to_s}.yml"
43
+ raw = RestClient::Request.execute(method: 'GET', url: url,timeout: 10)
44
+ res = YAML::load(raw)
45
+ @data = res[:data] if res[:status] == :success
46
+ @label = params[:label].to_s
47
+ slim :log_history, :format => :html
48
+ end
49
+
50
+ WebAdminApp.post '/save_log' do
51
+ get_menu 0
52
+ log = get_logger
53
+ log.call "WEB : logs, verb : POST, controller : /save_log/?:label?"
54
+ data = {}
55
+ data[:log] = params[:log]
56
+ data[:pattern] = params[:pattern]
57
+ data[:label] = params[:label].to_sym
58
+ if params[:update] then
59
+ url = "http://#{get_config.webadmin_ip}:#{get_config.webadmin_port}/api/config/deletelog/#{params[:old_label]}"
60
+ raw = RestClient::Request.execute(method: 'DELETE', url: url,timeout: 10)
61
+ end
62
+ url = "http://#{get_config.webadmin_ip}:#{get_config.webadmin_port}/api/config/addlog.yml"
63
+ raw = RestClient::Request.execute(method: 'POST', url: url,timeout: 10, payload: data.to_yaml)
64
+ res = YAML::load(raw)
65
+ if res[:status] == :success then
66
+ redirect "/logs/success/#{params[:label].to_s}"
67
+ else
68
+ redirect "/logs/failure/#{params[:label].to_s}"
69
+ end
70
+ end
@@ -1,14 +1,72 @@
1
- WebAdminApp.get '/processes' do
1
+ WebAdminApp.get '/processes/?:status?/?:process?' do
2
2
  get_menu 1
3
- url = "http://#{get_config.webadmin_ip}:#{get_config.webadmin_port}/api/process/list.yml"
3
+ log = get_logger
4
+ log.call "WEB : processes, verb : GET, controller : /processes/?:status?/?:process?"
5
+ url = "http://#{get_config.webadmin_ip}:#{get_config.webadmin_port}/api/processes/list.yml"
4
6
  raw = RestClient::Request.execute(method: 'GET', url: url,timeout: 10)
5
7
  @data = YAML::load(raw)[:data]
6
- url = "http://#{get_config.webadmin_ip}:#{get_config.webadmin_port}/api/process/analyse.yml"
8
+ url = "http://#{get_config.webadmin_ip}:#{get_config.webadmin_port}/api/processes/analyse.yml"
7
9
  raw = RestClient::Request.execute(method: 'POST', url: url,timeout: 10)
8
10
  prov = YAML::load(raw)[:data]
9
11
  @result = {}
12
+ @process_failed = params[:process] if params[:status] == 'failure'
13
+ @process_saved = params[:process] if params[:status] == 'success'
10
14
  prov.each {|item|
11
15
  @result[item[:process]] = item
12
16
  }
13
17
  slim :processes, :format => :html
14
18
  end
19
+
20
+ WebAdminApp.get '/add_modify_process/?:process?' do
21
+ get_menu 1
22
+ log = get_logger
23
+ log.call "WEB : processes, verb : GET, controller : /add_modify_process/?:process?"
24
+ @data = {}
25
+ if params[:process] then
26
+ url = "http://#{get_config.webadmin_ip}:#{get_config.webadmin_port}/api/processes/show/#{params[:process].to_s}.yml"
27
+ raw = RestClient::Request.execute(method: 'GET', url: url,timeout: 10)
28
+ res = YAML::load(raw)
29
+ @data = res[:data] if res[:status] == :success
30
+ if @data[:patterns].class == Array then
31
+ prov = @data[:patterns].join('|')
32
+ @data[:patterns] = prov
33
+ end
34
+ @data[:old_process] = params[:process].to_s
35
+ end
36
+ slim :process_form, :format => :html
37
+ end
38
+
39
+
40
+ WebAdminApp.get '/get_process_history/:process' do
41
+ get_menu 1
42
+ log = get_logger
43
+ log.call "WEB : processes, verb : GET, controller : /get_process_history/:process"
44
+ @data = {}
45
+ url = "http://#{get_config.webadmin_ip}:#{get_config.webadmin_port}/api/processes/history/#{params[:process].to_s}.yml"
46
+ raw = RestClient::Request.execute(method: 'GET', url: url,timeout: 10)
47
+ res = YAML::load(raw)
48
+ @data = res[:data] if res[:status] == :success
49
+ @process = params[:process].to_s
50
+ slim :process_history, :format => :html
51
+ end
52
+
53
+ WebAdminApp.post '/save_process' do
54
+ get_menu 1
55
+ log = get_logger
56
+ log.call "WEB : processes, verb : POST, controller : /save_process/?:process?"
57
+ data = {}
58
+ data[:patterns] = params[:patterns].split('|')
59
+ data[:process] = params[:process].to_sym
60
+ if params[:update] then
61
+ url = "http://#{get_config.webadmin_ip}:#{get_config.webadmin_port}/api/config/deleteprocess/#{params[:old_process]}"
62
+ raw = RestClient::Request.execute(method: 'DELETE', url: url,timeout: 10)
63
+ end
64
+ url = "http://#{get_config.webadmin_ip}:#{get_config.webadmin_port}/api/config/addprocess.yml"
65
+ raw = RestClient::Request.execute(method: 'POST', url: url,timeout: 10, payload: data.to_yaml)
66
+ res = YAML::load(raw)
67
+ if res[:status] == :success then
68
+ redirect "/processes/success/#{params[:process].to_s}"
69
+ else
70
+ redirect "/processes/failure/#{params[:process].to_s}"
71
+ end
72
+ end
@@ -1,27 +1,36 @@
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
 
14
20
  WebAdminApp.get '/proxy/links' do
15
21
  get_menu 5
16
-
22
+ log = get_logger
23
+ log.call "WEB : proxy, verb : GET, controller : /proxy/links"
17
24
  config = get_config
18
25
  if config.webadmin_proxy == true then
19
26
  @proxy = true
20
27
  @pushgateway_url = "http://#{config.webadmin_ip}:#{config.webadmin_port}/pushgateway"
21
28
  @prometheus_url = "http://#{config.webadmin_ip}:#{config.webadmin_port}/prometheus"
29
+ @alertmanager_url = "http://#{config.webadmin_ip}:#{config.webadmin_port}/prometheus"
22
30
  else
23
31
  @proxy = false
24
32
  @pushgateway_url = "#{config.prometheus_pushgateway_url}"
33
+ @alertmanager_url = "#{config.prometheus_alertmanager_url}"
25
34
  @prometheus_url = "#{config.prometheus_url}"
26
35
  end
27
36
  slim :proxy, :format => :html
@@ -1,14 +1,19 @@
1
1
  WebAdminApp.get '/restclient' do
2
+ log = get_logger
3
+ log.call "WEB : restclient, verb : GET, controller : /restclient"
2
4
  get_menu 4
3
5
  slim :restclient, :format => :html
4
6
  end
5
7
 
6
8
  WebAdminApp.post '/restclient/query' do
9
+ log = get_logger
10
+ log.call "WEB : processes, verb : GET, controller : /restclient/query"
7
11
  @method = params[:method]
8
12
  @url = params[:url]
13
+ @body = params[:body]
9
14
  @notfound = false
10
15
  begin
11
- @result = RestClient::Request.execute(method: @method.to_sym, url: @url,timeout: 10)
16
+ @result = RestClient::Request.execute(method: @method.to_sym, url: @url,timeout: 10, payload: @body)
12
17
  rescue SocketError
13
18
  @result = false
14
19
  rescue RestClient::NotFound => e