From 1cc816a7748338707f68a8014e0785e7c9f4cb25 Mon Sep 17 00:00:00 2001 From: Maxim Svistunov Date: Fri, 30 Aug 2019 15:28:37 +0200 Subject: [PATCH 1/3] Add the "Examining cluster metrics" section --- _topic_map.yml | 2 + images/metrics-screen.png | Bin 0 -> 82442 bytes ...monitoring-contents-of-the-metrics-ui.adoc | 35 ++++++++++++++++++ ...ring-exploring-the-visualized-metrics.adoc | 26 +++++++++++++ .../monitoring-running-metrics-queries.adoc | 23 ++++++++++++ .../examining-cluster-metrics.adoc | 17 +++++++++ .../managing-cluster-alerts.adoc | 2 +- 7 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 images/metrics-screen.png create mode 100644 modules/monitoring-contents-of-the-metrics-ui.adoc create mode 100644 modules/monitoring-exploring-the-visualized-metrics.adoc create mode 100644 modules/monitoring-running-metrics-queries.adoc create mode 100644 monitoring/cluster-monitoring/examining-cluster-metrics.adoc diff --git a/_topic_map.yml b/_topic_map.yml index 0580a911bfe6..0e9a09975cca 100644 --- a/_topic_map.yml +++ b/_topic_map.yml @@ -780,6 +780,8 @@ Topics: File: configuring-the-monitoring-stack - Name: Managing cluster alerts File: managing-cluster-alerts + - Name: Examining cluster metrics + File: examining-cluster-metrics - Name: Accessing Prometheus, Alertmanager, and Grafana File: prometheus-alertmanager-and-grafana - Name: Exposing custom application metrics for autoscaling diff --git a/images/metrics-screen.png b/images/metrics-screen.png new file mode 100644 index 0000000000000000000000000000000000000000..4058f7f196dd18084122f424eea18dbc04402e12 GIT binary patch literal 82442 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 *Metrics* of the {product-title} web console. + +image::../images/metrics-screen.png[] + +. Actions. +* Add query. +* Expand all query tables. +* Delete all queries. +. Hide the plot. +. The interactive plot. +. The catalog of available metrics and functions. +. Add query. +. Run queries. +. Query forms. +. Expand or collapse the form. +. The query. +. Clear query. +. Disable query. +. Actions for a specific query. +* Disable query. +* Hide series of the query from the plot. +* Delete query. +. The metrics table for a query. +. Color assigned to the graph of the metric. Clicking the square shows or hides the metric's graph. + +Additionally, there is a link to the old Prometheus interface next to the title of the page. diff --git a/modules/monitoring-exploring-the-visualized-metrics.adoc b/modules/monitoring-exploring-the-visualized-metrics.adoc new file mode 100644 index 000000000000..4bc6966ecbe7 --- /dev/null +++ b/modules/monitoring-exploring-the-visualized-metrics.adoc @@ -0,0 +1,26 @@ +// Module included in the following assemblies: +// +// * monitoring/cluster-monitoring/examining-cluster-metrics.adoc + +[id="exploring-the-visualized-metrics_{context}"] += Exploring the visualized metrics + +After running the queries, the metrics are displayed on the interactive plot. The X axis of the plot represents time. The Y axis represents the metrics values. Each metric is shown as a colored graph. You can manipulate the plot and explore the metrics. + +.Procedure + +. Initially, all metrics from all enabled queries are shown on the plot. You can select which metrics are shown. +* To hide all metrics from a query, click the action button of the query and click "Hide all series". +* To hide a specific metric, go to the query table and click the colored square near the metric name. +. To zoom into the plot and change the shown time range, do one of the following: ++ +-- +* Visually select the time range by clicking and dragging on the plot horizontally. +* Use the menu in the left upper corner to select the time range. +-- ++ +To reset the time range, click "Reset Zoom". +. To see outputs of all queries at a specific point in time, hold the mouse cursor on the plot at that point. Query outputs will appear in a popup box. +. For more detailed information about metrics of a specific query, expand the table of that query. Every metric is shown with its current value. +. To hide the plot, use the "Hide Graph" button. + diff --git a/modules/monitoring-running-metrics-queries.adoc b/modules/monitoring-running-metrics-queries.adoc new file mode 100644 index 000000000000..ac4c7dcc7a0b --- /dev/null +++ b/modules/monitoring-running-metrics-queries.adoc @@ -0,0 +1,23 @@ +// Module included in the following assemblies: +// +// * monitoring/cluster-monitoring/examining-cluster-metrics.adoc + +[id="running-metrics-queries_{context}"] += Running metrics queries + +You begin working with metrics by entering one or several Prometheus Query Language (PromQL) queries. + +.Procedure + +. Open the OpenShift Container Platform web console and navigate to *Monitoring* -> *Metrics*. + +. In the query field, enter your PromQL query. +* To show all available metrics and PromQL functions, use the "Insert Metric at Cursor" button. +. For multiple queries, use the "Add Query" button. +. For deleting queries, click the action button for the query and select "Delete query". +. For keeping but not running a query, click the "Disable query" button. +. Once you finish creating queries, click the "Run Queries" button. The metrics from the queries are visualized at the plot. + +.Additional resources + +See the link:https://prometheus.io/docs/prometheus/latest/querying/basics/[Prometheus Query Language documentation.] diff --git a/monitoring/cluster-monitoring/examining-cluster-metrics.adoc b/monitoring/cluster-monitoring/examining-cluster-metrics.adoc new file mode 100644 index 000000000000..c40ee23f5cb3 --- /dev/null +++ b/monitoring/cluster-monitoring/examining-cluster-metrics.adoc @@ -0,0 +1,17 @@ +[id="examining-cluster-metrics"] += Examining cluster metrics +include::modules/common-attributes.adoc[] +:context: querying-metrics + +toc::[] + +{product-title} 4 provides a Web interface to Prometheus, which enables you to run Prometheus Query Language (PromQL) queries and examine the metrics visualized on a plot. This provides an extensive overview of the cluster state and enables you to troubleshoot problems. + +include::modules/monitoring-contents-of-the-metrics-ui.adoc[leveloffset=+1] +include::modules/monitoring-running-metrics-queries.adoc[leveloffset=+1] +include::modules/monitoring-exploring-the-visualized-metrics.adoc[leveloffset=+1] + +.Next steps + +xref:../../monitoring/cluster-monitoring/prometheus-alertmanager-and-grafana.adoc#prometheus-alertmanager-and-grafana[Access the Prometheus, Alertmanager, and Grafana.] + diff --git a/monitoring/cluster-monitoring/managing-cluster-alerts.adoc b/monitoring/cluster-monitoring/managing-cluster-alerts.adoc index 84f0431e5f3f..4ec7572c890b 100644 --- a/monitoring/cluster-monitoring/managing-cluster-alerts.adoc +++ b/monitoring/cluster-monitoring/managing-cluster-alerts.adoc @@ -16,5 +16,5 @@ include::modules/monitoring-expiring-silences.adoc[leveloffset=+1] .Next steps -xref:../../monitoring/cluster-monitoring/prometheus-alertmanager-and-grafana.adoc#prometheus-alertmanager-and-grafana[Access the Prometheus, Alertmanager, and Grafana.] +xref:../../monitoring/cluster-monitoring/examining-cluster-metrics.adoc#examining-cluster-metrics[Examine cluster metrics.] From c85c6acd55533daaf139be8acb34d7c2d2351a45 Mon Sep 17 00:00:00 2001 From: Maxim Svistunov Date: Wed, 4 Sep 2019 16:10:56 +0200 Subject: [PATCH 2/3] Several fixes and improvements --- modules/monitoring-contents-of-the-metrics-ui.adoc | 4 ++-- modules/monitoring-running-metrics-queries.adoc | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/monitoring-contents-of-the-metrics-ui.adoc b/modules/monitoring-contents-of-the-metrics-ui.adoc index b50b22a8dae8..16adea91f3f9 100644 --- a/modules/monitoring-contents-of-the-metrics-ui.adoc +++ b/modules/monitoring-contents-of-the-metrics-ui.adoc @@ -17,7 +17,7 @@ image::../images/metrics-screen.png[] * Delete all queries. . Hide the plot. . The interactive plot. -. The catalog of available metrics and functions. +. The catalog of available metrics. . Add query. . Run queries. . Query forms. @@ -27,7 +27,7 @@ image::../images/metrics-screen.png[] . Disable query. . Actions for a specific query. * Disable query. -* Hide series of the query from the plot. +* Hide all series of the query from the plot. * Delete query. . The metrics table for a query. . Color assigned to the graph of the metric. Clicking the square shows or hides the metric's graph. diff --git a/modules/monitoring-running-metrics-queries.adoc b/modules/monitoring-running-metrics-queries.adoc index ac4c7dcc7a0b..1fa524db2434 100644 --- a/modules/monitoring-running-metrics-queries.adoc +++ b/modules/monitoring-running-metrics-queries.adoc @@ -16,7 +16,8 @@ You begin working with metrics by entering one or several Prometheus Query Langu . For multiple queries, use the "Add Query" button. . For deleting queries, click the action button for the query and select "Delete query". . For keeping but not running a query, click the "Disable query" button. -. Once you finish creating queries, click the "Run Queries" button. The metrics from the queries are visualized at the plot. +. Once you finish creating queries, click the "Run Queries" button. The metrics from the queries are visualized on the plot. If a query is invalid, the UI shows an error message. +. Optional: The page URL now contains the queries you ran. To use this set of queries again in the future, save this URL. .Additional resources From 685301517e2129baece11d7849ca58b79f3dda47 Mon Sep 17 00:00:00 2001 From: Maxim Svistunov Date: Thu, 5 Sep 2019 15:25:28 +0200 Subject: [PATCH 3/3] Add a note on running demanding queries --- modules/monitoring-running-metrics-queries.adoc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/monitoring-running-metrics-queries.adoc b/modules/monitoring-running-metrics-queries.adoc index 1fa524db2434..381a17435cb1 100644 --- a/modules/monitoring-running-metrics-queries.adoc +++ b/modules/monitoring-running-metrics-queries.adoc @@ -17,6 +17,12 @@ You begin working with metrics by entering one or several Prometheus Query Langu . For deleting queries, click the action button for the query and select "Delete query". . For keeping but not running a query, click the "Disable query" button. . Once you finish creating queries, click the "Run Queries" button. The metrics from the queries are visualized on the plot. If a query is invalid, the UI shows an error message. ++ +[NOTE] +==== +Queries that operate on large amounts of data might timeout or overload the browser when drawing timeseries graphs. To avoid this, you might prefer to hide the graph and calibrate your query using only the metrics table. Then, after finding a feasible query, enable the plot to draw the graphs. +==== ++ . Optional: The page URL now contains the queries you ran. To use this set of queries again in the future, save this URL. .Additional resources