このページでは、AlloyDB Omni ウェブ ユーザー インターフェースをインストールして、セルフマネージド データベース クラスタの健全性と構成をモニタリングする方法について説明します。ウェブ UI には次の機能があります。
| 機能 | 説明 | コンテナ(スタンドアロン) | Kubernetes | RPM(Linux) | RPM オーケストレーター |
|---|---|---|---|---|---|
| クラスタの選択 | ターゲット クラスタにアクセスするための接続認証情報を確立、登録、保存できる接続画面。 | サポート対象 | サポート対象 | サポート対象 | サポート対象 |
| クラスタの概要 | すべてのアクティブなクラスタ インスタンスとテレメトリー グラフを表示するモニタリング ダッシュボード。 | 部分サポート。テレメトリー グラフはサポートされていません。 | サポート対象 | サポート対象 | サポート対象 |
| データベース | クラスタ上のカタログ テーブルとデータベース サイズを表示する概要ページ。 | サポート対象 | サポート対象 | サポート対象 | サポート対象 |
| カラム型エンジン | 分析クエリの構成設定とスキャン実行の統計情報。 | サポート対象 | サポート対象 | サポート対象 | サポート対象 |
| データベース フラグ | デフォルト設定から逸脱しているアクティブなフラグと構成を表示する観察ボード。 | サポート対象 | サポート対象 | サポート対象 | サポート対象 |
| Query Insights | 構造ヒストグラムと低速クエリリストを表示するテレメトリーとクエリ パフォーマンス ダッシュボード。 | サポート対象 | サポート対象 | サポート対象 | サポート対象 |
| システム分析情報 | CPU 使用量、メモリ使用量、ディスク I/O を表示するテレメトリー グラフ。 | 非対応 | サポート対象 | サポート対象 | サポート対象 |
始める前に
ウェブ UI をインストールする前に、次の前提条件を満たしてください。
デプロイ用のイメージを取得し、AlloyDB Omni をダウンロードしてインストールし、ウェブ UI を使用できるようにします。コンテナ オーケストレーターを使用して AlloyDB Omni をインストールするをご覧ください。
-
ウェブ UI は、データベースにアクセスするための
pg_monitorロールを持つ制限付きユーザー アカウントに依存しています。psqlセッションで次のコマンドを実行して、各クラスタでこのユーザーを構成します。CREATE ROLE alloydbui WITH LOGIN PASSWORD 'PASSWORD'; GRANT pg_monitor TO alloydbui WITH INHERIT TRUE;PASSWORDは、alloydbuiデータベース ロールのパスワードに置き換えます。 Prometheus を構成します。
CPU 使用率など、[概要] ページと [システム分析情報] ページでグラフデータを表示するには、Prometheus をインストールして構成します。AlloyDB Omni Kubernetes Operator は、ポート
9187で Prometheus 互換の指標をエクスポートするモニタリング エージェントを自動的に実行します。ただし、ウェブ UI で時系列グラフを表示するには、Prometheus サーバーをインストールして構成し、これらの指標をスクレイピングする必要があります。指標エンドポイントの詳細については、Prometheus API を使用して指標を表示するをご覧ください。ポート9187をスクレイピングするように Prometheus を構成する例については、モニタリング ツールの選択とインストールをご覧ください。
省略可能な手順
追加のウェブ UI 機能を有効にするには、次のオプション構成を完了します。
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;これらの変更を有効にするには、データベースを再起動します。カラム型エンジンを有効にする場合は、その設定が完了するまで再起動を待ってください。
カラム型エンジンの設定
ウェブ UI でカラム型エンジンデータにアクセスするには、カラム型エンジンの概要の説明に沿ってエンジンを構成します。
AlloyDB AI の設定
ウェブ UI で AlloyDB AI 機能を使用するには、次の権限を付与します。
- ベクトル インデックスにデータを入力するには、
alloydbuiユーザーにpg_stat_ann_indexesに対するSELECT権限を付与します。 - ベクトル列を表示するには、
alloydbuiユーザーにテーブルに対するSELECT権限を付与します。
- ベクトル インデックスにデータを入力するには、
ウェブ UI をインストールする
ウェブ UI は任意のノードにインストールして実行できます。ウェブ UI に専用ノードは必要ありません。完全インストールには、約 250 MB のディスク容量が必要です。デプロイ用のイメージを取得して AlloyDB Omni をダウンロードしたら、ウェブ UI をインストールして実行できます。
Kubernetes マニフェストを使用してウェブ UI をインストールする
Pod の再起動後も接続の詳細を保持するには、
PersistentVolumeClaim(PVC)マニフェストを作成してクラスタに適用します。apiVersion: v1 kind: PersistentVolumeClaim metadata: name: alloydb-omni-ui-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 256Miウェブ UI を 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次のように置き換えます。
BASE64_ENCODED_PASSWORD:ALLOYDB_OMNI_UI_KEYSTOREの Base64 エンコードされたキーストア パスワード。ALLOYDB_OMNI_UI_IMAGE_TAG: ウェブ UI コンテナ イメージのタグ。
ウェブ UI を起動する
ウェブ UI は、Java キーストアを使用して、接続データの暗号化に使用される 256 ビット AES 鍵を保護します。ウェブ UI を起動するときに、パスワードを含む環境変数を指定します。
Pod としてデプロイされたウェブ UI にアクセスしてウェブ UI を起動することも、ポート転送を使用して外部ウェブ UI インスタンスを Kubernetes クラスタに接続することもできます。
Pod としてデプロイされたウェブ UI にアクセスする
マニフェストを使用してウェブ UI を Kubernetes Pod としてデプロイした場合は、ポート転送を有効にしてウェブ UI にローカルでアクセスします。
kubectl port-forward pod/alloydb-omni-ui-pod 9080:9080
外部ウェブ UI インスタンスのクラスタポートを転送する
Kubernetes クラスタの外部でウェブ UI を実行する場合(コンテナや 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 の名前。
ウェブ UI を開く
ウェブ UI を表示するには、ブラウザで http://HOST:9080 を開きます。
HOST は、ウェブ UI がインストールされているノードのホスト名または IP アドレスに置き換えます。
既存のリバース プロキシの背後でホストする場合など、オプションの
ALLOYDB_OMNI_BASE_PATH環境変数を使用してカスタム ベースパスを構成した場合は、URL にパスを追加する必要があります(http://HOST:9080/BASE_PATH)。BASE_PATHは、カスタムベースパスに置き換えます。先頭のスラッシュなしでベースパスを構成できます(例:
ALLOYDB_OMNI_BASE_PATH=BASE_PATH)。次のいずれかの方法で対応できます。/test/test/test/test
制限事項
ウェブ UI には次の制限があります。
AlloyDB Omni スタンドアロン コンテナ デプロイに接続する場合、コンテナ化されたモニタリング エージェントはスタンドアロン コンテナ デプロイで使用できないため、概要グラフとシステム分析情報は使用できません。グラフ以外の機能と指標はすべて引き続き完全に機能します。
特定のテーブルのカラム型エンジンデータを表示するには、
alloydbuiユーザーにそのテーブルに対する権限(SELECTなど)が少なくとも 1 つ必要です。ベクトル インデックス データを表示するには、
alloydbuiユーザーにpg_stat_ann_indexesに対するSELECT権限が必要です。特定のテーブルのベクトル列データを表示するには、
alloydbuiユーザーにそのテーブルに対するSELECT権限が必要です。
ベスト プラクティスと注意事項
ウェブ UI をインストールして構成する際は、次のベスト プラクティスと注意事項に従ってください。
- キーストアのパスワード保護: ウェブ UI は、256 ビット AES データベース暗号鍵を保護するために Java キーストアを生成します。
ALLOYDB_OMNI_UI_KEYSTOREには強力なパスフレーズを使用してください。構成ファイルを転送し、一致しないキーストア パスワードで接続すると、復号エラーが発生します。 - Prometheus 指標のスクレイピング: データベース ノードに過負荷をかけずに統計情報をクエリするように、標準範囲(15 秒~ 30 秒)でターゲット インスタンスをポーリングするようにスクレイパーを構成します。
次のステップ