nginx_scrape_config

in files/gitlab-cookbooks/monitoring/libraries/prometheus.rb [492:531]


    def nginx_scrape_config
      
      return unless Services.enabled?('nginx') || service_discovery

      if service_discovery
        scrape_config = {
          'job_name' => 'nginx',
          'consul_sd_configs' => [{ 'services' => ['nginx'] }]
        }
      else
        default_config = Gitlab['node']['gitlab']['nginx']['status'].to_hash
        user_config = Gitlab['nginx']

        if user_config['status']
          
          return if user_config['status'].key?('enable') && user_config['status']['enable'] == false
          
          return if user_config['status'].key?('vts_enable') && user_config['status']['vts_enable'] == false

          listen_address = user_config['status']['fqdn'] || default_config['fqdn']
          port = user_config['status']['port'] || default_config['port']
        else
          listen_address = default_config['fqdn']
          port = default_config['port']
        end

        target = "#{listen_address}:#{port}"

        scrape_config = {
          'job_name' => 'nginx',
          'static_configs' => [
            'targets' => [target],
          ],
        }
      end

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