Accessing metrics

You access metrics through the Grafana UI. Grafana is the visualization tool for Prometheus.

Grafana

  1. To open Grafana, enter the following command:
kubectl port-forward --namespace knative-monitoring \
$(kubectl get pods --namespace knative-monitoring \
--selector=app=grafana --output=jsonpath="{.items..metadata.name}") \
3000
  • This starts a local proxy of Grafana on port 3000. For security reasons, the Grafana UI is exposed only within the cluster.
  1. Navigate to the Grafana UI at http://localhost:3000.

  2. Select the Home button on the top of the page to see the list of pre-installed dashboards (screenshot below): Knative Dashboards

The following dashboards are pre-installed with Knative Serving:

  • Revision HTTP Requests: HTTP request count, latency, and size metrics per revision and per configuration
  • Nodes: CPU, memory, network, and disk metrics at node level
  • Pods: CPU, memory, and network metrics at pod level
  • Deployment: CPU, memory, and network metrics aggregated at deployment level
  • Istio, Mixer and Pilot: Detailed Istio mesh, Mixer, and Pilot metrics
  • Kubernetes: Dashboards giving insights into cluster health, deployments, and capacity usage
  1. Set up an administrator account to modify or add dashboards by signing in with username: admin and password: admin.
  • Before you expose the Grafana UI outside the cluster, make sure to change the password. You will be prompted to set a password on first login, and it can later be changed at http://localhost:3000/org/users.

Prometheus

Although Grafana provides a richer set of graphing functionality, Prometheus can still be useful for debugging.

  1. To open Prometheus, enter the following command:
kubectl port-forward -n knative-monitoring \
$(kubectl get pods -n knative-monitoring \
--selector=app=prometheus --output=jsonpath="{.items[0].metadata.name}") \
9090
  • This starts a local proxy of Prometheus on port 9090. For security reasons, the Prometheus UI is exposed only within the cluster.
  1. Navigate to the Prometheus UI at http://localhost:9090

Metrics Troubleshooting

You can use the Prometheus web UI to troubleshoot publishing and service discovery issues for metrics.

  • To see the targets that are being scraped, go to Status -> Targets
  • To see what Prometheus service discovery is picking up vs. dropping, go to Status -> Service Discovery
  • To see a specific metric you can search for in the in search box on the top of the page

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License.