Skip to content

Commit 218985f

Browse files
author
Jonathan Chauncey
committed
docs(monitoring): Update docs to reflect monitor chart changes
1 parent 1326ba7 commit 218985f

3 files changed

Lines changed: 38 additions & 74 deletions

File tree

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,5 @@ docker-build:
5151

5252
docker-serve:
5353
${DEV_ENV_CMD} ${IMAGE} $(MKDOCSSERVE)
54+
55+
run: docker-build docker-serve

src/managing-workflow/platform-monitoring.md

Lines changed: 20 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
We now include a monitoring stack for introspection on a running Kubernetes cluster. The stack includes 3 components:
66

7-
* [Telegraf](https://docs.influxdata.com/telegraf/v0.12/) - Metrics collection daemon written by team behind InfluxDB.
8-
* [InfluxDB](https://docs.influxdata.com/influxdb/v0.12/) - Time series database
7+
* [Telegraf](https://docs.influxdata.com/telegraf) - Metrics collection daemon written by team behind InfluxDB.
8+
* [InfluxDB](https://docs.influxdata.com/influxdb) - Time series database
99
* [Grafana](http://grafana.org/) - Graphing tool for time series data
1010

1111
## Architecture Diagram
@@ -40,24 +40,25 @@ We now include a monitoring stack for introspection on a running Kubernetes clus
4040
└──────────┘
4141
```
4242

43-
## Grafana
44-
45-
Deis Workflow exposes Grafana through the router using [service annotations](https://github.com/deis/router#how-it-works). This
46-
allows users to access the Grafana UI at `http://grafana.mydomain.com`. The default username/password of
47-
`admin/admin` can be overridden at Workflow chart install time by modifying the appropriate values under the `monitor` section in Workflow's global [values.yaml](https://github.com/deis/workflow/blob/master/charts/workflow/values.yaml) or via `--set`:
48-
49-
```
50-
helm install <workflow repo>/workflow --namespace deis \
51-
--set monitor.grafana.user=$GRAFANA_USER,monitor.grafana.password=$GRAFANA_PASSWORD
52-
```
43+
## [Grafana](https://grafana.com/)
44+
Grafana allows users to create custom dashboards that visualize the data captured to the running InfluxDB component. By default Grafana is exposed using a [service annotation](https://github.com/deis/router#how-it-works) through the router at the following URL: `http://grafana.mydomain.com`. The default login is `admin/admin`. If you are interested in changing these values please see [Tuning Component Settings][].
5345

5446
Grafana will preload several dashboards to help operators get started with monitoring Kubernetes and Deis Workflow.
5547
These dashboards are meant as starting points and don't include every item that might be desirable to monitor in a
5648
production installation.
5749

5850
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.
5951

52+
### Production Configuration
53+
A production install of Grafana should have the following configuration values changed if possible:
54+
55+
* Change the default username and password from `admin/admin`. The value for the password is passed in plain text so it is best to set this value on the command line instead of checking it into version control.
56+
* Enable persistence
57+
* Use a supported external database such as mysql or postgres. You can find more information [here](https://github.com/deis/monitor/blob/master/grafana/rootfs/usr/share/grafana/grafana.ini.tpl#L62)
58+
59+
6060
### On Cluster Persistence
61+
Enabling persistence will allow your custom configuration to persist across pod restarts. This means that the default sqllite database (which stores things like sessions and user data) will not disappear if you upgrade the Workflow installation.
6162

6263
If you wish to have persistence for Grafana you can set `enabled` to `true` in the `values.yaml` file before running `helm install`.
6364

@@ -70,30 +71,14 @@ If you wish to have persistence for Grafana you can set `enabled` to `true` in t
7071
size: 5Gi # PVC size
7172
```
7273

73-
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.
74-
75-
7674
### Off Cluster Grafana
7775

7876
If you wish to provide your own Grafana instance you can set `grafana_location` in the `values.yaml` file before running `helm install`.
7977

80-
## InfluxDB
81-
82-
InfluxDB writes data to the host disk, however, if the InfluxDB pod dies and comes back on
83-
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
84-
exposed through the router allowing users to access the query engine by going to `influx.mydomain.com`. You will need to
85-
configure where to find the `influx-api` endpoint by clicking the "gear" icon at the top right and changing the host to
86-
`influxapi.mydomain.com` and port to `80`.
87-
88-
** Note: Each user accessing the Influx UI will need to make this change. **
89-
90-
You can choose to not expose the Influx UI and API to the world by updating
91-
`$CHART_HOME/workspace/workflow-$WORKFLOW_RELEASE/manifests/deis-monitor-influxdb-api-svc.yaml` and
92-
`$CHART_HOME/workspace/workflow-$WORKFLOW_RELEASE/manifests/deis-monitor-influxdb-ui-svc.yaml` and removing the
93-
following line - `router.deis.io/routable: "true"`.
78+
## [InfluxDB](https://docs.influxdata.com/influxdb)
79+
InfluxDB writes data to the host disk; however, if the InfluxDB pod dies and comes back on another host, the data will not be recovered. The InfluxDB Admin UI is also exposed through the router allowing users to access the query engine by going to `influx.mydomain.com`. You will need to configure where to find the `influx-api` endpoint by clicking the "gear" icon at the top right and changing the host to `influxapi.mydomain.com` and port to `80`.
9480

9581
### On Cluster Persistence
96-
9782
If you wish to have persistence for InfluxDB you can set `enabled` to `true` in the `values.yaml` file before running `helm install`.
9883

9984
```
@@ -105,9 +90,6 @@ If you wish to have persistence for InfluxDB you can set `enabled` to `true` in
10590
size: 5Gi # PVC size
10691
```
10792

108-
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.
109-
110-
11193
### Off Cluster Influxdb
11294

11395
To use off-cluster Influx, please provide the following values in the `values.yaml` file before running `helm install`.
@@ -119,41 +101,7 @@ To use off-cluster Influx, please provide the following values in the `values.ya
119101
* `password = "MysuperSecurePassword"`
120102

121103

122-
## PVC Dynamic Provisioning
123-
124-
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).
125-
126-
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`.
127-
128-
Note: GCE/GKE and AWS have different `StorageClass` settings.
129-
130-
GCE/GKE `storage-standard.yaml` manifest:
131-
132-
```
133-
kind: StorageClass
134-
apiVersion: storage.k8s.io/v1beta1
135-
metadata:
136-
name: standard
137-
provisioner: kubernetes.io/gce-pd
138-
parameters:
139-
type: pd-standard
140-
```
141-
142-
143-
AWS `storage-standard.yaml` manifest:
144-
145-
```
146-
kind: StorageClass
147-
apiVersion: storage.k8s.io/v1beta1
148-
metadata:
149-
name: standard
150-
provisioner: kubernetes.io/aws-ebs
151-
parameters:
152-
type: gp2
153-
```
154-
155-
156-
## Telegraf
104+
## [Telegraf](https://docs.influxdata.com/telegraf)
157105

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

@@ -163,6 +111,8 @@ Telegraf is the metrics collection daemon used within the monitoring stack. It w
163111

164112
It is possible to send these metrics to other endpoints besides InfluxDB. For more information please consult the following [file](https://github.com/deis/monitor/blob/master/telegraf/rootfs/config.toml.tpl)
165113

166-
### Customizing
114+
### Customizing the Monitoring Stack
115+
116+
To learn more about customizing each of the above components please visit the [Tuning Component Settings][] section.
167117

168-
To learn more about customizing each of the above components please visit the [monitor](https://github.com/deis/monitor) repository for more information.
118+
[Tuning Component Settings]: tuning-component-settings.md#customizing-the-monitor

src/managing-workflow/tuning-component-settings.md

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -130,10 +130,22 @@ NUMBER_OF_LINES | How many lines to store in the ring buffer (default: 1000)
130130

131131
## Customizing the Monitor
132132

133-
The monitor component uses [Telegraf](https://github.com/influxdata/telegraf) under the hood, and
134-
derives most of its configuration from it. Please see
135-
[telegraf configuration](https://github.com/influxdata/telegraf/blob/master/docs/CONFIGURATION.md)
136-
for more information on tuning the [Monitor][] component.
133+
### [Grafana](https://grafana.com/)
134+
We have exposed some of the more useful configuration values directly in the chart. This allows them to be set using either the `values.yaml` file or by using the `--set` flag with the Helm CLI. You can see these options below:
135+
136+
Setting | Default Value | Description
137+
----------------- | -------------- |------------ |
138+
user | "admin" | The first user created in the database (this user has admin privileges)
139+
password | "admin" | Password for the first user.
140+
allow_sign_up | "true" | Allows users to sign up for an account.
141+
142+
For a list of other options you can set by using environment variables please see the [configuration file](https://github.com/deis/monitor/blob/master/grafana/rootfs/usr/share/grafana/grafana.ini.tpl) in Github.
143+
144+
### [Telegraf](https://docs.influxdata.com/telegraf)
145+
For a list of configuration values that can be set by using environment variables please see the following [configuration file](https://github.com/deis/monitor/blob/master/telegraf/rootfs/config.toml.tpl).
146+
147+
### [InfluxDB](https://docs.influxdata.com/influxdb)
148+
You can find a list of values that can be set using environment variables [here](https://github.com/deis/monitor/blob/master/influxdb/rootfs/home/influxdb/config.toml.tpl).
137149

138150
## Customizing the Registry
139151

0 commit comments

Comments
 (0)