PostgreSQL 서버 익스포터

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

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

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

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

  1. 프로메테우스를 활성화하세요.
  2. /etc/gitlab/gitlab.rb 파일을 편집하고 postgres_exporter를 활성화합니다:

    postgres_exporter['enable'] = true
    

    만약 PostgreSQL 서버 익스포터가 별도의 노드에 구성된 경우 로컬 주소가 데이터베이스에 연결할 수 없게 되지 않도록 trust_auth_cidr_addresses에 로컬 주소가 나열되어 있는지 확인하세요.

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

프로메테우스는 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'] = ''
    # 인증서 파일 위치. 파일은 PEM 인코딩된 데이터를 포함해야 합니다.
    postgres_exporter['sslcert'] = 'ssl.crt'
    # 키 파일 위치. 파일은 PEM 인코딩된 데이터를 포함해야 합니다.
    postgres_exporter['sslkey'] = 'ssl.key'
    # 루트 인증서 파일의 위치. 파일은 PEM 인코딩된 데이터를 포함해야 합니다.
    postgres_exporter['sslrootcert'] = 'ssl-root.crt'
    
  2. 파일을 저장하고 변경 사항이 적용되도록 GitLab을 다시 구성하세요.