PostgreSQL Server Exporter

Tier: Free, Premium, Ultimate
Offering: Self-managed

PostgreSQL Server Exporter를 사용하면 다양한 PostgreSQL 지표를 내보낼 수 있습니다.

자체 컴파일 설치의 경우 직접 설치하고 구성해야 합니다.

PostgreSQL Server Exporter를 활성화하려면:

  1. Prometheus를 활성화합니다.
  2. /etc/gitlab/gitlab.rb를 편집하고 postgres_exporter를 활성화합니다:

    postgres_exporter['enable'] = true
    

    PostgreSQL Server Exporter가 별도 노드에 구성된 경우 로컬 주소가 trust_auth_cidr_addresses나열되어 있는지 확인하거나 익스포터가 데이터베이스에 연결할 수 없습니다.

  3. 파일을 저장하고 변경 사항이 적용되려면 GitLab을 다시 구성합니다.

Prometheus는 localhost:9187에서 노출된 PostgreSQL Server Exporter에서 성능 데이터를 수집하기 시작합니다.

고급 구성

대부분의 경우, PostgreSQL Server Exporter는 기본값으로 작동하며 아무것도 변경할 필요가 없습니다. PostgreSQL Server Exporter를 더 사용자 정의하려면 다음 구성 옵션을 사용하세요:

  1. /etc/gitlab/gitlab.rb를 편집합니다:

    # 연결할 데이터베이스의 이름.
    postgres_exporter['dbname'] = 'pgbouncer'
    # 로그인할 사용자.
    postgres_exporter['user'] = 'gitlab-psql'
    # 사용자의 암호.
    postgres_exporter['password'] = ''
    # 연결할 호스트. '/'로 시작하는 값은 Unix 도메인 소켓용입니다 (기본값은 'localhost').
    postgres_exporter['host'] = 'localhost'
    # 바인딩할 포트 (기본값은 '5432').
    postgres_exporter['port'] = 5432
    # SSL을 사용할지 여부. 유효한 옵션은:
    #   'disable' (SSL 미사용),
    #   'require' (항상 SSL 사용 및 확인 건너뛰기, 이 값이 기본값임),
    #   'verify-ca' (항상 SSL 사용하고, 서버에 의해 제시된 인증서가 신뢰할 수 있는 CA에 의해 서명되었는지 확인),
    #   'verify-full' (항상 SSL 사용하고, 서버에 의해 제시된 인증서가 신뢰할 수 있는 CA에 의해 서명되었으며, 서버 호스트 이름이
    #   인증서에 있는 것과 일치하는지 확인).
    postgres_exporter['sslmode'] = 'require'
    # 제공되지 않은 경우 사용할 애플리케이션 이름.
    postgres_exporter['fallback_application_name'] = ''
    # 연결을 위한 최대 대기 시간(초 단위). 0 또는 지정되지 않은 경우 무제한으로 대기합니다.
    postgres_exporter['connect_timeout'] = ''
    # 인증서 파일 위치. 파일은 PEM 인코딩된 데이터를 포함해야 합니다.
    postgres_exporter['sslcert'] = 'ssl.crt'
    # 키 파일 위치. 파일은 PEM 인코딩된 데이터를 포함해야 합니다.
    postgres_exporter['sslkey'] = 'ssl.key'
    # 루트 인증서 파일의 위치. 파일은 PEM 인코딩된 데이터를 포함해야 합니다.
    postgres_exporter['sslrootcert'] = 'ssl-root.crt'
    
  2. 파일을 저장하고 변경 사항이 적용되려면 GitLab을 다시 구성합니다.