PostgreSQL 서버 익스포터

Tier: Free, Premium, Ultimate Offering: 자체 관리

PostgreSQL Server Exporter를 사용하면 다양한 PostgreSQL 메트릭을 익스포트할 수 있습니다.

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

PostgreSQL 서버 익스포터를 활성화하려면:

  1. Prometheus를 활성화하십시오.
  2. /etc/gitlab/gitlab.rb을 편집하고 postgres_exporter를 활성화하십시오.

    postgres_exporter['enable'] = true
    

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

  3. 파일을 저장하고 변경 사항이 적용되도록 GitLab을 다시 구성하십시오.

Prometheus는 localhost:9187에서 노출된 PostgreSQL 서버 익스포터에서 성능 데이터를 수집합니다.

고급 구성

대부분의 경우 PostgreSQL 서버 익스포터는 기본값으로 작동하며 아무것도 변경할 필요가 없습니다. PostgreSQL 서버 익스포터를 추가로 사용자 정의하려면 다음 구성 옵션을 사용하십시오:

  1. /etc/gitlab/gitlab.rb을 편집하십시오.

    # 연결할 데이터베이스의 이름입니다.
    postgres_exporter['dbname'] = 'pgbouncer'
    # 로그인할 사용자입니다.
    postgres_exporter['user'] = 'gitlab-psql'
    # 사용자의 비밀번호입니다.
    postgres_exporter['password'] = ''
    # 연결할 호스트입니다. '/'로 시작하는 값은 유닉스 도메인 소켓용입니다
    # (기본값은 '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'] = ''
    # Cert 파일 위치입니다. 파일은 PEM으로 인코딩된 데이터를 포함해야 합니다.
    postgres_exporter['sslcert'] = 'ssl.crt'
    # Key 파일 위치입니다. 파일은 PEM으로 인코딩된 데이터를 포함해야 합니다.
    postgres_exporter['sslkey'] = 'ssl.key'
    # 루트 인증서 파일의 위치입니다. 파일은 PEM으로 인코딩된 데이터를 포함해야 합니다.
    postgres_exporter['sslrootcert'] = 'ssl-root.crt'
    
  2. 파일을 저장하고 변경 사항이 적용되도록 GitLab을 다시 구성하십시오.