From 99cbf2dcbc5728d38e838f772b2155e84721d9c3 Mon Sep 17 00:00:00 2001 From: Dmitry Shurupov Date: Wed, 19 Sep 2018 20:35:16 +0700 Subject: [PATCH] small fixes for README text --- README.md | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index bb09848..7e2deaa 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ above. These objects should have _discrete statuses_ which are sets of predefine ### Prometheus To work with data from Prometheus you will need to setup discrete statuses of your objects. -Here are requirements to store these statuses in metrics: +Requirements to store these statuses in metrics are as follows: * metrics should have two values: `0` and `1`; * there should be a label with status' value. @@ -55,49 +55,48 @@ When it's done, you can collect all the data via query, e.g.: (max_over_time(coffee_maker_status{status=""}[$__interval]) == 1) * ``` -If there was no such status (``) during query's interval, Prometheus will +If there was no such status (``) during query's interval, Prometheus would return nothing. Otherwise, status' value will be returned. -For example, if you have 5 statuses and metric has possible values (0,1,2,3,4) then it -should be transformed into previous form with this rule: +For example, if you have 5 statuses and a metric (`coffee_maker_status`) with 5 allowed +values (`0`, `1`, `2`, `3`, `4`), you should transform this metric using the following rule: ``` - record: coffee_maker_status:discrete expr: | count_values("status", coffee_maker_status) - ``` -This rule will transform `coffee_maker_status` metric with value `3` into new metric: +That's how `coffee_maker_status` metric with value `3` will be transformed into new metric: ``` coffee_maker_status:discrete{status="3"} 1 ``` -Now, Prometheus has `0` and `1` values for each status as required. These metrics can be aggregated, -so you will get all available statuses over time. +Now, when Prometheus has `0` and `1` values for each status, all these metrics can be +aggregated, so you will get all available statuses of your objects over time. ### Panel -First of all, each possible status value corresponds to a separate query. Each query should have -similar legend for grouping: +First of all, an individual query for each possible status' value should be created. +Each query should also have similar legend for grouping: ![Query setup](https://raw.githubusercontent.com/flant/grafana-statusmap/master/src/img/queries-example.png) -Then, color mapping for status values should be defined in __Discrete__ color mode: +Then, color mapping for status' values should be defined in __Discrete__ color mode: ![Color mapping](https://raw.githubusercontent.com/flant/grafana-statusmap/master/src/img/color-mapping.png) -Note: __Spectrum__ and __Opacity__ color modes function the same way they do in [Heatmap](https://grafana.com/plugins/heatmap) plugin. +_Note: __Spectrum__ and __Opacity__ color modes function the same way they do in [Heatmap](https://grafana.com/plugins/heatmap) plugin._ ### More options ![Bucket options](https://raw.githubusercontent.com/flant/grafana-statusmap/master/src/img/options-bucket.png) -__Multiple values__ checkbox determine multiple values display mode: +__Multiple values__ checkbox specifies how they should be displayed: * If it's off, multiple values for one bucket are treated as error; -* If it's on, color for bucket would be determined by the value having least index in color mapping. +* If it's on, color for such bucket would be determined by the value having least index in color mapping. ![Color mapping](https://raw.githubusercontent.com/flant/grafana-statusmap/master/src/img/multiple-values-error.png) @@ -114,7 +113,7 @@ __Rounding__ may be used to round edges. ## Development To test and improve the plugin you can run Grafana instance in Docker using following command (in -the directory containing the plugin): +the directory containing Statusmap plugin): ``` docker run --rm -it -v $PWD:/var/lib/grafana/plugins/flant-statusmap-panel \ @@ -132,9 +131,9 @@ grunt watch ## Acknowledgements -The first public release of this plugin has been fully prepared by [Flant](https://flant.com/) engineers. Idea comes from Dmitry Stolyarov ([@distol](https://github.com/distol)), initial version is written by Sergey Gnuskov ([@gsmetal](https://github.com/gsmetal)) and final changes are made by Ivan Mikheykin ([@diafour](https://github.com/diafour)). +The first public release of this plugin has been fully made by [Flant](https://flant.com/) engineers. The whole idea has come from Dmitry Stolyarov ([@distol](https://github.com/distol)), initial version has been written by Sergey Gnuskov ([@gsmetal](https://github.com/gsmetal)) and final changes has been made by Ivan Mikheykin ([@diafour](https://github.com/diafour)). -This plugin is based on "Heatmap" panel by Grafana and inspired by ideas from Carpet plot, Discrete panel, Status Panel, Status Dot, Status By Group. +This plugin is based on "Heatmap" panel by Grafana and partly inspired by ideas from Carpet plot, Discrete panel, Status Panel, Status Dot, Status By Group. #### Changelog