in files/gitlab-cookbooks/monitoring/libraries/prometheus.rb [338:380]
def sidekiq_scrape_config
return unless Services.enabled?('sidekiq') || service_discovery
if service_discovery
scrape_config = {
'job_name' => 'gitlab-sidekiq',
'consul_sd_configs' => [{ 'services' => ['sidekiq'] }],
}
else
default_config = Gitlab['node']['gitlab']['sidekiq'].to_hash
user_config = Gitlab['sidekiq']
return unless default_config['metrics_enabled'] || user_config['metrics_enabled']
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(':')
return if prometheus_target.empty?
scrape_config = {
'job_name' => 'gitlab-sidekiq',
'static_configs' => [
'targets' => [prometheus_target],
],
'relabel_configs' => [
{
"source_labels" => ["__address__"],
"regex" => "127.0.0.1:(.*)",
"replacement" => "localhost:$1",
"target_label" => "instance"
}
]
}
end
default_scrape_configs = [] << scrape_config << Gitlab['prometheus']['scrape_configs']
Gitlab['prometheus']['scrape_configs'] = default_scrape_configs.compact.flatten
end