-
Notifications
You must be signed in to change notification settings - Fork 376
WEM docs tech preview #7099
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
mpfuster
wants to merge
19
commits into
develop
Choose a base branch
from
mpf/wem-docs
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
WEM docs tech preview #7099
Changes from all commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
27ba4b5
WEM docs tech preview
mpfuster 3a6e8a8
update installation guide
mpfuster 5c29283
Update release notes
mpfuster b3a93d2
remove analyze option
mpfuster c7157c2
edit release notes
mpfuster c254443
release notes changes
mpfuster 579a790
Update installation instructions
mpfuster cee2164
update install steps
mpfuster 279d42b
update known issues
mpfuster 00219d0
misc changes
mpfuster aa381db
update wem install instructions
mpfuster d650fb0
some edits
mpfuster b4c2593
improve get started page
mpfuster cd1dbd8
Changes
mpfuster 2ae2ba4
Update release date
mpfuster 90fef58
Address Gaby's comments
mpfuster d9188e6
Gaby's feedback part 2
mpfuster 0edecc5
Update release date
mpfuster 3fa19df
Changes from demo session info
mpfuster File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -7,6 +7,7 @@ navigation: | |
| - observability | ||
| - flowserver | ||
| - whpg-copy | ||
| - wem | ||
| directoryDefaults: | ||
| iconName: BigData | ||
| --- | ||
|
|
||
115 changes: 115 additions & 0 deletions
115
advocacy_docs/supported-open-source/warehousepg/wem/get-started.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,115 @@ | ||
| --- | ||
| title: Getting started with WarehousePG Enterprise Manager | ||
| navTitle: Getting started | ||
| description: Learn how to access the console, understand user roles, and navigate the primary dashboard components. | ||
| --- | ||
|
|
||
| Once WarehousePG Enterprise Manager (WEM) is installed and the backend services are running, you can begin observing system health and tuning performance. | ||
|
|
||
| !!! Important | ||
| The host running WEM must remain online and the application must be active to ensure continuous data gathering. Closing the application will stop the collection of SQL and cluster-level metrics. | ||
|
|
||
| ## Accessing the console | ||
|
|
||
| To begin managing your cluster: | ||
|
|
||
| 1. Navigate to your WEM server URL (e.g., `http://your-server:8080`). | ||
| 1. Enter your administrative credentials on the login screen. | ||
| 1. Select **Sign in**. | ||
|
|
||
| For security, sessions automatically expire after a period of inactivity; if a timeout occurs, the system will display a "Session Expired" message and redirect you to the login screen. You can also manually terminate your session at any time by selecting the **Logout** icon located in the sidebar footer. | ||
|
|
||
|
|
||
| ## Navigating the interface structure | ||
|
|
||
| The WEM interface is organized into the following functional areas: | ||
| 1. **Panels (left sidebar):** The primary functional modules (e.g., **Cluster**, **Monitoring**, **Access Management**). | ||
| 1. **Header (top):** View the current page title, system time, and global controls (filters and refresh triggers). | ||
| 1. **Tabs (top of content):** Specific tools or sub-views within a selected panel. | ||
| 1. **Main content (center):** Interact with data tables, performance charts, and configuration tools. | ||
|
|
||
| **Navigation directory** | ||
|
|
||
| Use the following guide to locate specific tools and their corresponding documentation: | ||
|
|
||
| | Panel (sidebar) | Key actions | | ||
| | --------------- | ------------ | | ||
| | Cluster | [Verifying the cluster health](monitoring/cluster-overview/) | | ||
| | Query Monitor | [Monitoring and evaluating queries](performance/query-monitor/) | | ||
| | Data Analysis | [Analyzing data distribution](performance/data-analysis/) | | ||
| | Storage | [Planning storage capacity](performance/storage/) | | ||
| | Access Management | [Defining access policies](system-access/access-management/) | | ||
| | System Metrics | [Visualizing hardware performance](monitoring/system-metrics/) | | ||
| | Resource Management | [Managing system resources](performance/managing-resources/) | | ||
| | Backups | [Securing backups](performance/backups/) | | ||
| | Logs | [Auditing system logs](monitoring/logs/) | | ||
| | Monitoring | [Validating database responsiveness](monitoring/monitoring/) | | ||
| | Alerts | [Managing alerts](monitoring/alerts/) | | ||
| | Management | [Provisioning user accounts](system-access/management/) | ||
|
|
||
|
|
||
| ## Understanding user roles and permissions | ||
|
|
||
| WEM utilizes Role-Based Access Control (RBAC). After the initial bootstrap, all user management and password updates are handled exclusively via the **Management** panel in the UI. A user's assigned role determines which panels and actions are visible. | ||
|
|
||
| | Role | Description | Access scope | | ||
| | :--- | :--- | :--- | | ||
| | **Admin** | Full system administration | All panels, user management, and system configuration. | | ||
| | **Operator** | Operational management | Query monitoring, data analysis, and backup operations. | | ||
| | **Viewer** | Read-only observation | High-level dashboards, cluster status, and system metrics. | | ||
|
|
||
| Refer to the [Role permissions matrix](reference#role-permissions-matrix) for details. | ||
|
|
||
| ## Monitoring cluster health via the Dashboard | ||
|
|
||
| The **Dashboard** is your landing page, providing a real-time snapshot of cluster health. | ||
|
|
||
| **Use the global controls** | ||
| - **Node Filter:** Scope metrics to a specific node or view an aggregate of the entire cluster. | ||
| - **Refresh:** Manually update all data points on the page. | ||
|
|
||
| **Check primary metrics** | ||
|
|
||
| Monitor high-level indicators for an immediate status check, such as **Uptime**, **Connections**, and **Last Sync** time. | ||
|
|
||
| **Review status and resources:** | ||
| - View healthy vs. unhealthy segments. | ||
| - Monitor storage utilization for the coordinator and segments. | ||
|
|
||
| **Analyze performance charts** | ||
|
|
||
| WEM streams live data into three primary charts: | ||
| - **Active Queries:** Track running, queued, and blocked queries. | ||
| - **CPU Usage:** Visualize system and user utilization. | ||
| - **Memory Usage:** Monitor total memory usage percentage. | ||
|
|
||
| **Audit recent alerts** | ||
|
|
||
| Review the **Recent WHPG Log Alerts** card for WHPG log events. Open the **Logs** panel for a full audit trail. | ||
|
|
||
| ## Configuring WEM settings | ||
|
|
||
| Once you have installed WEM, you can fine-tune how WEM connects to your cluster or configure other external services (Prometheus and Alertmanager) using two methods: | ||
|
|
||
| 1. **Method 1: Use the WEM settings tab** | ||
|
|
||
| Administrators can modify most operational parameters directly through the browser: | ||
| 1. Navigate to **Management** > **Settings**. | ||
| 1. Update fields such as **Prometheus URL** or **Backup History Database Path**. | ||
| 1. Save to apply changes immediately. | ||
|
|
||
| !!! Note | ||
| Some system parameters are only accessible via the configuration file. | ||
|
|
||
| 2. **Method 2: Edit the configuration file manually** | ||
|
|
||
| For system parameters not exposed in the WEM console, or for automated deployments, edit the WEM configuration file directly on the host server: | ||
| 1. Stop the service: `systemctl stop wem` on the WEM host. | ||
| 1. Edit the file `/etc/wem/wem.conf` and modify the desired parameter. | ||
| 1. Restart the service: `systemctl start wem`. | ||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
1 change: 1 addition & 0 deletions
1
advocacy_docs/supported-open-source/warehousepg/wem/images/architecture.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
57 changes: 57 additions & 0 deletions
57
advocacy_docs/supported-open-source/warehousepg/wem/index.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,57 @@ | ||
| --- | ||
| title: WarehousePG Enterprise Manager | ||
| description: Use WarehousePG Enterprise Manager as a centralized hub for monitoring, managing, and optimizing WarehousePG clusters. | ||
| navigation: | ||
| - release_notes | ||
| - overview | ||
| - installing | ||
| - get-started | ||
| - monitoring | ||
| - performance | ||
| - system-access | ||
| - troubleshooting | ||
| - reference | ||
| navRootedTo: /supported-open-source/warehousepg/ | ||
| --- | ||
|
|
||
| WarehousePG Enterprise Manager (WEM) is a comprehensive management, monitoring, and administration platform designed specifically for WarehousePG (WHPG) clusters. By integrating real-time telemetry, AI-assisted development, and interactive configuration tools into a single interface, WEM transforms complex distributed database operations into a streamlined, visual experience. Whether you are auditing cluster health, tuning SQL performance, or managing security, WEM provides the single pane of glass necessary to maintain a high-performance distributed environment. | ||
|
|
||
| ## Why WEM? | ||
|
|
||
| Managing a distributed database manually across multiple segment nodes and coordinators can be resource-intensive and error-prone. WEM solves these challenges by providing: | ||
| - **Unified visibility:** Move beyond per-node SSH sessions. WEM aggregates host metrics, SQL statistics, and system logs into one centralized location. | ||
|
|
||
| - **Reduced operational fisk:** With features like the interactive HBA editor and automatic configuration backups, WEM provides a safety net for critical administrative changes. | ||
|
|
||
| - **AI-driven optimization:** Leverage built-in AI intelligence to explain execution plans and suggest query optimizations, lowering the barrier to entry for managing complex distributed workloads. | ||
|
|
||
| - **Proactive resilience:** Integrated Canary checks and automated alerting ensure you are notified of potential bottlenecks or connectivity issues before they impact your users. | ||
|
|
||
|
|
||
| ### Key capabilities | ||
|
|
||
| WEM introduces a robust suite of tools for the modern database administrator and developer: | ||
|
|
||
| - **Observability & health** | ||
| - **Real-time & historical metrics:** Monitor live cluster pulse via the integrated Exporter or analyze long-term trends using Prometheus data. | ||
|
|
||
| - **Cluster overview:** A dedicated dashboard for the immediate health status of your coordinator and segment architecture. | ||
|
|
||
| - **Log management:** Searchable, aggregated log streams powered by Loki for rapid root-cause analysis. | ||
|
|
||
| - **Intelligence & analysis** | ||
| - **Query monitor & editor:** A full-featured SQL editor featuring an AI Assistant to help write, optimize, and explain distributed queries. | ||
|
|
||
| - **Data skew analysis:** Deep-dive tools to analyze table distribution and storage efficiency across the cluster segments. | ||
|
|
||
| - **Cluster administration** | ||
| - **Access management:** An interactive HBA editor for `pg_hba.conf` and a centralized user interface for user/password management. | ||
|
|
||
| - **Resource management:** Real-time tracking of CPU, Memory, and I/O consumption across the entire cluster. | ||
|
|
||
| - **System settings audit:** A searchable interface to verify and audit cluster-level GUC parameters. | ||
|
|
||
| - **Data protection** | ||
| - **Backup & recovery:** Centralized monitoring of backup schedules, recovery points, and success rates. | ||
|
|
||
| - **Canary checks:** Automated "heartbeat" tests that proactively verify cluster connectivity and query responsiveness. |
97 changes: 97 additions & 0 deletions
97
advocacy_docs/supported-open-source/warehousepg/wem/installing/collector.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,97 @@ | ||
| --- | ||
| title: Installing the Collector | ||
| navTitle: Installing the Collector | ||
| description: Learn how to install the WarehousePG Collector on your WarehousePG cluster. | ||
| --- | ||
|
|
||
| Install the WarehousePG (WHPG) Collector on your WHPG cluster coordinator. | ||
|
|
||
| ## Downloading and installing WHPG Collector | ||
|
|
||
| 1. On the coordinator, download the packages from the EDB repository: | ||
|
|
||
| ```bash | ||
| export EDB_SUBSCRIPTION_TOKEN=<your-token> | ||
| export EDB_REPO=gpsupp | ||
| curl -1sSLf "https://downloads.enterprisedb.com/$EDB_SUBSCRIPTION_TOKEN/$EDB_REPO/setup.rpm.sh" | sudo -E bash | ||
| sudo dnf download edb-whpg-observability-collector | ||
| ``` | ||
|
|
||
| 1. On the coordinator, create a file `all_hosts` which lists all hosts in the WHPG cluster. For example: | ||
|
|
||
| ```ini | ||
| cdw | ||
| scdw | ||
| sdw1 | ||
| sdw2 | ||
| sdw3 | ||
| ``` | ||
|
|
||
| 1. From the coordinator, transfer and install the Collector package on all hosts in the WHPG cluster: | ||
|
|
||
| <TabContainer syncKey="install"> | ||
| <Tab title="RHEL 8, 9"> | ||
|
|
||
| ```bash | ||
| gpssh -f all_hosts -u gpadmin -e "scp gpadmin@$(hostname):edb-whpg-observability-collector*.rpm /tmp/ && sudo dnf install -y /tmp/edb-whpg-observability-collector*.rpm" | ||
| ``` | ||
|
|
||
| </Tab> | ||
| <Tab title="RHEL 7"> | ||
|
|
||
| ```bash | ||
| gpssh -f all_hosts -u gpadmin -e "scp gpadmin@$(hostname):edb-whpg-observability-collector*.rpm /tmp/ && sudo yum install -y /tmp/edb-whpg-observability-collector*.rpm" | ||
|
|
||
| ``` | ||
|
|
||
| </Tab> | ||
| </TabContainer> | ||
|
|
||
| ## Configuring the Collector | ||
|
|
||
| Once the Collector packages are installed, edit the file `/var/lib/whpg-observability-collector/collector.conf` on the coordinator and configure the following parameters: | ||
|
|
||
| - `WHPG_OBS_DSN`: Specify your WHPG cluster connection details. For example: | ||
|
|
||
| ```ini | ||
| WHPG_OBS_DSN="host=whpg-coordinator-host port=5432 dbname=postgres user=gpadmin password=postgres sslmode=disable" | ||
| ``` | ||
|
|
||
| !!! Note | ||
| You can specify any database on your WHPG cluster. However, the user must hold the superuser role. | ||
|
|
||
| - `LOKI_ENDPOINT`: Point to your configured Loki endpoint for log files. For example: | ||
|
|
||
| ```ini | ||
| LOKI_ENDPOINT="http://loki.hostname:3100/loki/api/v1/push" | ||
| ``` | ||
|
|
||
| - `PROMETHEUS_ENDPOINT`: Point to your configured Prometheus endpoint for host-level metrics. For example: | ||
|
|
||
| ```ini | ||
| PROMETHEUS_ENDPOINT="http://prometheus.hostname:9090/api/v1/write" | ||
| ``` | ||
|
|
||
|
|
||
| ## Starting the Collector service | ||
|
|
||
| On the coordinator, run the following commands to deploy the configuration and start the service on every host in the WHPG cluster: | ||
|
|
||
| ```bash | ||
| cd /var/lib/whpg-observability-collector | ||
| ./deploy-observability | ||
| ``` | ||
|
|
||
| The Collector now runs in the background on each host as the `alloy` service. You can manage this service using `systemctl` commands. For example: | ||
|
|
||
| To check the service status: | ||
|
|
||
| ```bash | ||
| sudo systemctl status alloy | ||
| ``` | ||
|
|
||
| To enable on boot: | ||
|
|
||
| ```bash | ||
| sudo systemctl enable alloy | ||
| ``` | ||
20 changes: 20 additions & 0 deletions
20
advocacy_docs/supported-open-source/warehousepg/wem/installing/index.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| --- | ||
| title: Installing WarehousePG Enterprise Manager | ||
| navTitle: Installing | ||
| description: Learn how to install WarehousePG Enterprise Manager. | ||
| navigation: | ||
| - prerequisites | ||
| - collector | ||
| - wem | ||
| --- | ||
|
|
||
|
|
||
| !!! Note | ||
| This guide assumes you have installed Prometheus and Loki. You can deploy dedicated instances for WEM or integrate with your existing enterprise monitoring stack. | ||
| !!! | ||
|
|
||
| The installation process consists of the following steps: | ||
|
|
||
| 1. Verify the [Prerequisites](prerequisites). | ||
mpfuster marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| 1. [Install the WHPG Collector](collector) on your WarehousePG (WHPG) cluster. | ||
| 1. [Install and configure WEM](wem) on your dedicated host. | ||
36 changes: 36 additions & 0 deletions
36
advocacy_docs/supported-open-source/warehousepg/wem/installing/prerequisites.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| --- | ||
| title: WHPG Observability prerequisites | ||
| navTitle: Prerequisites | ||
| description: Understand the prerequisites before installing the WarehousePG Observability components. | ||
| --- | ||
|
|
||
| !!! Note | ||
| This guide assumes you have installed Prometheus and Loki. You can deploy dedicated instances for WEM or integrate with your existing enterprise monitoring stack. | ||
| !!! | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| - WarehousePG (WHPG) version 6.x running on RHEL 7 or RHEL 8. | ||
| - WHPG version 7.x running on RHEL 8 or RHEL 9. | ||
| - A separate host for WarehousePG Enterprise Manager (WEM), running RHEL 8 or RHEL 9. | ||
| - [Loki](https://grafana.com/docs/loki/latest/setup/install/) 3.5 or later. You can deploy a dedicate instance for WEM or integrate with your existing enterprise monitoring stack. | ||
| - [Prometheus](https://prometheus.io/docs/prometheus/latest/installation/) 3.5.0 or later. You can deploy a dedicate instance for WEM or integrate with your existing enterprise monitoring stack. | ||
| - A database user that holds the superuser role and is able to connect to your WHPG cluster from the WEM host. | ||
| - Optional: An active Anthropic account and a valid API key are required to enable the AI Assistant for query writing and optimization. | ||
| - Optional: An active installation of [Prometheus Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/) version 0.28.1 or later is required to enable centralized alert handling and notifications within WEM. | ||
|
|
||
| !!! Warning | ||
| WEM is not supported for installation on Red Hat Enterprise Linux 7 (RHEL 7). This limitation applies only to where the WEM application itself is deployed; WEM is fully capable of monitoring WHPG clusters that are running on RHEL 7 nodes. | ||
|
|
||
| ## Network requirements | ||
|
|
||
| The following table lists the connection requirements among the different components. Note that the ports listed are default values, you can customize them according to your environment: | ||
|
|
||
| | Source | Destination | Use | ||
| | ------ | ----------- | --- | ||
| | WHPG Coordinator | Prometheus:9090 | Push host level metrics | ||
| | WHPG Coordinator | Loki:3100 | Push log files | ||
| | WEM | Prometheus:9090 | Retrieve host level metrics | ||
| | WEM | Loki:3100 | Retrieve log metrics | ||
| | End user | WEM:8080 | Access to WEM console | ||
|
|
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.