Skip to content

Commit f03f20a

Browse files
authored
Merge pull request #70711 from shreyasiddhartha/ER-powermon
OBSDOCS-582: Docs for Power Monitoring Tech Preview
2 parents f621dbb + 310d206 commit f03f20a

25 files changed

+566
-0
lines changed

_attributes/common-attributes.adoc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,13 @@ endif::[]
148148
:loki-op: Loki Operator
149149
:es-op: OpenShift Elasticsearch Operator
150150
:log-plug: logging subsystem Console plugin
151+
//power monitoring
152+
:PM-title-c: Power monitoring for Red Hat OpenShift
153+
:PM-title: power monitoring for Red Hat OpenShift
154+
:PM-shortname: power monitoring
155+
:PM-shortname-c: Power monitoring
156+
:PM-operator: Power monitoring Operator
157+
:PM-kepler: Kepler
151158
//serverless
152159
:ServerlessProductName: OpenShift Serverless
153160
:ServerlessProductShortName: Serverless

_topic_maps/_topic_map.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2699,6 +2699,23 @@ Topics:
26992699
- Name: Configuring the Cluster Observability Operator to monitor a service
27002700
File: configuring-the-cluster-observability-operator-to-monitor-a-service
27012701
---
2702+
Name: Power monitoring
2703+
Dir: power_monitoring
2704+
Distros: openshift-enterprise,openshift-origin
2705+
Topics:
2706+
- Name: Power monitoring release notes
2707+
File: power-monitoring-release-notes
2708+
- Name: Power monitoring overview
2709+
File: power-monitoring-overview
2710+
- Name: Installing power monitoring
2711+
File: installing-power-monitoring
2712+
- Name: Configuring power monitoring
2713+
File: configuring-power-monitoring
2714+
- Name: Visualizing power monitoring metrics
2715+
File: visualizing-power-monitoring-metrics
2716+
- Name: Uninstalling power monitoring
2717+
File: uninstalling-power-monitoring
2718+
---
27022719
Name: Distributed tracing
27032720
Dir: distr_tracing
27042721
Distros: openshift-enterprise
190 KB
Loading
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * power_monitoring/power-monitoring-overview.adoc
4+
5+
:_mod-docs-content-type: CONCEPT
6+
[id="power-monitoring-about-power-monitoring_{context}"]
7+
= About {PM-shortname}
8+
9+
You can use {PM-title} to monitor the power usage and identify power-consuming containers running in an {product-title} cluster. {PM-shortname-c} collects and exports energy-related system statistics from various components, such as CPU and DRAM. It provides granular power consumption data for Kubernetes pods, namespaces, and nodes.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Module included in the following assemblies:
2+
3+
// * power_monitoring/visualizing-power-monitoring-metrics.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="power-monitoring-accessing-dashboards_{context}"]
7+
= Accessing {PM-shortname} dashboards
8+
9+
You can access {PM-shortname} dashboards from the *Administrator* perspective of the {product-title} web console.
10+
11+
.Prerequisites
12+
13+
* You have access to the {product-title} web console.
14+
* You are logged in as a user with the `cluster-admin` role.
15+
* You have installed the {PM-operator}.
16+
* You have deployed {PM-kepler} in your cluster.
17+
* You have enabled monitoring for user-defined projects.
18+
19+
.Procedure
20+
21+
. In the *Administrator* perspective of the web console, go to *Observe* -> *Dashboards*.
22+
23+
. From the *Dashboard* drop-down list, select the {PM-shortname} dashboard you want to see:
24+
** *Power Monitoring / Overview*
25+
** *Power Monitoring / Namespace*
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
// Module included in the following assemblies:
2+
3+
// * power_monitoring/visualizing-power-monitoring-metrics.adoc
4+
5+
:_mod-docs-content-type: CONCEPT
6+
[id="power-monitoring-dashboards-overview_{context}"]
7+
= {PM-shortname-c} dashboards overview
8+
9+
There are two types of {PM-shortname} dashboards. Both provide different levels of details around power consumption metrics for a single cluster:
10+
11+
[discrete]
12+
== Power Monitoring / Overview dashboard
13+
14+
With this dashboard, you can observe the following information:
15+
16+
* An aggregated view of CPU architecture and its power source (`rapl-sysfs`, `rapl-msr`, or `estimator`) along with total nodes with this configuration
17+
18+
* Total energy consumption by a cluster in the last 24 hours (measured in kilowatt-hour)
19+
20+
* The amount of power consumed by the top 10 namespaces in a cluster in the last 24 hours
21+
22+
* Detailed node information, such as its CPU architecture and component power source
23+
24+
These features allow you to effectively monitor the energy consumption of the cluster without needing to investigate each namespace separately.
25+
26+
[WARNING]
27+
====
28+
Ensure that the *Components Source* column does not display `estimator` as the power source.
29+
30+
.The Detailed Node Information table with `rapl-sysfs` as the component power source
31+
image::power-monitoring-component-power-source.png[]
32+
33+
If {PM-kepler} is unable to obtain hardware power consumption metrics, the *Components Source* column displays `estimator` as the power source, which is not supported in Technology Preview. If that happens, then the values from the nodes are not accurate.
34+
====
35+
36+
[discrete]
37+
== Power Monitoring / Namespace dashboard
38+
39+
This dashboard allows you to view metrics by namespace and pod. You can observe the following information:
40+
41+
* The power consumption metrics, such as consumption in DRAM and PKG
42+
43+
* The energy consumption metrics in the last hour, such as consumption in DRAM and PKG for core and uncore components
44+
45+
This feature allows you to investigate key peaks and easily identify the primary root causes of high consumption.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Module included in the following assemblies:
2+
3+
// * power_monitoring/uninstalling-power-monitoring.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="power-monitoring-deleting-kepler_{context}"]
7+
= Deleting {PM-kepler}
8+
9+
You can delete {PM-kepler} by removing the {PM-kepler} instance of the `{PM-kepler}` custom resource definition (CRD) from the {product-title} web console.
10+
11+
.Prerequisites
12+
* You have access to the {product-title} web console.
13+
* You are logged in as a user with the `cluster-admin` role.
14+
15+
.Procedure
16+
17+
. In the *Administrator* perspective of the web console, go to *Operators* -> *Installed Operators*.
18+
19+
. Click *{PM-title-c}* from the *Installed Operators* list and go to the *{PM-kepler}* tab.
20+
21+
. Locate the {PM-kepler} instance entry in the list.
22+
23+
. Click {kebab} for this entry and select *Delete {PM-kepler}*.
24+
25+
. In the *Delete {PM-kepler}?* dialog, click *Delete* to delete the {PM-kepler} instance.
26+
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// Module included in the following assemblies:
2+
3+
// * power_monitoring/installing-power-monitoring.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="power-monitoring-deploying-kepler_{context}"]
7+
= Deploying {PM-kepler}
8+
9+
You can deploy {PM-kepler} by creating an instance of the `{PM-kepler}` custom resource definition (CRD) by using the {PM-operator}.
10+
11+
.Prerequisites
12+
* You have access to the {product-title} web console.
13+
* You are logged in as a user with the `cluster-admin` role.
14+
* You have installed the {PM-operator}.
15+
16+
.Procedure
17+
18+
. In the *Administrator* perspective of the web console, go to *Operators* -> *Installed Operators*.
19+
20+
. Click *{PM-title-c}* from the *Installed Operators* list and go to the *{PM-kepler}* tab.
21+
22+
. Click *Create {PM-kepler}*.
23+
24+
. On the *Create {PM-kepler}* page, ensure the *Name* is set to `kepler`.
25+
+
26+
[IMPORTANT]
27+
====
28+
The name of your {PM-kepler} instance must be set to `kepler`. All other instances are ignored by the {PM-operator}.
29+
====
30+
31+
. Click *Create* to deploy {PM-kepler} and {PM-shortname} dashboards.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * power_monitoring/power-monitoring-overview.adoc
4+
5+
:_mod-docs-content-type: CONCEPT
6+
[id="power-monitoring-hardware-virtualization-support_{context}"]
7+
= {PM-kepler} hardware and virtualization support
8+
9+
{PM-kepler} is the key component of {PM-shortname} that collects real-time power consumption data from a node through one of the following power estimation methods:
10+
11+
Kernel Power Management Subsystem (preferred)::
12+
* `rapl-sysfs`: This requires access to the `/sys/class/powercap/intel-rapl` host file.
13+
* `rapl-msr`: This requires access to the `/dev/cpu/*/msr` host file.
14+
15+
The `estimator` power source::
16+
Without access to the kernel's power cap subsystem, {PM-kepler} uses a machine learning model to estimate the power usage of the CPU on the node.
17+
+
18+
[WARNING]
19+
====
20+
The `estimator` feature is experimental, not supported, and should not be relied upon.
21+
====
22+
23+
You can identify the power estimation method for a node by using the *Power Monitoring / Overview* dashboard.
24+
25+
[WARNING]
26+
====
27+
{PM-shortname-c} Technology Preview works only in bare-metal deployments. Most public cloud vendors do not expose Kernel Power Management Subsystems to virtual machines.
28+
====
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Module included in the following assemblies:
2+
3+
// * power_monitoring/installing-power-monitoring.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="power-monitoring-installing-pmo_{context}"]
7+
= Installing the {PM-operator}
8+
9+
As a cluster administrator, you can install the {PM-operator} from OperatorHub by using the {product-title} web console.
10+
11+
[WARNING]
12+
====
13+
You must remove any previously installed versions of the {PM-operator} before installation.
14+
====
15+
16+
.Prerequisites
17+
* You have access to the {product-title} web console.
18+
* You are logged in as a user with the `cluster-admin` role.
19+
20+
.Procedure
21+
22+
. In the *Administrator* perspective of the web console, go to *Operators* -> *OperatorHub*.
23+
24+
. Search for `{PM-shortname}`, click the *{PM-title-c}* tile, and then click *Install*.
25+
//. On the *Install Operator* page:
26+
//.. Select an *Update channel*.
27+
//.. Select a {PM-shortname} *Version* to install.
28+
// This can be included once the user has options there to choose. Not needed for now.
29+
30+
. Click *Install* again to install the {PM-operator}.
31+
+
32+
{PM-title-c} is now available in all namespaces of the {product-title} cluster.
33+
34+
.Verification
35+
36+
. Verify that the {PM-operator} is listed in *Operators* -> *Installed Operators*. The *Status* should resolve to *Succeeded*.

0 commit comments

Comments
 (0)