diff --git a/changelog/v1.19.0-beta13/docs-gloo-ui.yaml b/changelog/v1.19.0-beta13/docs-gloo-ui.yaml new file mode 100644 index 00000000000..8a7ca6c32c4 --- /dev/null +++ b/changelog/v1.19.0-beta13/docs-gloo-ui.yaml @@ -0,0 +1,5 @@ +changelog: + - type: NON_USER_FACING + resolvesIssue: true + description: >- + Adds documentation for using the Gloo UI with Gloo Gateway. \ No newline at end of file diff --git a/docs/content/guides/observability/ui/_index.md b/docs/content/guides/observability/ui/_index.md new file mode 100644 index 00000000000..ee4eee96916 --- /dev/null +++ b/docs/content/guides/observability/ui/_index.md @@ -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" >}}) diff --git a/docs/content/guides/observability/ui/_index.txt b/docs/content/guides/observability/ui/_index.txt deleted file mode 100644 index be1ae10b088..00000000000 --- a/docs/content/guides/observability/ui/_index.txt +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Gloo UI -weight: -description: ---- - -{{< children >}} \ No newline at end of file diff --git a/docs/content/guides/observability/ui/explore.md b/docs/content/guides/observability/ui/explore.md new file mode 100644 index 00000000000..0ce20202edf --- /dev/null +++ b/docs/content/guides/observability/ui/explore.md @@ -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" >}}) \ No newline at end of file diff --git a/docs/content/guides/observability/ui/setup.txt b/docs/content/guides/observability/ui/setup.md similarity index 62% rename from docs/content/guides/observability/ui/setup.txt rename to docs/content/guides/observability/ui/setup.md index d7387a9a5a0..f8c8b86be1c 100644 --- a/docs/content/guides/observability/ui/setup.txt +++ b/docs/content/guides/observability/ui/setup.md @@ -1,7 +1,7 @@ --- 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. @@ -9,11 +9,11 @@ To learn more about the features of the Gloo UI, see [About the Gloo UI]({{< ver ## 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 @@ -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: @@ -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" >}}). \ No newline at end of file +Continue with [exploring the features of the Gloo UI]({{< versioned_link_path fromRoot="/guides/observability/ui/explore" >}}). diff --git a/docs/content/img/ui-clusters.png b/docs/content/img/ui-clusters.png new file mode 100644 index 00000000000..6b72183606b Binary files /dev/null and b/docs/content/img/ui-clusters.png differ diff --git a/docs/content/img/ui-destinations.png b/docs/content/img/ui-destinations.png new file mode 100644 index 00000000000..aa9b440ce6c Binary files /dev/null and b/docs/content/img/ui-destinations.png differ diff --git a/docs/content/img/ui-gateways.png b/docs/content/img/ui-gateways.png new file mode 100644 index 00000000000..93fb9de9ea5 Binary files /dev/null and b/docs/content/img/ui-gateways.png differ diff --git a/docs/content/img/ui-insights.png b/docs/content/img/ui-insights.png new file mode 100644 index 00000000000..fc1c3b3ee71 Binary files /dev/null and b/docs/content/img/ui-insights.png differ diff --git a/docs/content/img/ui-policies.png b/docs/content/img/ui-policies.png new file mode 100644 index 00000000000..c6b9338a810 Binary files /dev/null and b/docs/content/img/ui-policies.png differ diff --git a/docs/content/img/ui-routes.png b/docs/content/img/ui-routes.png new file mode 100644 index 00000000000..66d92954033 Binary files /dev/null and b/docs/content/img/ui-routes.png differ