gitlab_exporter_scrape_configs

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