From f201c79f5dd8a244d6779c3168d0ec78912e40c3 Mon Sep 17 00:00:00 2001
From: eedugon <edu.gherran@gmail.com>
Date: Wed, 2 Aug 2017 11:37:22 +0200
Subject: [PATCH] hints and notes added to handle grafana dashboards

Added some comments to the doc, to:
- Point the directory where make generate should be executed from
- Mention that the dashboard file should be suffixed with "-dashboard.json".
- Added hints to apply the new configMap and restart grafana
---
 docs/developing-alerts-and-dashboards.md | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/docs/developing-alerts-and-dashboards.md b/docs/developing-alerts-and-dashboards.md
index 80630940..908e1132 100644
--- a/docs/developing-alerts-and-dashboards.md
+++ b/docs/developing-alerts-and-dashboards.md
@@ -6,6 +6,8 @@ For both, the Prometheus alerting rules as well as the Grafana dashboards, there
 
 The source of truth for the alerts and dashboards are the files in the `assets/` directory. The respective files have to be changed there and then the `make generate` make target is executed to re-generate the Kubernetes manifests.
 
+Note: `make generate` should be executed from kube-prometheus base directory.
+
 ## Alerts
 
 The `ConfigMap` that is generated and holds the alerting rule files can be found in `manifests/prometheus/prometheus-k8s-rules.yaml`.
@@ -22,6 +24,12 @@ The `ConfigMap` that is generated and holds the dashboard definitions can be fou
 
 As Grafana's support for applying dashboards from files is limited a sidecar (called "grafana-watcher") was implemented. It watches the dashboard definitions provided through the `ConfigMap` and ensures that Grafana's SQLite database is in sync with the dashboard definitions.
 
-To edit/create a dashboard login to Grafana and modify and save the dashboard. Then download the dashboard definition in Grafana through `Share` -> `Export` -> `Save to file`. Move the file to `assets/grafana/` and re-generate the manifests.
+To edit/create a dashboard login to Grafana and modify and save the dashboard. Then download the dashboard definition in Grafana through `Share` -> `Export` -> `Save to file`. Move the file to `assets/grafana/` and re-generate the manifests (executing `make generate` from kube-prometheus base directory).
 
-Then the generated manifest can be applied against a Kubernetes cluster.
+Note: The dashboard json file to be copied in `assets/grafana/` should be suffixed with `-dashboard.json`, otherwise it won't be processed by `make generate`.
+
+Then the generated manifest can be applied against a Kubernetes cluster with something like:
+`kubectl -n monitoring apply -f manifests/grafana/grafana-dashboards.yaml`
+
+And to apply the changes, restart grafana:
+`kubectl -n monitoring delete pod -l app=grafana`
-- 
GitLab