diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-05-09 18:08:30 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-05-09 18:08:30 +0000 |
commit | b031a57ae71b1fc61782b891d2a31852ab87e7f3 (patch) | |
tree | d0efe76fa1c5b33a67a66f47151652a1993c85e2 /metrics_server | |
parent | fb19b392e2331e7663c3d65c05aeb81a1db3630d (diff) | |
download | gitlab-ce-b031a57ae71b1fc61782b891d2a31852ab87e7f3.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'metrics_server')
-rw-r--r-- | metrics_server/metrics_server.rb | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/metrics_server/metrics_server.rb b/metrics_server/metrics_server.rb index 309334cd899..a5c448b5105 100644 --- a/metrics_server/metrics_server.rb +++ b/metrics_server/metrics_server.rb @@ -38,7 +38,8 @@ class MetricsServer # rubocop:disable Gitlab/NamespacedClass def spawn(target, metrics_dir:, **options) return spawn_ruby_server(target, metrics_dir: metrics_dir, **options) unless new_metrics_server? - settings = settings_for(target) + name = settings_key(target) + settings = ::Settings.monitoring[name] path = options[:path]&.then { |p| Pathname.new(p) } || Pathname.new('') cmd = path.join('gitlab-metrics-exporter').to_path env = { @@ -48,6 +49,13 @@ class MetricsServer # rubocop:disable Gitlab/NamespacedClass 'GME_SERVER_PORT' => settings['port'].to_s } + if settings['log_enabled'] + env['GME_LOG_FILE'] = File.join(Rails.root, 'log', "#{name}.log") + env['GME_LOG_LEVEL'] = 'info' + else + env['GME_LOG_LEVEL'] = 'quiet' + end + Process.spawn(env, cmd, err: $stderr, out: $stdout, pgroup: true).tap do |pid| Process.detach(pid) end @@ -102,14 +110,12 @@ class MetricsServer # rubocop:disable Gitlab/NamespacedClass raise "Target must be one of [puma,sidekiq]" unless %w(puma sidekiq).include?(target) end - def settings_for(target) - settings_key = - case target - when 'puma' then 'web_exporter' - when 'sidekiq' then 'sidekiq_exporter' - else ensure_valid_target!(target) - end - ::Settings.monitoring[settings_key] + def settings_key(target) + case target + when 'puma' then 'web_exporter' + when 'sidekiq' then 'sidekiq_exporter' + else ensure_valid_target!(target) + end end end |