in files/gitlab-cookbooks/monitoring/libraries/prometheus.rb [272:314]
def gitlab_exporter_scrape_configs
return unless Services.enabled?('gitlab_exporter')
Gitlab['gitlab_exporter']['prometheus_scrape_scheme'] ||= 'https' if Gitlab['gitlab_exporter']['tls_enabled']
default_config = Gitlab['node']['monitoring']['gitlab_exporter'].to_hash
user_config = Gitlab['gitlab_exporter']
listen_address = user_config['listen_address'] || default_config['listen_address']
listen_port = user_config['listen_port'] || default_config['listen_port']
prometheus_target = [listen_address, listen_port].join(':')
extra_config = tls_config(default_config, user_config, listen_key: 'listen_address')
database = {
'job_name' => 'gitlab_exporter_database',
'metrics_path' => '/database',
'static_configs' => [
'targets' => [prometheus_target],
]
}.merge(extra_config)
sidekiq = {
'job_name' => 'gitlab_exporter_sidekiq',
'metrics_path' => '/sidekiq',
'static_configs' => [
'targets' => [prometheus_target],
]
}.merge(extra_config)
ruby = {
'job_name' => 'gitlab_exporter_ruby',
'metrics_path' => '/ruby',
'static_configs' => [
'targets' => [prometheus_target],
]
}.merge(extra_config)
default_scrape_configs = [] << database << sidekiq << ruby << Gitlab['prometheus']['scrape_configs']
Gitlab['prometheus']['scrape_configs'] = default_scrape_configs.compact.flatten
end