Skip to content

Commit 233b630

Browse files
author
Matthew Fisher
committed
fix(managing-workflow): update logging and monitoring docs to reflect helm v2
1 parent 94ff422 commit 233b630

2 files changed

Lines changed: 25 additions & 32 deletions

File tree

src/managing-workflow/platform-logging.md

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,38 +11,20 @@ If the message is from the [Workflow Router](https://github.com/deis/router) we
1111
Logger then acts as a consumer reading messages off of the NSQ logs topic storing those messages in a local Redis instance. When a user wants to retrieve log entries using the `deis logs` command we make an HTTP request from Controller to Logger which then fetches the appropriate data from Redis.
1212

1313
## Configuring Off Cluster Redis
14-
Even though we provide a redis instance with the default Workflow install. It is recommended that operators use a 3rd party source like Elasticache or similar offering. This way your data is durable across upgrades or outages. If you have a 3rd party Redis installation you would like to use all you need to do is set the following values in `generate_params.toml` within your chart's tpl directory.
14+
15+
Even though we provide a redis instance with the default Workflow install, it is recommended that operators use a third-party source like Elasticache or similar offering. This way your data is durable across upgrades or outages. If you have a third-party Redis installation you would like to use all you need to do is set the following values in your helm chart:
1516

1617
* db = "0"
1718
* host = "my.host.redis"
1819
* port = "6379"
1920
* password = ""
2021

21-
You can also provide this environment variables when you run your `helm generate` command instead of editing `generate_params.toml`.
22-
23-
* LOGGER_REDIS_LOCATION="off-cluster"
24-
* DEIS_LOGGER_REDIS_DB="0"
25-
* DEIS_LOGGER_REDIS_SERVICE_HOST="my.host.redis"
26-
* DEIS_LOGGER_REDIS_SERVICE_PORT="6379"
27-
28-
The database password can also be set as a kubernetes secret using the following name: `logger-redis-creds`.
29-
30-
```
31-
apiVersion: v1
32-
kind: Secret
33-
metadata:
34-
name: logger-redis-creds
35-
namespace: deis
36-
labels:
37-
app: deis-logger-redis
38-
heritage: deis
39-
annotations:
40-
helm-keep: "true"
41-
data:
42-
password: your-base64-password-here
43-
```
22+
These can be changed by running `helm inspect values deis/workflow > values.yaml` before using
23+
`helm install` to complete the installation. To customize the redis credentials, edit `values.yaml`
24+
and modify the `redis` section of the file to tune these settings.
4425

4526
## Debugging Logger
27+
4628
If the `deis logs` command encounters an error it will return the following message:
4729

4830
```
@@ -53,6 +35,7 @@ Error: There are currently no log messages. Please check the following things:
5335
```
5436

5537
## Architecture Diagram
38+
5639
```
5740
┌────────┐
5841
│ Router │ ┌────────┐ ┌─────┐
@@ -84,9 +67,12 @@ Error: There are currently no log messages. Please check the following things:
8467
```
8568

8669
## Default Configuration
70+
8771
By default the Fluentd pod can be configured to talk to numerous syslog endpoints. So for example it is possible to have Fluentd send log messages to both the Logger component and [Papertrail](https://papertrailapp.com/). This allows production deployments of Deis to satisfy stringent logging requirements such as offsite backups of log data.
8872

89-
Configuring Fluentd to talk to multiple syslog endpoints means adding the following stanzas to the [Fluentd daemonset manifest](https://github.com/deis/charts/blob/master/workflow-v2.9.1/tpl/deis-logger-fluentd-daemon.yaml) -
73+
Configuring Fluentd to talk to multiple syslog endpoints means modifying the Fluentd daemonset
74+
manifest. This means you will need to fetch the chart with `helm fetch deis/workflow --untar`, then
75+
modify `workflow/charts/fluentd/templates/logger-fluentd-daemon.yaml` with the following:
9076

9177
```
9278
env:
@@ -111,5 +97,8 @@ env:
11197
value: "5144"
11298
```
11399

100+
Then run `helm install ./workflow --namespace deis` to install the modified chart.
101+
114102
### Customizing:
103+
115104
We currently support logging information to Syslog, Elastic Search, and Sumo Logic. However, we will gladly accept pull requests that add support to other locations. For more information please visit the [fluentd repository](https://github.com/deis/fluentd).

src/managing-workflow/platform-monitoring.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
# Platform Monitoring
22

33
## Description
4+
45
We now include a monitoring stack for introspection on a running Kubernetes cluster. The stack includes 3 components:
56

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

1011
## Architecture Diagram
12+
1113
```
1214
┌────────┐
1315
│ Router │ ┌────────┐ ┌─────┐
@@ -55,7 +57,8 @@ instance fails, modified dashboards are lost. Until there is a solution to persi
5557
them separately in version control.
5658

5759
### Off Cluster Grafana
58-
It is recommended that users provide their own installation for Grafana if possible. The current deployment of Grafana within Workflow is 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 either set the `GRAFANA_LOCATION` environment variable when your run `helm generate` or set `grafana_location` in the generate_params.toml.
60+
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`.
5962

6063
## InfluxDB
6164

@@ -73,13 +76,14 @@ You can choose to not expose the Influx UI and API to the world by updating
7376
following line - `router.deis.io/routable: "true"`.
7477

7578
### Off Cluster Influxdb
76-
To use off-cluster Influx please provide the following values in either the `generate_params.toml` file or as environment variables when running `helm generate`.
7779

78-
* `influxdb_location=off-cluster` - `INFLUXDB_LOCATION=off-cluster`
79-
* `url = "http://my-influxhost.com:8086"` - `INFLUXDB_SERVICE_URL="http://my-influxhost.com:8086"`
80-
* `database = "metrics"` - `INFLUXDB_DATABASE="metrics"`
81-
* `user = "InfluxUser"` - `INFLUXDB_USER="InfluxUser"`
82-
* `password = "MysuperSecurePassword"` - `INFLUXDB_PASSWORD="MysuperSecurePassword"`
80+
To use off-cluster Influx, please provide the following values in the `values.yaml` file before running `helm install`.
81+
82+
* `influxdb_location=off-cluster`
83+
* `url = "http://my-influxhost.com:8086"`
84+
* `database = "metrics"`
85+
* `user = "InfluxUser"`
86+
* `password = "MysuperSecurePassword"`
8387

8488
## Telegraf
8589

0 commit comments

Comments
 (0)