forked from wordshaker/katacoda-scenarios
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Remove top paragraph As it doesn't provide any value * Correct grammar and definition in Step 7 * Amend names of metrics in grafana * Fix grammatical error in step 10
- Loading branch information
Jessica White
authored
Sep 2, 2018
1 parent
f69218f
commit b3d792b
Showing
5 changed files
with
11 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,25 @@ | ||
# RED and The Four Golden Signals | ||
|
||
So far, we have set up StatsD, Graphite and Grafana, ran an API that returns given responses and now we have come to the point where we need to build our dashboard. | ||
So far, we have set up StatsD, Graphite and Grafana and ran an API that returns given responses. Now we have come to the point where we need to build our dashboard. | ||
|
||
As we have set up an API that is you can manipulate the response of, we can demonstrate some useful ways we can monitor the behaviour of API's and why. | ||
As we have set up an API that you can manipulate the response of, we can demonstrate some useful ways we can monitor the behaviour of API's and why. | ||
|
||
RED is discussed in [this blog written by Peter Bourgon](https://peter.bourgon.org/blog/2016/02/07/logging-v-instrumentation.html) is a mnemonic coined by Tom Wilkie. Much like [Brendan's Gregg USE methods for measuring system resources](http://www.brendangregg.com/usemethod.html), RED is suggested as baseline measurements for API's. | ||
RED, which is discussed in [this blog written by Peter Bourgon],(https://peter.bourgon.org/blog/2016/02/07/logging-v-instrumentation.html) is a mnemonic coined by Tom Wilkie. Much like [Brendan's Gregg USE methods for measuring system resources and services](http://www.brendangregg.com/usemethod.html), RED is suggested as baseline measurements for API's. | ||
|
||
- **R**ate - a count of requests over time | ||
|
||
- **E**rror - a count of error over time | ||
|
||
- **D**uration - the time between request and response. | ||
|
||
These principles are echoed in the [Google Four Golden Signals mentioned in the Distributed Systems chapter of their SRE book](https://landing.google.com/sre/book/chapters/monitoring-distributed-systems.html). | ||
These principles are echoed in the [Google Four Golden Signals mentioned in the Monitoring Distributed Systems chapter of their SRE book](https://landing.google.com/sre/book/chapters/monitoring-distributed-systems.html). | ||
|
||
1. Latency - the time between request and response but with a focus of the difference between successful and erroring requests. | ||
|
||
2. Traffic - requests per second. A measure of the load on the API. | ||
|
||
3. Errors - same as before, a count of errors. | ||
|
||
4. Saturation - measures of the systems utilisation. Is the memory, I/O or CPU reaching capacity for example. | ||
4. Saturation - what percentage of your systems resources is currently in use. | ||
|
||
In this next section, we shall build a dashboard reflecting the above principles focusing on the principles that overlap between these two frameworks. Saturation is difficult to set up for the current set up and within the timeframe of this demo. | ||
In this next section, we shall build a dashboard reflecting the above principles focusing on the principles that overlap between these two frameworks. Saturation is difficult to demonstrate accurately with the set up and timeframe for this demo. Ideally you would need to have conducted load testing to find out the capacity of your systems, and set alerts or visual cues around when your are getting close enough to that capacity that you would need to take action. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters