46 lines
1.2 KiB
Ruby
46 lines
1.2 KiB
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
module Gitlab
|
||
|
module Prometheus
|
||
|
class Internal
|
||
|
def self.uri
|
||
|
return if listen_address.blank?
|
||
|
|
||
|
if listen_address.starts_with?('0.0.0.0:')
|
||
|
# 0.0.0.0:9090
|
||
|
port = ':' + listen_address.split(':').second
|
||
|
'http://localhost' + port
|
||
|
|
||
|
elsif listen_address.starts_with?(':')
|
||
|
# :9090
|
||
|
'http://localhost' + listen_address
|
||
|
|
||
|
elsif listen_address.starts_with?('http')
|
||
|
# https://localhost:9090
|
||
|
listen_address
|
||
|
|
||
|
else
|
||
|
# localhost:9090
|
||
|
'http://' + listen_address
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def self.listen_address
|
||
|
Gitlab.config.prometheus.listen_address.to_s if Gitlab.config.prometheus
|
||
|
rescue Settingslogic::MissingSetting
|
||
|
Gitlab::AppLogger.error('Prometheus listen_address is not present in config/gitlab.yml')
|
||
|
|
||
|
nil
|
||
|
end
|
||
|
|
||
|
def self.prometheus_enabled?
|
||
|
Gitlab.config.prometheus.enable if Gitlab.config.prometheus
|
||
|
rescue Settingslogic::MissingSetting
|
||
|
Gitlab::AppLogger.error('prometheus.enable is not present in config/gitlab.yml')
|
||
|
|
||
|
false
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|