Web-UI installieren

Wählen Sie eine Dokumentationsversion aus:

Auf dieser Seite wird beschrieben, wie Sie die AlloyDB Omni-Web-Benutzeroberfläche installieren, um den Zustand und die Konfiguration Ihrer selbstverwalteten Datenbankcluster zu überwachen. Die Web-UI bietet die folgenden Funktionen:

Funktion Beschreibung Container (eigenständig) Kubernetes RPM (Linux) RPM-Orchestrator
Clusterauswahl Ein Konnektivitätsbildschirm, auf dem Sie Verbindungsanmeldedaten für den Zugriff auf Zielcluster einrichten, registrieren und speichern können. Unterstützt Unterstützt Unterstützt Unterstützt
Clusterübersicht Dashboard zur Beobachtung, auf dem alle aktiven Clusterinstanzen und Telemetriediagramme angezeigt werden. Teilweise Unterstützung. Telemetriegrafiken werden nicht unterstützt. Unterstützt Unterstützt Unterstützt
Datenbanken Übersichtsseite mit Katalogtabellen und Datenbankgrößen im Cluster. Unterstützt Unterstützt Unterstützt Unterstützt
Spaltenbasierte Engine Konfigurationseinstellungen und Statistiken zur Scanausführung für analytische Abfragen. Unterstützt Unterstützt Unterstützt Unterstützt
Datenbank-Flags Beobachtungsboard mit aktiven Flags und Konfigurationen, die von den Standardeinstellungen abweichen. Unterstützt Unterstützt Unterstützt Unterstützt
Query Insights Dashboards für Telemetrie und Abfrageleistung mit Strukturhistogrammen und Listen langsamer Abfragen. Unterstützt Unterstützt Unterstützt Unterstützt
Systemstatistiken Telemetriediagramme, die den CPU-Verbrauch, den Speicherbedarf und die Laufwerk-E/A anzeigen. Nicht unterstützt Unterstützt Unterstützt Unterstützt

Hinweis

Bevor Sie die Web-UI installieren, müssen die folgenden Voraussetzungen erfüllt sein:

  1. Rufen Sie die Images für Ihre Bereitstellung ab und laden Sie AlloyDB Omni herunter, um die Web-UI zu verwenden: AlloyDB Omni mit dem Container-Orchestrator installieren.

  2. Konfigurieren Sie den Datenbanknutzer.

    Die Web-UI verwendet ein eingeschränktes Nutzerkonto, das die Rolle pg_monitor für den Zugriff auf die Datenbank hat. Konfigurieren Sie diesen Nutzer in jedem Cluster, indem Sie die folgenden Befehle in einer psql-Sitzung ausführen:

    CREATE ROLE alloydbui WITH LOGIN PASSWORD 'PASSWORD';
    GRANT pg_monitor TO alloydbui WITH INHERIT TRUE;
    

    Ersetzen Sie PASSWORD durch ein Passwort für die Datenbankrolle alloydbui.

  3. Prometheus konfigurieren

    Wenn Sie Diagrammdaten auf den Seiten Übersicht und Systemstatistiken aufrufen möchten, einschließlich der CPU-Auslastung, müssen Sie Prometheus installieren und konfigurieren. Der AlloyDB Omni Kubernetes-Operator führt automatisch einen Monitoring-Agent aus, der Prometheus-kompatible Messwerte über Port 9187 exportiert. Wenn Sie jedoch Zeitreihendiagramme in der Web-UI ansehen möchten, müssen Sie einen Prometheus-Server installieren und konfigurieren, um diese Messwerte zu erfassen. Weitere Informationen zum Messwertendpunkt finden Sie unter Messwerte mit der Prometheus API ansehen. Ein Beispiel für die Konfiguration von Prometheus zum Scraping von Port 9187 finden Sie unter Monitoring-Tools auswählen und installieren.

Optionale Schritte

Führen Sie die folgenden optionalen Konfigurationen aus, um zusätzliche Web-UI-Funktionen zu aktivieren:

  • Query Insights einrichten

    Wenn Sie die Query Insights-Funktion verwenden möchten, aktivieren Sie die Erweiterung pg_stat_statements. Führen Sie in einer psql-Sitzung die folgenden Befehle aus, um die Bibliotheken zu konfigurieren:

    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;
    

    Führen Sie dann den folgenden Befehl in jeder Datenbank einzeln aus, um die Erweiterung zu erstellen:

    CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
    

    Starten Sie die Datenbank neu, damit diese Änderungen wirksam werden. Wenn Sie die spaltenorientierte Engine aktivieren möchten, warten Sie mit dem Neustart, bis die Einrichtung abgeschlossen ist.

  • Spaltenbasierte Engine einrichten

    Wenn Sie in der Web-UI auf Daten der spaltenbasierten Engine zugreifen möchten, konfigurieren Sie die Engine wie unter Übersicht über die spaltenbasierte Engine beschrieben.

  • AlloyDB AI einrichten

    Wenn Sie AlloyDB AI-Funktionen in der Web-UI verwenden möchten, müssen Sie die folgenden Berechtigungen gewähren:

    • Wenn Sie Vektorindexe füllen möchten, gewähren Sie dem Nutzer alloydbui die Berechtigung SELECT für pg_stat_ann_indexes.
    • Wenn Sie Vektorspalten anzeigen möchten, weisen Sie dem Nutzer alloydbui die Berechtigung SELECT für eine Tabelle zu.
Weitere Informationen finden Sie unter Generative KI-Anwendungen mit AlloyDB AI erstellen.

Web-UI installieren

Sie können die Web-UI auf jedem Knoten installieren und ausführen. Für die Web-UI ist kein dedizierter Knoten erforderlich. Die vollständige Installation erfordert etwa 250 MB Speicherplatz. Nachdem Sie die Images für Ihre Bereitstellung abgerufen und AlloyDB Omni heruntergeladen haben, können Sie die Web-UI installieren und ausführen.

Web-UI mit einem Kubernetes-Manifest installieren

  1. Wenn Sie Verbindungsdetails über Pod-Neustarts hinweg beibehalten möchten, erstellen Sie ein PersistentVolumeClaim-Manifest (PVC) und wenden Sie es auf Ihren Cluster an:

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: alloydb-omni-ui-pvc
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 256Mi
    
  2. Wenden Sie das folgende Kubernetes-Manifest an, um die Web-UI als Pod bereitzustellen.

    ---
    # 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
    

    Ersetzen Sie Folgendes:

    • BASE64_ENCODED_PASSWORD: das Base64-codierte Schlüsselspeicherpasswort für ALLOYDB_OMNI_UI_KEYSTORE.

    • ALLOYDB_OMNI_UI_IMAGE_TAG: das Tag für das Web-UI-Container-Image.

Web-UI starten

Die Web-UI verwendet einen Java-Keystore, um den 256-Bit-AES-Schlüssel zu schützen, der zum Verschlüsseln von Verbindungsdaten verwendet wird. Wenn Sie die Web-UI starten, geben Sie eine Umgebungsvariable an, die das Passwort enthält.

Sie können die Web-UI starten, indem Sie auf die als Pod bereitgestellte Web-UI zugreifen, oder Sie können eine externe Web-UI-Instanz über die Portweiterleitung mit Ihrem Kubernetes-Cluster verbinden.

Auf die als Pod bereitgestellte Web-UI zugreifen

Wenn Sie die Web-UI mit dem Manifest als Kubernetes-Pod bereitgestellt haben, aktivieren Sie die Portweiterleitung, um lokal auf die Web-UI zuzugreifen:

kubectl port-forward pod/alloydb-omni-ui-pod 9080:9080

Clusterports für eine externe Web-UI-Instanz weiterleiten

Wenn Sie die Web-UI außerhalb des Kubernetes-Clusters ausführen (z. B. mit Containern oder RPM), aktivieren Sie die Portweiterleitung zu den Pods, auf denen die Datenbank und Prometheus ausgeführt werden:

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

Ersetzen Sie Folgendes:

  • DB_POD: der Name Ihres Datenbank-Pods.

  • PROMETHEUS_POD: der Name Ihres Prometheus-Pods.

Web-UI öffnen

Öffnen Sie einen Browser unter http://HOST:9080, um die Web-UI aufzurufen.

Ersetzen Sie HOST durch den Hostnamen oder die IP-Adresse des Knotens, auf dem die Web-UI installiert ist.

  • Wenn Sie einen benutzerdefinierten Basispfad mit der optionalen Umgebungsvariablen ALLOYDB_OMNI_BASE_PATH konfiguriert haben, z. B. beim Hosting hinter einem vorhandenen Reverse-Proxy, müssen Sie den Pfad an die URL anhängen: http://HOST:9080/BASE_PATH.

    Ersetzen Sie BASE_PATH durch Ihren benutzerdefinierten Basispfad.

  • Sie können den Basispfad ohne vorangestellten Schrägstrich konfigurieren, z. B. ALLOYDB_OMNI_BASE_PATH=BASE_PATH. Die folgenden Alternativen sind alle gültig:

    • /test/
    • test/
    • test
    • /test

Beschränkungen

Für die Web-UI gelten die folgenden Einschränkungen:

  • Übersichtsdiagramme und Systemstatistiken sind nicht verfügbar, wenn Sie eine Verbindung zu eigenständigen AlloyDB Omni-Containerbereitstellungen herstellen, da für eigenständige Containerbereitstellungen kein containerisierter Monitoring-Agent verfügbar ist. Alle anderen Funktionen und Messwerte, die nicht mit Diagrammen zusammenhängen, bleiben voll funktionsfähig.

  • Damit der Nutzer alloydbui Daten der spaltenbasierten Engine für eine bestimmte Tabelle aufrufen kann, benötigt er mindestens eine Berechtigung für diese Tabelle, z. B. SELECT.

  • Zum Aufrufen von Vektorindexdaten benötigt der Nutzer alloydbui die Berechtigung SELECT für pg_stat_ann_indexes.

  • Zum Aufrufen von Vektorspaltendaten für eine bestimmte Tabelle benötigt der alloydbui-Nutzer die Berechtigung SELECT für diese Tabelle.

Best Practices und Hinweise

Beachten Sie bei der Installation und Konfiguration der Web-UI die folgenden Best Practices und Hinweise:

  • Passwortschutz für Schlüsselspeicher: Die Web-UI generiert einen Java-Schlüsselspeicher, um den 256-Bit-AES-Datenbankverschlüsselungsschlüssel zu schützen. Verwenden Sie eine starke Passphrase für ALLOYDB_OMNI_UI_KEYSTORE. Entschlüsselungsfehler treten auf, wenn Sie Ihre Konfigurationsdateien übertragen und eine Verbindung mit einem nicht übereinstimmenden Schlüsselspeicherpasswort herstellen.
  • Prometheus-Messwert-Scraping: Konfigurieren Sie die Scraper so, dass sie Zielinstanzen in Standardintervallen (15 bis 30 Sekunden) abfragen, um Statistiken abzurufen, ohne Datenbankknoten zu überlasten.

    Nächste Schritte