Dashboards
- Whole-Cluster Dashboard
- Dynamically Generated Dashboards
- Custom prefix for dashboard UIDs and titles
- Extra Metric Query Parameters
Whole-Cluster Dashboard
Note: This dashboard is packaged by default with Gloo Gateway Enterprise
A dashboard showing whole-cluster metrics can be found in the gloo/Envoy Statistics
dashboard. In that dashboard you can find panels showing:
- Requests per Second
- Percent Response Code per Second
- Response Codes per Second
- Upstream Request Time Percentiles
- Round Trip Time Percentiles
- Average Request Time
Dynamically Generated Dashboards
Gloo Gateway Enterprise’s observability component generates a dashboard per watched upstream. These dashboards are updated and recreated every time an upstream changes. It renders a Go template that can be found in a configmap, which gets loaded into the observability
pod’s env at startup:
~ > kubectl -n gloo-system get cm gloo-observability-config -o yaml | head -n 10
apiVersion: v1
data:
GRAFANA_URL: http://glooe-grafana.gloo-system.svc.cluster.local:80
UPSTREAM_DASHBOARD_JSON_TEMPLATE: |2
{
"annotations": {
"list": [
{
"builtIn": 1,
If you want to customize how these per-upstream dashboards look, you can provide your own template to use by writing a Grafana dashboard JSON representation to that config map key. Currently the only available variables that are available when the Go template is rendered are:
.NameTemplate
.Uid
.EnvoyClusterName
.DashboardPrefix
.ExtraMetricQueryParameters
Custom prefix for dashboard UIDs and titles
You can provide a prefix that is prepended to the UID and title of all dashboards that are generated by Gloo Gateway Enterprise. This prefix can be very useful in scenarios where you have multiple enterprise installations that publish dashboards to an external centralized Grafana Server. Providing a unique prefix per installation ensures that all dashboards that are generated by Gloo Gateway Enterprise have a unique UID and title and do not conflict across multiple installations.
To enable this feature, add the prefix that you want to use in the gloo.settings.observabilityOptions.grafanaIntegration.dashboardPrefix
field.
The prefix can have a maximum length of 20 characters.
When you add a prefix, Gloo Gateway generates new Grafana dashboards that contain that prefix in the dashboard name and UID. Previously generated Grafana dashboards are not removed and must be deleted manually.
Extra Metric Query Parameters
You can specify extra query parameters that you want to add to all metric query definitions in the Grafana dashboards that Gloo Gateway generates. For example, you might aggregate metrics from multiple clusters in a central Prometheus server. Without additional query parameters, the Gloo Gateway-generated dashboards pull in the metrics for all of your clusters which can lead to incorrect results and graphs. To ensure that the Gloo Gateway Grafana dashboards show only the metrics for the cluster that you are interested in, you can specify the cluster name as an additional query parameter, such as cluster="my-cluster"
. Only metrics that match this parameter are pulled into the Grafana dashboard.
To enable this feature, add the query parameters that you want to add to the gloo.settings.observabilityOptions.grafanaIntegration.extraMetricQueryParameters
field. Separate multiple query parameters by comma, such as cluster="my-cluster",gateway_proxy_id="proxy-2"
.