PostgreSQLサーバーエクスポーター

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](../../postgresql/replication_and_failover.md#network-information) に記載されている[、エクスポートがデータベースに接続できないことを確認してください。

  3. ファイルを保存し、変更を有効にするためにGitLab を再設定します。

Prometheus はlocalhost:9187 で公開されている PostgreSQL Server Exporter からパフォーマンスデータの収集を開始します。

高度な設定

ほとんどの場合、PostgreSQL Server Exporterはデフォルトで動作しますので、何も変更する必要はありません。PostgreSQL Server Exporterをさらにカスタマイズするには、以下の設定オプションを使用してください:

  1. /etc/gitlab/gitlab.rb を編集します:

    # The name of the database to connect to.
    postgres_exporter['dbname'] = 'pgbouncer'
    # The user to sign in as.
    postgres_exporter['user'] = 'gitlab-psql'
    # The user's password.
    postgres_exporter['password'] = ''
    # The host to connect to. Values that start with '/' are for unix domain sockets
    # (default is 'localhost').
    postgres_exporter['host'] = 'localhost'
    # The port to bind to (default is '5432').
    postgres_exporter['port'] = 5432
    # Whether or not to use SSL. Valid options are:
    #   'disable' (no SSL),
    #   'require' (always use SSL and skip verification, this is the default value),
    #   'verify-ca' (always use SSL and verify that the certificate presented by
    #   the server was signed by a trusted CA),
    #   'verify-full' (always use SSL and verify that the certification presented
    #   by the server was signed by a trusted CA and the server host name matches
    #   the one in the certificate).
    postgres_exporter['sslmode'] = 'require'
    # An application_name to fall back to if one isn't provided.
    postgres_exporter['fallback_application_name'] = ''
    # Maximum wait for connection, in seconds. Zero or not specified means wait indefinitely.
    postgres_exporter['connect_timeout'] = ''
    # Cert file location. The file must contain PEM encoded data.
    postgres_exporter['sslcert'] = 'ssl.crt'
    # Key file location. The file must contain PEM encoded data.
    postgres_exporter['sslkey'] = 'ssl.key'
    # The location of the root certificate file. The file must contain PEM encoded data.
    postgres_exporter['sslrootcert'] = 'ssl-root.crt'
    
  2. ファイルを保存し、変更を有効にするためにGitLab を再設定してください。