Skip to content
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

Gloo UI in Edge #10668

Merged
merged 14 commits into from
Feb 27, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions changelog/v1.19.0-beta13/docs-gloo-ui.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
changelog:
- type: NON_USER_FACING
resolvesIssue: true
description: >-
Adds documentation for using the Gloo UI with Gloo Gateway.
17 changes: 17 additions & 0 deletions docs/content/guides/observability/ui/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: Gloo UI
weight:
description: You can install the Gloo UI with a separate Helm chart to get an at-a-glance view of the configuration, health, and compliance status of your Gloo Gateway setup and the workloads in your cluster.
---

{{% notice note %}}
{{< readfile file="static/content/enterprise_only_feature_disclaimer" markdown="true">}}
{{% /notice %}}

You can install the Gloo UI with a separate Helm chart to get an at-a-glance view of the configuration, health, and compliance status of your Gloo Gateway setup and the workloads in your cluster.

To learn more, see the following guides:

{{< children descriptions="true" >}}

![Gloo UI dashboard]({{< versioned_link_path fromRoot="/img/ui-dashboard.png" >}})
7 changes: 0 additions & 7 deletions docs/content/guides/observability/ui/_index.txt

This file was deleted.

143 changes: 143 additions & 0 deletions docs/content/guides/observability/ui/explore.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
---
title: Explore the Gloo UI
weight: 20
description: Explore the features of the Gloo UI to help you get an at-a-glance view of your Gloo Gateway environment.
---

Explore the features of the Gloo UI to help you get an at-a-glance view of your Gloo Gateway environment.

## About the Gloo UI

* **Gloo Gateway dashboard**: Use the Gloo UI dashboard to quickly review the health of your Gloo Gateway setup, and any insights that were detected. If you use the Gloo UI in a multicluster setup, you can also review the health of the Gloo management server and agents.
* **Insights**: The Gloo UI comes with an insights engine that automatically analyzes your Gloo Gateway setup for health issues. These issues are shared in the UI along with recommendations to harden your Gloo Gateway setup. The insights give you a checklist to address issues that might otherwise be hard to detect across your environment. For more information, see [Insights](#insights).
* **Traffic resource overview**: Review the gateways, routes, policies, and destinations that are set up in your environment and the traffic management rules that you applied to them.
* **Security and compliance**: The **Dashboard** and **Security Insights** pages of the Gloo UI can help you review the overall security posture of your setup, including insights and recommendations regarding your certificates, encrypted traffic, FIPS compliance, and more.
* **Drill into apps and services**: Review what services can communicate with other services and how traffic between services is secured.
* **Visualize and monitor metrics**: With the built-in Prometheus integration, the Gloo UI has access to workload-specific metrics, such as the number of requests that were received for a workload. This data is visualized in the Gloo UI graph.

## Before you begin

Follow the steps to [Set up the Gloo UI]({{< versioned_link_path fromRoot="/guides/observability/ui/setup/" >}}).

## Launch the UI

1. Port-forward the Gloo UI pod.
```sh
kubectl port-forward deployment/gloo-mesh-ui -n gloo-system 8090
```
2. Open the Gloo UI dashboard.
```sh
open http://localhost:8090/dashboard
```

![Gloo UI dashboard]({{< versioned_link_path fromRoot="/img/ui-dashboard.png" >}})


## Home

View the health and performance of your Gloo Gateway control and data plane components, and view recommendations to harden your setup by using the **Dashboard** and **Insights** pages.

### Dashboard

The Gloo UI dashboard provides an at-a-glance overview of your Gloo Gateway setup and the health of your components. If you have gateways that use the Kubernetes Gateway API, you can also view request rates, failures, and request latency on the dashboard. Note the the request rate, failures, and latency is not available when you use gateways that are based on the Gloo Edge API.

![Gloo UI dashboard]({{< versioned_link_path fromRoot="/img/ui-dashboard.png" >}})

### Insights

The Gloo UI comes with an insights engine that automatically analyzes your Gloo Gateway setup for health issues. These issues are displayed in the UI along with recommendations to harden your setups. The insights give you a checklist to address issues that might otherwise be hard to detect across your environment.

![Gloo UI insights]({{< versioned_link_path fromRoot="/img/ui-insights.png" >}})

## Inventory

The **Inventory** section provides an at-a-glance look at the health of registered clusters and discovered services that make up your Gloo Gateway environment.

### Clusters

On the **Clusters page**, review details of the cluster where Gloo Gateway is installed, such as insights, the health of the Gloo Gateway control and data planes, and applied routes, gateways, destinations, and policies.


![Gloo UI Clusters]({{< versioned_link_path fromRoot="/img/ui-clusters.png" >}})

## Traffic

The **Traffic** section provides an overview of deployed Gateways, routes, policies, and destinations.


### Gateways

On the **Gateways** page, you can view the YAML configuration of gateway-related resources, such as gateway proxies, or MatchableHTTPGateways and MatchableTCPGateways.

To filter the list of resources, you can choose between the following options:
* Use the **Status** field to filter between healthy and unhealthy gateway resources.
* Use the **Label key** and **value** fields to filter resources by their labels.
* Use the **Filter by** dropdown list to display the resource types that you are interested in.
* Use the **Search** bar to find a resource by name, namespace, or other properties

![Gloo UI Gateways]({{< versioned_link_path fromRoot="/img/ui-gateways.png" >}})


### Routes

On the **Routes** page, you can view the VirtualServices and RouteTables that you created in your cluster. Click **YAML** to view the YAML configuration of your route.

To filter the list of resources, you can choose between the following options:
* Use the **Status** field to filter between healthy and unhealthy gateway resources.
* Use the **Label key** and **value** fields to filter resources by their labels.
* Use the **Filter by** dropdown list to display the resource types that you are interested in.
* Use the **Search** bar to find a resource by name, namespace, or other properties

![Gloo UI routes]({{< versioned_link_path fromRoot="/img/ui-routes.png" >}})


### Policies

On the **Policies** page, you can view any policies that you applied in your environment, such as RouteOption, VirtualHostOption, ListenerOption, HttpListenerOptions, AuthConfigs, and RatelimitConfi. To view the policy configuration, you can click **YAML**.

To filter the list of resources, you can choose between the following options:
* Use the **Status** field to filter between healthy and unhealthy gateway resources.
* Use the **Label key** and **value** fields to filter resources by their labels.
* Use the **Filter by** dropdown list to display the resource types that you are interested in.
* Use the **Search** bar to find a resource by name, namespace, or other properties

![Gloo UI policies]({{< versioned_link_path fromRoot="/img/ui-policies.png" >}})

### Destinations

On the **Destination** page, review a list of discovered destinations, such as Kubernetes services and Gloo Gateway Upstreams.

To filter the list of resources, you can choose between the following options:
* Use the **Status** field to filter between healthy and unhealthy gateway resources.
* Use the **Label key** and **value** fields to filter resources by their labels.
* Use the **Filter by** dropdown list to display the resource types that you are interested in.
* Use the **Search** bar to find a resource by name, namespace, or other properties

![Gloo UI destinations]({{< versioned_link_path fromRoot="/img/ui-destinations.png" >}})

For Kubernetes services, you click on **Details** to perform the following tasks:
* Review the destination's configuration with the **YAML** button. The YAML details can help you debug the service.
* See an analysis of the service’s error rate and latency in the **Service Signals** card.
* View the **Graph** tab to visualize the network traffic that reaches your destination. For more information about how to use the graph, see [Graph](#graph).


## Security
Review details of the security setup of your Gloo Gateway environment.
### Certificates

{{% notice note %}}
This view is not supported when using Gloo Gateway with the Gloo Edge API. It is supported only for setups that use the Kubernetes Gateway API. For more information, see [Certificates](https://docs.solo.io/gateway/latest/observability/ui/explore/#certificates) in the Gloo Gateway (Kubernetes Gateway API) documentation.
{{% /notice %}}


## Observability

Visualize traffic in the Gloo UI.

### Graph

{{% notice note %}}
The Gloo UI Graph visualizes traffic in your cluster and is available only for gateways that use the Kubernetes Gateway API. Gateways that use the Gloo Edge API are not supported. To learn more about the Graph and how you can visualize traffic in your cluster, see [Graph](https://docs.solo.io/gateway/latest/observability/ui/explore/#graph) in the Gloo Gateway (Kubernetes Gateway API) documentation.
{{% /notice %}}

![Gloo UI Graph (Kubernetes Gateway API only)]({{< versioned_link_path fromRoot="/img/ui-graph.png" >}})
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
---
title: Set up the Gloo UI
weight:
description: Install the Gloo UI to get an at-a-glance view of the configuration, health, and compliance status of your Gloo Gateway setup and the workloads in your cluster.
weight: 10
description: Install the Gloo UI and start gaining insights into the configuration and health of your Gloo Gateway setup and the workloads in your cluster.
---
Install the Gloo UI to get an at-a-glance view of the configuration, health, and compliance status of your Gloo Gateway setup and the workloads in your cluster.

To learn more about the features of the Gloo UI, see [About the Gloo UI]({{< versioned_link_path fromRoot="/guides/observability/ui/explore#about-the-gloo-ui" >}}).

## Before you begin

Install GG
Follow the steps to [install Gloo Gateway with the Enterprise Edition]({{< versioned_link_path fromRoot="/installation/enterprise/" >}}).

## Set up the Gloo UI

Use these instructions to install the Gloo UI in the same cluster as Gloo Gateway. The Gloo UI analyzes your Gloo Gateway setup and provides metrics and insights to you.
Install the Gloo UI components in your cluster.

1. Set the name of your cluster and your Gloo Gateway license key as an environment variable.
```sh
Expand Down Expand Up @@ -48,8 +48,6 @@ Use these instructions to install the Gloo UI in the same cluster as Gloo Gatewa
insightsConfiguration: true
glooInsightsEngine:
enabled: true
glooAnalyzer:
enabled: true
glooUi:
enabled: true
licensing:
Expand Down Expand Up @@ -81,33 +79,6 @@ Use these instructions to install the Gloo UI in the same cluster as Gloo Gatewa
{{< /highlight >}}


## Visualize traffic

1. Follow the petstore [hello world example]({{< versioned_link_path fromRoot="/guides/traffic_management/hello_world/" >}}). This example deploys the petstore sample app and exposes a route to the app on your gateway proxy.

2. Send a few requests to the httpbin app.
```sh
for i in {1..10}; do curl $(glooctl proxy url --name gateway-proxy)/all-pets; done
```

7. Open the Gloo UI.
1. Port-forward the Gloo UI pod.
```sh
kubectl port-forward deployment/gloo-mesh-ui -n gloo-system 8090
```
2. Open the Gloo UI dashboard.
```sh
open http://localhost:8090/dashboard
```

![Gloo UI dashboard]({{% versioned_link_path fromRoot="/img/ui-dashboard.png" %}})

8. Go to **Observability** > **Graph** to see the Gloo UI Graph. Select your cluster from the **Cluster** drop-down list, and the `httpbin` and `gloo-system` namespaces from the **Namespace** drop-down list. Verify that you see requests from the gateway proxy to the httpbin app. Note that it might take a few seconds for the graph to show the requests that you sent.

![Gloo UI Graph]({{< versioned_link_path fromRoot="/img/ui-graph.png" >}})



## Next

Continue with [exploring the features of the Gloo UI]({{< versioned_link_path fromRoot="/guides/observability/ui/explore" >}}).
Continue with [exploring the features of the Gloo UI]({{< versioned_link_path fromRoot="/guides/observability/ui/explore" >}}).
Binary file added docs/content/img/ui-clusters.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/content/img/ui-destinations.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/content/img/ui-gateways.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/content/img/ui-insights.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/content/img/ui-policies.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/content/img/ui-routes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.