用户界面

探索仪表盘并访问数据库服务

安装完成后,您在当前节点上将安装有四个模块: PGSQLINFRANODEETCD

IDNODEPGSQLINFRAETCD
110.10.10.10pg-meta-1infra-1etcd-1

其中,INFRA 模块通过浏览器提供了一个图形化管理界面,您可以直接通过这台节点上的 Nginx 80/443 端口访问。

如果您的服务需要面向互联网与办公网共享,我们建议您使用一个 域名,Pigsty 会自动为您签发 SSL 证书。

您可以直接通过以下 端口 访问 WebUI 服务(不推荐用于生产环境)。 或使用本地/公共 域名 通过 Nginx 门户 访问它们。

请注意,SSL 证书 需要与域名一起使用。

组件端口域名备注公共演示
Nginx80/443h.pigsty门户、仓库、HAProxy 管理home.pigsty.io
Grafana3000g.pigstyGrafana 仪表盘g.pgsty.com
Prometheus9058p.pigstyPrometheus Web UIp.pigsty.io
AlertManager9059a.pigsty告警管理a.pigsty.io

您可以通过以下数据库用户和相应的 PGURL 访问默认端口 5432 上的默认 PostgreSQL 数据库(meta):

psql postgres://dbuser_dba:DBUser.DBA@10.10.10.10:5432/meta      # DBA / 超级用户
psql postgres://dbuser_meta:DBUser.Meta@10.10.10.10:5432/meta    # 业务管理员用户
psql postgres://dbuser_view:DBUser.Viewer@10.10.10.10:5432/meta  # 只读查看者

PostgreSQL

个人用户开发测试使用时,可以直接使用默认超级用户和 IP:端口来访问 PostgreSQL:

数据库超级用户

默认数据库超级用户是 dbuser_dba,默认密码为 DBUser.DBA,如果修改过请使用您自己的密码。

属性配置参数
用户名dbuser_dbapg_admin_username
密码DBUser.DBApg_admin_password

命令行工具

内置的 psql CLI 已经为管理员用户(安装 Pigsty 使用的用户)配置了 .pgpass.pg_service.conf

p   # 别名:操作系统管理员用户 @ 当前节点
psql postgres://dbuser_dba:DBUser.DBA@10.10.10.10/postgres  # 替换为您的 IP 和密码

图形客户端

您可以使用您喜欢的 GUI 工具来访问数据库,Pigsty 也提供了一些 GUI 工具的内置模板。

名称描述Pigsty 支持
PgAdmin官方 PostgreSQL 管理工具内置 Docker 模板,OSS
Supabase Studio精美的第三方 PostgreSQL 管理 UI内置 Docker 模板,OSS
PgWeb轻量级基于 Web 的 PostgreSQL 客户端内置 Docker 模板,OSS
Bytebase具有良好 GUI 的模式迁移工具内置 Docker 模板,OSS
DataGrip / IntelliJ具有强大功能的专业数据库 IDE商业 / 社区版
Navicat流行的商业数据库管理工具商业版
DBeaver开源通用数据库 GUIOSS

默认设置

您可以定义业务 数据库用户配置模板 中有一些预定义的示例供您参考。

例如,默认的 meta 配置模板预定义了一个 meta 数据库:

  • 带有 Pigsty CMDB 模式(可选)
  • 预装来 timescaledb, postgis, citus, pgvector 四个业务扩展
  • 它定义了 dbuser_meta 作为具有 DDL 权限的业务管理员用户,和一个 dbuser_view 作为只读查看者用户。
pg-meta:
  hosts:
    10.10.10.10: { pg_seq: 1, pg_role: primary } # <---- 这个集群中只有一个实例,主库
  vars:
    pg_cluster: pg-meta                 # 必选参数,集群名

    pg_databases:                       # 数据库列表
      - name: meta
        baseline: cmdb.sql
        comment: "pigsty meta database"
        schemas: [pigsty]
        extensions: [ postgis, timescaledb, vector ]   # 安装了三个扩展

    pg_users:                           # 数据库用户列表
      - { name: dbuser_meta ,password: DBUser.Meta   ,pgbouncer: true ,roles: [dbrole_admin   ] ,comment: pigsty admin user }
      - { name: dbuser_view ,password: DBUser.Viewer ,pgbouncer: true ,roles: [dbrole_readonly] ,comment: read-only viewer  }

    pg_hba_rules:                       # example hba rules
      - {user: dbuser_view , db: all ,addr: infra ,auth: pwd ,title: 'allow grafana dashboard access cmdb from infra nodes'}

这意味着您也可以使用这两个用户访问 meta 数据库:

psql postgres://dbuser_meta:DBUser.Meta@10.10.10.10:5432/meta
psql postgres://dbuser_view:DBUser.Viewer@10.10.10.10:5432/meta

生产环境

要在生产环境中使用高可用 PostgreSQL 集群,您需要阅读以下文档来继续:

在这种情况下,您的流量在到达数据库之前会通过 haproxy 进行分发,并由 pgbouncer 池化。


Grafana

Grafana 是监控和可观测性平台,提供可视化面板能力,默认监听 3000 端口:

  • http://10.10.10.10:3000(替换为您的 IP)
属性配置参数
用户名admingrafana_admin_username
密码pigstygrafana_admin_password

您可以查看我们的公共演示站点来看看它是什么样子: https://g.pgsty.com

pigsty-home.jpg


域名访问

Pigsty 为 Web 组件提供了静态本地域名,您可以通过 Nginx 访问 http://g.pigsty 来使用 Grafana。 建议使用域名,因为您可以通过域名经由 Nginx 暴露所有服务,并为它们使用 SSL 证书。

配置客户端域名解析

客户端可以通过几种不同的办法来使用域名访问:

  1. 通过 DNS 服务商解析互联网域名,适用于公网可访问的系统。
  2. 通过配置内网 DNS 服务器解析记录实现内网域名解析。
  3. 修改本机的 /etc/hosts 文件添加静态解析记录。

我们建议普通用户使用第三种方式,在使用浏览器访问 Web 系统的机器上,修改 /etc/hosts (需要 sudo 权限)或 C:\Windows\System32\drivers\etc\hosts(Windows)文件,添加以下的解析记录:

<your_ip_address>  h.pigsty a.pigsty p.pigsty g.pigsty

这里的 IP 地址是安装 Pigsty 服务的 对外 IP 地址

配置服务端使用的域名

服务器端域名使用 Nginx 进行配置,如果您想要替换默认的域名,在参数 infra_portal 中填入使用的域名即可。 当您使用 http://g.pigsty 访问 Grafana 监控主页时,实际上是通过 Nginx 代理访问了 Grafana 的 WebUI:

http://g.pigsty ️-> http://10.10.10.10:80 (nginx) -> http://10.10.10.10:3000 (grafana)

使用 HTTPS 访问

Pigsty 默认会自动为本地静态域名颁发自签名 SSL 证书,但您必须在浏览器中信任自签名 CA 才不会弹窗报错。

Pigsty 默认使用自动生成的自签名的 CA 证书为 Nginx 启用 SSL,如果您希望使用 HTTPS 访问这些页面,而不弹窗提示"不安全",通常有三个选择:

  • 在您的浏览器或操作系统中信任 Pigsty 自签名的 CA 证书: files/pki/ca/ca.crt
  • 如果您使用 Chrome,可以在提示不安全的窗口键入 thisisunsafe 跳过提示
  • 您可以考虑使用 Let’s Encrypt 或其他免费的 CA 证书服务,为 Pigsty Nginx 生成正式的 SSL 证书。

Pigsty 支持使用真实域名和真正的免费 SSL 证书。只需替换 infra_portal 中的 domain 条目为你的真实域名,并使用 make cert 命令即可免费申请真实证书。