本页面介绍了如何安装 AlloyDB Omni Web 用户界面,以便监控自行管理的数据库集群的运行状况和配置。Web 界面提供以下功能:
| 功能 | 说明 | 容器(独立) | Kubernetes | RPM (Linux) | RPM 编排器 |
|---|---|---|---|---|---|
| 集群选择 | 一个连接界面,可让您建立、注册和保存连接凭据,以便访问目标集群。 | 支持 | 支持 | 支持 | 支持 |
| 集群概览 | 显示所有活跃集群实例和遥测图表的观测信息中心。 | 支持 | 支持 | 支持 | 支持 |
| 数据库 | 概览页面,显示集群上的目录表和数据库大小。 | 支持 | 支持 | 支持 | 支持 |
| 列式引擎 | 分析查询的配置设置和扫描执行统计信息。 | 支持 | 支持 | 支持 | 支持 |
| 数据库标志 | 观察板,显示与默认设置不同的有效标志和配置。 | 支持 | 支持 | 支持 | 支持 |
| Query Insights | 遥测和查询性能信息中心,显示结构化直方图和慢查询列表。 | 支持 | 支持 | 支持 | 支持 |
| 系统数据分析 | 显示 CPU 消耗、内存占用和磁盘 I/O 的遥测图表。 | 不支持(仅限独立容器) | 支持 | 支持 | 支持 |
准备工作
在安装 Web 界面之前,请务必执行以下操作:
获取部署所需的映像,并下载和安装 AlloyDB Omni,以便使用 Web 界面: 使用容器编排器安装 AlloyDB Omni。
-
Web 界面依赖于一个受限用户账号,该账号具有用于访问数据库的
pg_monitor角色。在psql会话中运行以下命令,在每个集群上配置此用户:CREATE ROLE alloydbui WITH LOGIN PASSWORD 'PASSWORD'; GRANT pg_monitor TO alloydbui WITH INHERIT TRUE; 配置 Prometheus。
如需在概览和系统分析洞见页面上查看图表数据(包括 CPU 使用率),请安装并配置 Prometheus。 AlloyDB Omni Kubernetes operator 会自动运行一个监控代理,该代理会在端口
9187上导出与 Prometheus 兼容的指标。不过,如需在 Web 界面中查看时序图表,您必须安装并配置 Prometheus 服务器来爬取这些指标。如需详细了解指标端点,请参阅使用 Prometheus API 查看指标。如需查看将 Prometheus 配置为抓取端口9187的示例,请参阅选择并安装监控工具。
可选步骤
如需启用其他 Web 界面功能,请执行以下操作:
Query Insights 设置
如需使用 Query Insights 功能,请启用
pg_stat_statements扩展程序。 在psql会话中,运行以下命令来配置库:ALTER SYSTEM SET shared_preload_libraries=google_columnar_engine,google_job_scheduler,google_storage,google_db_advisor,pg_stat_statements; ALTER SYSTEM SET pg_stat_statements.max = 10000; ALTER SYSTEM SET pg_stat_statements.track_utility = on; ALTER SYSTEM SET track_io_timing = on;然后,在每个数据库中分别执行以下命令以创建扩展程序:
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;重启数据库,使这些更改生效。如果您打算启用列式引擎,请等到该设置完成后再重启。
列式引擎设置
如需在 Web 界面中访问列式引擎数据,请按照列式引擎概览中的说明配置引擎。
AlloyDB AI 设置
如需在 Web 界面中使用 AlloyDB AI 功能,请授予以下权限:
- 如需填充向量索引,请向
alloydbui用户授予对pg_stat_ann_indexes的SELECT权限。 - 如需显示向量列,请向
alloydbui用户授予对表的SELECT权限。
- 如需填充向量索引,请向
安装 Web 界面
您可以在任何节点上安装和运行 Web 界面;Web 界面不需要专用节点。完整安装需要大约 250 MB 的磁盘可用空间。获取部署所需的映像并下载 AlloyDB Omni 后,您就可以安装并运行 Web 界面了。
使用 Kubernetes 清单安装 Web 界面
如需在 Pod 重启后保留连接详情,请创建
PersistentVolumeClaim(PVC) 清单并将其应用于集群:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: alloydb-omni-ui-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 256Mi如需将网页界面部署为 Pod,请应用以下 Kubernetes 清单。
--- # This is a secret to protect web UI data on disk. # It is not used to connect to the DB. apiVersion: v1 kind: Secret metadata: name: alloydb-omni-ui-secret type: Opaque data: ALLOYDB_OMNI_UI_KEYSTORE: BASE64-ENCODED-PASSWORD --- apiVersion: v1 kind: Pod metadata: name: alloydb-omni-ui-pod labels: app: alloydb-omni-ui spec: containers: - name: alloydb-omni-ui image: ALLOYDB_OMNI_UI_IMAGE_TAG # --- Container Port --- ports: - containerPort: 9080 # --- Environment Variables --- env: - name: ALLOYDB_OMNI_UI_KEYSTORE valueFrom: secretKeyRef: name: alloydb-omni-ui-secret key: ALLOYDB_OMNI_UI_KEYSTORE # --- Resources --- resources: requests: memory: "256Mi" cpu: "500m" limits: memory: "512Mi" cpu: "1" # --- Optional Configurations --- # --- Volume Mounts --- volumeMounts: - name: ui-config-storage mountPath: /root/.config/alloydb-omni-ui # --- Optional Volumes Configuration --- volumes: - name: ui-config-storage persistentVolumeClaim: claimName: alloydb-omni-ui-pvc
启动 Web 界面
Web 界面使用 Java 密钥库来保护用于加密连接数据的 256 位 AES 密钥。启动 Web 界面时,请指定包含密码的环境变量。
您可以通过访问作为 Pod 部署的 Web 界面来启动 Web 界面,也可以使用端口转发将外部 Web 界面实例连接到 Kubernetes 集群。
访问部署为 Pod 的 Web 界面
如果您使用清单将 Web 界面部署为 Kubernetes Pod,请启用端口转发,以便在本地访问 Web 界面:
kubectl port-forward pod/alloydb-omni-ui-pod 9080:9080
为外部 Web 界面实例转发集群端口
如果您在 Kubernetes 集群外部运行 Web 界面(例如,使用容器或 RPM),请启用端口转发,以便将流量转发到运行数据库和 Prometheus 的 Pod:
kubectl port-forward --address 0.0.0.0 pod/DB_POD 5432:5432
kubectl port-forward --address 0.0.0.0 pod/PROMETHEUS_POD 9090:9090
进行以下替换:
DB_POD:数据库 Pod 的名称。PROMETHEUS_POD:Prometheus pod 的名称。
打开 Web 界面
如需查看 Web 界面,请在浏览器中打开 http://HOST:9080。
将 HOST 替换为安装了 Web 界面的节点的主机名或 IP 地址。
- 如果您使用可选的
ALLOYDB_OMNI_BASE_PATH环境变量配置了自定义基本路径(例如,在现有反向代理后面托管时),则必须将该路径附加到网址:http://HOST:9080/BASE_PATH。 您可以配置不带前导斜杠的基本路径,例如
ALLOYDB_OMNI_BASE_PATH=PATH。以下所有选项都是有效的替代方案:/test/test/test/test
限制
Web 界面具有以下限制:
连接到 AlloyDB Omni 独立容器部署时,概览图表和系统数据分析不可用,因为独立容器部署不提供容器化监控代理。所有其他非图表功能和指标仍可正常使用。
如需查看给定表的列式引擎数据,
alloydbui用户需要对该表至少拥有一项权限,例如SELECT。如需查看向量索引数据,
alloydbui用户需要对pg_stat_ann_indexes拥有SELECT权限。如需查看给定表的向量列数据,
alloydbui用户需要对该表拥有SELECT权限。
最佳实践和注意事项
在安装和配置 Web 界面时,请遵循以下最佳实践和注意事项:
- 密钥库密码保护:Web 界面会生成 Java 密钥库,以保护 256 位 AES 数据库加密密钥。为
ALLOYDB_OMNI_UI_KEYSTORE使用安全系数高的口令。如果您转移配置文件并使用不匹配的密钥库密码进行连接,则会发生解密错误。 - Prometheus 指标抓取:将抓取工具配置为以标准时间间隔(15 秒到 30 秒)轮询目标实例,以便在不使数据库节点过载的情况下查询统计信息。
后续步骤