sidekiq_scrape_config

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