Skip to content

Commit a5f92eb

Browse files
rimuszVaughn Dice
authored andcommitted
docs(monitoring): document grafana and influxdb persistence (#713)
* docs(monitoring): document grafana and influxdb persistence * docs(monitoring): document grafana and influxdb persistence * docs(monitoring): document grafana and influxdb persistence
1 parent 6307677 commit a5f92eb

1 file changed

Lines changed: 70 additions & 5 deletions

File tree

src/managing-workflow/platform-monitoring.md

Lines changed: 70 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,18 +52,32 @@ Grafana will preload several dashboards to help operators get started with monit
5252
These dashboards are meant as starting points and don't include every item that might be desirable to monitor in a
5353
production installation.
5454

55-
Deis Workflow monitoring does not currently write data to the host filesystem or to long-term storage. If the Grafana
56-
instance fails, modified dashboards are lost. Until there is a solution to persist this, export dashboards and store
57-
them separately in version control.
55+
Deis Workflow monitoring by default does not write data to the host filesystem or to long-term storage. If the Grafana instance fails, modified dashboards are lost.
56+
57+
### On Cluster Persistence
58+
59+
If you wish to have persistence for Grafana you can set `enabled` to `true` in the `values.yaml` file before running `helm install`.
60+
61+
```
62+
grafana:
63+
# Configure the following ONLY if you want persistence for on-cluster grafana
64+
# GCP PDs and EBS volumes are supported only
65+
persistence:
66+
enabled: true # Set to true to enable persistence
67+
size: 5Gi # PVC size
68+
```
69+
70+
You have to set (if you do not have it already) `standard` StorageClass as per [PVC Dynamic Provisioning](#pvc-dynamic-provisioning), as it does not get set by default in Kubernetes v1.4.x and v1.5.x.
71+
5872

5973
### Off Cluster Grafana
6074

61-
It is recommended that users provide their own installation for Grafana if possible. The current deployment of Grafana within Workflow is not durable across pod restarts which means custom dashboards that are created after startup will not be restored when the pod comes back up. If you wish to provide your own Grafana instance you can set `grafana_location` in the `values.yaml` file before running `helm install`.
75+
If you wish to provide your own Grafana instance you can set `grafana_location` in the `values.yaml` file before running `helm install`.
6276

6377
## InfluxDB
6478

6579
InfluxDB writes data to the host disk, however, if the InfluxDB pod dies and comes back on
66-
another host the data will not be recovered. We intend to fix this in a future release. The InfluxDB Admin UI is also
80+
another host, the data will not be recovered you need to enable on-cluster persistence for data to persist. The InfluxDB Admin UI is also
6781
exposed through the router allowing users to access the query engine by going to `influx.mydomain.com`. You will need to
6882
configure where to find the `influx-api` endpoint by clicking the "gear" icon at the top right and changing the host to
6983
`influxapi.mydomain.com` and port to `80`.
@@ -75,6 +89,22 @@ You can choose to not expose the Influx UI and API to the world by updating
7589
`$CHART_HOME/workspace/workflow-$WORKFLOW_RELEASE/manifests/deis-monitor-influxdb-ui-svc.yaml` and removing the
7690
following line - `router.deis.io/routable: "true"`.
7791

92+
### On Cluster Persistence
93+
94+
If you wish to have persistence for InfluxDB you can set `enabled` to `true` in the `values.yaml` file before running `helm install`.
95+
96+
```
97+
influxdb:
98+
# Configure the following ONLY if you want persistence for on-cluster grafana
99+
# GCP PDs and EBS volumes are supported only
100+
persistence:
101+
enabled: true # Set to true to enable persistence
102+
size: 5Gi # PVC size
103+
```
104+
105+
You have to set (if you do not have it already) `standard` StorageClass as per [PVC Dynamic Provisioning](#pvc-dynamic-provisioning), as it does not get set by default in Kubernetes v1.4.x and v1.5.x.
106+
107+
78108
### Off Cluster Influxdb
79109

80110
To use off-cluster Influx, please provide the following values in the `values.yaml` file before running `helm install`.
@@ -85,6 +115,41 @@ To use off-cluster Influx, please provide the following values in the `values.ya
85115
* `user = "InfluxUser"`
86116
* `password = "MysuperSecurePassword"`
87117

118+
119+
## PVC Dynamic Provisioning
120+
121+
Kubernetes v1.4.x has introduced Dynamic Provisioning and Storage Classes, you can read about it [here](http://blog.kubernetes.io/2016/10/dynamic-provisioning-and-storage-in-kubernetes.html).
122+
123+
To use persistence for Grafana and InfluxDB you also need to deploy StorageClass objects to the Kubernetes cluster with `kubectl create -f storage-standard.yaml`.
124+
125+
Note: GCE/GKE and AWS have different `StorageClass` settings.
126+
127+
GCE/GKE `storage-standard.yaml` manifest:
128+
129+
```
130+
kind: StorageClass
131+
apiVersion: storage.k8s.io/v1beta1
132+
metadata:
133+
name: standard
134+
provisioner: kubernetes.io/gce-pd
135+
parameters:
136+
type: pd-standard
137+
```
138+
139+
140+
AWS `storage-standard.yaml` manifest:
141+
142+
```
143+
kind: StorageClass
144+
apiVersion: storage.k8s.io/v1beta1
145+
metadata:
146+
name: standard
147+
provisioner: kubernetes.io/aws-ebs
148+
parameters:
149+
type: gp2
150+
```
151+
152+
88153
## Telegraf
89154

90155
Telegraf is the metrics collection daemon used within the monitoring stack. It will collect and send the following metrics to InfluxDB:

0 commit comments

Comments
 (0)