rails_scrape_configs

in files/gitlab-cookbooks/monitoring/libraries/prometheus.rb [381:433]


    def rails_scrape_configs
      return unless WebServerHelper.enabled? || service_discovery

      webserver_service = WebServerHelper.service_name

      default_config = Gitlab['node']['gitlab'][webserver_service].to_hash
      user_config = Gitlab[webserver_service]

      if service_discovery
        scrape_config = {
          'job_name' => 'gitlab-rails',
          'metrics_path' => '/-/metrics',
          'consul_sd_configs' => [{ 'services' => ['rails'] }]
        }
      else
        if user_config['ssl_listen'] && user_config['ssl_port']
          listen_address = user_config['ssl_listen'] || default_config['ssl_listen']
          listen_port = user_config['ssl_port'] || default_config['ssl_port']
        else
          listen_address = user_config['listen'] || default_config['listen']
          listen_port = user_config['port'] || default_config['port']
        end

        prometheus_target = [listen_address, listen_port].join(':')

        scrape_config = {
          'job_name' => 'gitlab-rails',
          'metrics_path' => '/-/metrics',
          'static_configs' => [
            'targets' => [prometheus_target],
          ],
          'relabel_configs' => [
            {
              "source_labels" => ["__address__"],
              "regex" => "127.0.0.1:(.*)",
              "replacement" => "localhost:$1",
              "target_label" => "instance"
            }
          ]
        }
      end

      
      prometheus_scrape_server_name = user_config['prometheus_scrape_tls_server_name'] || default_config['prometheus_scrape_tls_server_name'] || listen_address
      prometheus_scrape_server_name = "localhost" if prometheus_scrape_server_name == "127.0.0.1"

      extra_config = tls_config(default_config, user_config, server_name: prometheus_scrape_server_name)
      scrape_config.merge!(extra_config)

      default_scrape_configs = [] << scrape_config << Gitlab['prometheus']['scrape_configs']
      Gitlab['prometheus']['scrape_configs'] = default_scrape_configs.compact.flatten
    end