A Prometheus scraper and collection of Grafana dashboards for Okteto Insights
There are four sample dashboards to help you start exploring the data provided by Okteto Insights.
The Node Metrics dashboard is designed to give you a high level overview of cluster health. Focusing on CPU and Memory utilization, this can help you determine if your dev cluster has resources over-provisioned or under-provisioned.
- Node Name: The name of the Kubernetes node to display specific data for.
The Pod Metrics dashboard shows lower level information related to each Kubernetes Pod. This can help you to analyze the performance (memory leaks, CPU optimization, etc.) of the application code running in a particular namespace.
- Namespace: The name of the Okteto Namespace to display specific data for, filtered by the selected
Development Environment
- Development Environment: The specific Okteto Development environment to display data for.
The Build and Deploy Metrics dashboard helps you understand how your application has been evolving over time by giving you data related to build and deploy times.
- Development Environment: Representing the name of the git repository to display specific metrics for. You can choose to see these metrics for the whole cluster or a particular application you have.
The Namespaces, Previews, and Users dashboard gives you metrics which help you measure how the platform is being adopted and used across your organization.
The following sections outline deployment steps for setting up a Prometheus and Grafana bundle that will scrape metrics from Okteto Insights, covering both Okteto and standalone setups.
However, it's important to note that while the provided deployment solution is suitable for testing and development purposes, it may not be optimal for production scenarios.
If deployed via Okteto, it will be protected by default via Private endpoints, but if deployed standalone it will be accessible by anyone with network access.
For production deployments, consider adjusting the settings to fit your security, scalability and persistence requirements.
Environment Variable | Default Value | Description |
---|---|---|
PROMETHEUS_CHART_VERSION |
25.19.1 |
The version of the Prometheus chart to be deployed. |
GRAFANA_CHART_VERSION |
7.3.7 |
The version of the Grafana chart to be deployed. |
PROMETHEUS_RELEASE_NAME |
prometheus |
The name of the Prometheus release. |
GRAFANA_RELEASE_NAME |
grafana |
The name of the Grafana release. |
PROMETHEUS_ARGS |
default helm chart installation flags | Main arguments for deploying the Prometheus chart. |
GRAFANA_ARGS |
default helm chart installation flags | Main arguments for deploying the Grafana chart. |
PROMETHEUS_EXTRA_ARGS |
Extra arguments for the Helm upgrade command when deploying Prometheus. | |
GRAFANA_EXTRA_ARGS |
Extra arguments for the Helm upgrade command when deploying Grafana. |
Before deploying with Okteto, make sure you have the following prerequisites:
- Okteto CLI installed and configured
- Access to the Okteto namespace where you want to deploy Prometheus and Grafana
-
Set up the
INSIGHTS_TOKEN
variable:- Create the
INSIGHTS_TOKEN
variable as a user or admin Okteto variable.
- Create the
-
Run the deployment command or deploy the repository from the Okteto UI:
okteto deploy
This will deploy Prometheus and Grafana using the values of the INSIGHTS_TOKEN
variable from the Okteto environment.
Before deploying standalone, make sure you have the following prerequisites:
- Access to the Kubernetes cluster where you want to deploy Prometheus and Grafana
-
Set up the environment variables:
- Ensure both
INSIGHTS_TOKEN
andDOMAIN
variables are exported.
- Ensure both
-
Run the deployment command:
make add-helm-repos
make deploy-prometheus
make deploy-grafana
This will deploy Prometheus and Grafana using the exported values of INSIGHTS_TOKEN
and DOMAIN
variables.