Setup grafana dashboards#
Now, we will deploy some specific dashboards to the grafana instance we deployed as part of Configure and deploy the support chart.
See also
It is also possible to enable logging in with GitHub to allow Community Representatives and Hub Administrators to access these dashboards as well.
Warning
We should enable GitHub login for all Grafana dashboards running on dedicated clusters, so the Community Representatives have access to them.
Login to the cluster-specific grafana#
Eventually, visiting GRAFANA_URL
(which we set in Configure and deploy the support chart) will present you with a login page.
Here are the credentials for logging in:
username:
admin
password: located in
helm-charts/support/enc-support.secret.values.yaml
(sops
encrypted).
Create an API key to auto-deploy the dashboards#
Once the support chart is deployed and you are able to log into grafana as the admin user, you can generate an API key.
You can do this by running a deployer command:
export CLUSTER_NAME=<cluster-name>
deployer grafana new-token $CLUSTER_NAME
If the command succeeded, it should have created:
a Grafana service account named
deployer
a token named
deployer
for this service accountthe following sops-ecrypted file
config/clusters/<cluster>/enc-grafana-token.secret.yaml
, with a content similar to:grafana_token: token
The encrypted file can now be committed to the repository.
Note
This key will be used by the deploy-grafana-dashboards
workflow to deploy some default grafana dashboards for JupyterHub using jupyterhub/grafana-dashboards
.
Deploying the Grafana Dashboards locally#
You can deploy the dashboards locally using the deployer:
deployer grafana deploy-dashboards $CLUSTER_NAME
Deploying the Grafana Dashboards from CI/CD#
Once you’ve pushed the encrypted grafana_token
to the GitHub repository, it will be possible to manually trigger the deploy-grafana-dashboards
workflow using the “Run workflow” button to deploy the dashboards.
You will first need to add the name of the cluster as a matrix entry in the deploy-grafana-dashboards.yaml
workflow file and commit the change to the repo.
Note
The workflow only runs when manually triggered.
Any re-triggering of the workflow after the initial deployment will overwrite any dashboard created from the Grafana UI and not stored in the jupyterhub/grafana-dashboards
repository.
Granting grafana access to the community representative#
Once you have setup the grafana instance, you may wish to Give Grafana access to a community representative only if the cluster is dedicated to one community.