From f6b3bebb3fd1802a859dacee143d6e9fc0bc320d Mon Sep 17 00:00:00 2001 From: Eliska Romanova Date: Mon, 16 Dec 2024 10:55:06 +0100 Subject: [PATCH] OBSDOCS-1550: Add assembly for 'Configuring user workload monitoring' section --- ...-attributes-in-user-defined-projects.adoc} | 0 ...lectors-to-move-monitoring-components.adoc | 2 +- .../before-you-begin.adoc | 6 +- .../configuring-the-monitoring-stack.adoc | 4 +- .../before-you-begin-uwm.adoc | 42 +++++++++++++- ...figuring-alerts-and-notifications-uwm.adoc | 16 +++++- .../configuring-metrics-uwm.adoc | 40 +++++++++++++- ...uring-performance-and-scalability-uwm.adoc | 55 ++++++++++++++++++- .../storing-and-recording-data-uwm.adoc | 36 +++++++++++- 9 files changed, 190 insertions(+), 11 deletions(-) rename modules/{monitoring-limiting-scrape-samples-in-user-defined-projects.adoc => monitoring-controlling-the-impact-of-unbound-attributes-in-user-defined-projects.adoc} (100%) diff --git a/modules/monitoring-limiting-scrape-samples-in-user-defined-projects.adoc b/modules/monitoring-controlling-the-impact-of-unbound-attributes-in-user-defined-projects.adoc similarity index 100% rename from modules/monitoring-limiting-scrape-samples-in-user-defined-projects.adoc rename to modules/monitoring-controlling-the-impact-of-unbound-attributes-in-user-defined-projects.adoc diff --git a/modules/monitoring-using-node-selectors-to-move-monitoring-components.adoc b/modules/monitoring-using-node-selectors-to-move-monitoring-components.adoc index 766176960ef4..3eaac05b868d 100644 --- a/modules/monitoring-using-node-selectors-to-move-monitoring-components.adoc +++ b/modules/monitoring-using-node-selectors-to-move-monitoring-components.adoc @@ -18,7 +18,7 @@ By controlling placement and distribution of monitoring components, you can opti If you move monitoring components by using node selector constraints, be aware that other constraints to control pod scheduling might exist for a cluster: * Topology spread constraints might be in place to control pod placement. -* Hard anti-affinity rules are in place for Prometheus, Thanos Querier, Alertmanager, and other monitoring components to ensure that multiple pods for these components are always spread across different nodes and are therefore always highly available. +* Hard anti-affinity rules are in place for Prometheus, Alertmanager, and other monitoring components to ensure that multiple pods for these components are always spread across different nodes and are therefore always highly available. When scheduling pods onto nodes, the pod scheduler tries to satisfy all existing constraints when determining pod placement. That is, all constraints compound when the pod scheduler determines which pods will be placed on which nodes. diff --git a/observability/monitoring/configuring-core-platform-monitoring/before-you-begin.adoc b/observability/monitoring/configuring-core-platform-monitoring/before-you-begin.adoc index 99b3809c9a28..a50aaf52d8ce 100644 --- a/observability/monitoring/configuring-core-platform-monitoring/before-you-begin.adoc +++ b/observability/monitoring/configuring-core-platform-monitoring/before-you-begin.adoc @@ -8,14 +8,14 @@ toc::[] The {product-title} installation program provides only a low number of configuration options before installation. Configuring most {product-title} framework components, including the cluster monitoring stack, happens after the installation. -This section explains which monitoring components can be configured and how to prepare to configure the monitoring stack. +This section explains which monitoring components can be configured and how to prepare for configuring the monitoring stack. [IMPORTANT] ==== * Not all configuration parameters for the monitoring stack are exposed. Only the parameters and fields listed in the xref:../../../observability/monitoring/config-map-reference-for-the-cluster-monitoring-operator.adoc#cluster-monitoring-operator-configuration-reference[Config map reference for the {cmo-full}] are supported for configuration. -* The monitoring stack imposes additional resource requirements. Consult the computing resources recommendations in xref:../../../scalability_and_performance/recommended-performance-scale-practices/recommended-infrastructure-practices.adoc#scaling-cluster-monitoring-operator[Scaling the {cmo-full}] and verify that you have sufficient resources. +* The monitoring stack imposes additional resource requirements. Consult the computing resources recommendations in xref:../../../scalability_and_performance/recommended-performance-scale-practices/recommended-infrastructure-practices.adoc#scaling-cluster-monitoring-operator_recommended-infrastructure-practices[Scaling the {cmo-full}] and verify that you have sufficient resources. ==== // Configurable monitoring components @@ -25,7 +25,7 @@ include::modules/monitoring-configurable-monitoring-components.adoc[leveloffset= [id="preparing-to-configure-the-monitoring-stack_{context}"] == Preparing to configure the monitoring stack -You can configure the core platform monitoring by creating and updating the `cluster-monitoring-config` config map. This config map configures the {cmo-first}, which in turn configures the components of the default monitoring stack. +You can configure core platform monitoring by creating and updating the `cluster-monitoring-config` config map. This config map configures the {cmo-first}, which in turn configures the components of the default monitoring stack. include::modules/monitoring-creating-cluster-monitoring-configmap.adoc[leveloffset=+2] diff --git a/observability/monitoring/configuring-the-monitoring-stack.adoc b/observability/monitoring/configuring-the-monitoring-stack.adoc index 3973f2b4432f..4a4c521deba0 100644 --- a/observability/monitoring/configuring-the-monitoring-stack.adoc +++ b/observability/monitoring/configuring-the-monitoring-stack.adoc @@ -312,8 +312,8 @@ include::modules/monitoring-choosing-a-metrics-collection-profile.adoc[leveloffs * See xref:../../nodes/clusters/nodes-cluster-enabling-features.adoc[Enabling features using feature gates] for steps to enable Technology Preview features. endif::openshift-dedicated,openshift-rosa[] -// Managing scrape and evaluation intervals and enforced limits for user-defined projects -include::modules/monitoring-limiting-scrape-samples-in-user-defined-projects.adoc[leveloffset=+1] +// Controlling the impact of unbound metrics attributes in user-defined projects +include::modules/monitoring-controlling-the-impact-of-unbound-attributes-in-user-defined-projects.adoc[leveloffset=+1] include::modules/monitoring-setting-scrape-and-evaluation-intervals-limits-for-user-defined-projects.adoc[leveloffset=+2] ifndef::openshift-dedicated,openshift-rosa[] include::modules/monitoring-creating-scrape-sample-alerts.adoc[leveloffset=+2] diff --git a/observability/monitoring/configuring-user-workload-monitoring/before-you-begin-uwm.adoc b/observability/monitoring/configuring-user-workload-monitoring/before-you-begin-uwm.adoc index b29563bd2aa7..09969caf3b58 100644 --- a/observability/monitoring/configuring-user-workload-monitoring/before-you-begin-uwm.adoc +++ b/observability/monitoring/configuring-user-workload-monitoring/before-you-begin-uwm.adoc @@ -6,7 +6,47 @@ include::_attributes/common-attributes.adoc[] toc::[] -TBD +This section explains which user-defined monitoring components can be configured, how to enable monitoring for user-defined projects, and how to prepare for configuring the user-defined monitoring stack. +[IMPORTANT] +==== +* Not all configuration parameters for the monitoring stack are exposed. +Only the parameters and fields listed in the xref:../../../observability/monitoring/config-map-reference-for-the-cluster-monitoring-operator.adoc#cluster-monitoring-operator-configuration-reference[Config map reference for the {cmo-full}] are supported for configuration. +* The monitoring stack imposes additional resource requirements. Consult the computing resources recommendations in xref:../../../scalability_and_performance/recommended-performance-scale-practices/recommended-infrastructure-practices.adoc#scaling-cluster-monitoring-operator_recommended-infrastructure-practices[Scaling the {cmo-full}] and verify that you have sufficient resources. +==== +// Configurable monitoring components +include::modules/monitoring-configurable-monitoring-components.adoc[leveloffset=+1,tags=**;!CPM;UWM] + +// Enabling monitoring for user-defined projects +[id="enabling-monitoring-for-user-defined-projects-uwm_{context}"] +== Enabling monitoring for user-defined projects + +In {product-title}, you can enable monitoring for user-defined projects in addition to the default platform monitoring. You can monitor your own projects in {product-title} without the need for an additional monitoring solution. Using this feature centralizes monitoring for core platform components and user-defined projects. + +include::snippets/monitoring-custom-prometheus-note.adoc[] + +include::modules/monitoring-enabling-monitoring-for-user-defined-projects.adoc[leveloffset=+2] + +[role="_additional-resources"] +.Additional resources + +* TBD + +// Granting users permissions for monitoring for user-defined projects +include::modules/monitoring-granting-users-permission-to-monitor-user-defined-projects.adoc[leveloffset=+1] + +[role="_additional-resources"] +.Additional resources +* TBD + +include::modules/monitoring-granting-user-permissions-using-the-web-console.adoc[leveloffset=+2] +include::modules/monitoring-granting-user-permissions-using-the-cli.adoc[leveloffset=+2] +include::modules/monitoring-granting-users-permission-to-configure-monitoring-for-user-defined-projects.adoc[leveloffset=+2] + +// Excluding a user-defined project from monitoring +include::modules/monitoring-excluding-a-user-defined-project-from-monitoring.adoc[leveloffset=+1] + +// Disabling monitoring for user-defined projects +include::modules/monitoring-disabling-monitoring-for-user-defined-projects.adoc[leveloffset=+1] \ No newline at end of file diff --git a/observability/monitoring/configuring-user-workload-monitoring/configuring-alerts-and-notifications-uwm.adoc b/observability/monitoring/configuring-user-workload-monitoring/configuring-alerts-and-notifications-uwm.adoc index 4ee6ed192da8..205468cb2eff 100644 --- a/observability/monitoring/configuring-user-workload-monitoring/configuring-alerts-and-notifications-uwm.adoc +++ b/observability/monitoring/configuring-user-workload-monitoring/configuring-alerts-and-notifications-uwm.adoc @@ -6,7 +6,21 @@ include::_attributes/common-attributes.adoc[] toc::[] -TBD +You can configure a local or external Alertmanager instance to route alerts from Prometheus to endpoint receivers. You can also attach custom labels to all time series and alerts to add useful metadata information. +//Configuring external Alertmanager instances +include::modules/monitoring-configuring-external-alertmanagers.adoc[leveloffset=1,tags=**;!CPM;UWM] +//Configuring secrets for Alertmanager +include::modules/monitoring-configuring-secrets-for-alertmanager.adoc[leveloffset=1] + +include::modules/monitoring-adding-a-secret-to-the-alertmanager-configuration.adoc[leveloffset=2,tags=**;!CPM;UWM] + +//Attaching additional labels to your time series and alerts +include::modules/monitoring-attaching-additional-labels-to-your-time-series-and-alerts.adoc[leveloffset=+1,tags=**;!CPM;UWM] + +[role="_additional-resources"] +.Additional resources + +* TBD diff --git a/observability/monitoring/configuring-user-workload-monitoring/configuring-metrics-uwm.adoc b/observability/monitoring/configuring-user-workload-monitoring/configuring-metrics-uwm.adoc index b03959088698..42fe5abd1ad2 100644 --- a/observability/monitoring/configuring-user-workload-monitoring/configuring-metrics-uwm.adoc +++ b/observability/monitoring/configuring-user-workload-monitoring/configuring-metrics-uwm.adoc @@ -6,7 +6,45 @@ include::_attributes/common-attributes.adoc[] toc::[] -TBD +Configure the collection of metrics to monitor how cluster components and your own workloads are performing. +You can send ingested metrics to remote systems for long-term storage and add cluster ID labels to the metrics to identify the data coming from different clusters. +// Configuring remote write storage +include::modules/monitoring-configuring-remote-write-storage.adoc[leveloffset=+1,tags=**;!CPM;UWM] +include::modules/monitoring-supported-remote-write-authentication-settings.adoc[leveloffset=+2] + +include::modules/monitoring-example-remote-write-authentication-settings.adoc[leveloffset=+2,tags=**;!CPM;UWM] + +include::modules/monitoring-example-remote-write-queue-configuration.adoc[leveloffset=+2,tags=**;!CPM;UWM] + +[role="_additional-resources"] +.Additional resources + +* TBD + +// Adding cluster ID labels to metrics +include::modules/monitoring-adding-cluster-id-labels-to-metrics.adoc[leveloffset=+1] + +include::modules/monitoring-creating-cluster-id-labels-for-metrics.adoc[leveloffset=+2,tags=**;!CPM;UWM] + +[role="_additional-resources"] +.Additional resources + +* TBD + +// Setting up metrics collection for user-defined projects + +include::modules/monitoring-setting-up-metrics-collection-for-user-defined-projects.adoc[leveloffset=+1] + +include::modules/monitoring-deploying-a-sample-service.adoc[leveloffset=+2] + +include::modules/monitoring-specifying-how-a-service-is-monitored.adoc[leveloffset=+2] + +include::modules/monitoring-example-service-endpoint-authentication-settings.adoc[leveloffset=+2] + +[role="_additional-resources"] +.Additional resources + +* TBD diff --git a/observability/monitoring/configuring-user-workload-monitoring/configuring-performance-and-scalability-uwm.adoc b/observability/monitoring/configuring-user-workload-monitoring/configuring-performance-and-scalability-uwm.adoc index 2d75645678b9..40e0a78a8c27 100644 --- a/observability/monitoring/configuring-user-workload-monitoring/configuring-performance-and-scalability-uwm.adoc +++ b/observability/monitoring/configuring-user-workload-monitoring/configuring-performance-and-scalability-uwm.adoc @@ -6,7 +6,60 @@ include::_attributes/common-attributes.adoc[] toc::[] -TBD +You can configure the monitoring stack to optimize the performance and scale of your clusters. The following documentation provides information about how to distribute the monitoring components and control the impact of the monitoring stack on CPU and memory resources. +// Using node selectors to move monitoring components +include::modules/monitoring-using-node-selectors-to-move-monitoring-components.adoc[leveloffset=+1]] +[role="_additional-resources"] +.Additional resources + +* TBD + +include::modules/monitoring-moving-monitoring-components-to-different-nodes.adoc[leveloffset=+2,tags=**;!CPM;UWM] + +[role="_additional-resources"] +.Additional resources + +* TBD + +include::modules/monitoring-assigning-tolerations-to-monitoring-components.adoc[leveloffset=+1,tags=**;!CPM;UWM] + +[role="_additional-resources"] +.Additional resources + +* TBD + +[id="managing-cpu-and-memory-resources-for-monitoring-components_{context}"] +== Managing CPU and memory resources for monitoring components + +You can ensure that the containers that run monitoring components have enough CPU and memory resources by specifying values for resource limits and requests for those components. + +You can configure these limits and requests for monitoring components that monitor user-defined projects in the `openshift-user-workload-monitoring` namespace. + +include::modules/monitoring-about-specifying-limits-and-requests-for-monitoring-components.adoc[leveloffset=+2,tags=**;!CPM;UWM] + +include::modules/monitoring-specifying-limits-and-requests-for-monitoring-components.adoc[leveloffset=+2,tags=**;!CPM;UWM] + +// Controlling the impact of unbound metrics attributes in user-defined projects +include::modules/monitoring-controlling-the-impact-of-unbound-attributes-in-user-defined-projects.adoc[leveloffset=+1] +include::modules/monitoring-setting-scrape-and-evaluation-intervals-limits-for-user-defined-projects.adoc[leveloffset=+2] +ifndef::openshift-dedicated,openshift-rosa[] +include::modules/monitoring-creating-scrape-sample-alerts.adoc[leveloffset=+2] + +[role="_additional-resources"] +.Additional resources + +* TBD +endif::openshift-dedicated,openshift-rosa[] + +// Using topology spread constraints for monitoring components +include::modules/monitoring-using-pod-topology-spread-constraints-for-monitoring.adoc[leveloffset=1] + +[role="_additional-resources"] +.Additional resources + +* TBD + +include::modules/monitoring-configuring-pod-topology-spread-constraints.adoc[leveloffset=2,tags=**;!CPM;UWM] \ No newline at end of file diff --git a/observability/monitoring/configuring-user-workload-monitoring/storing-and-recording-data-uwm.adoc b/observability/monitoring/configuring-user-workload-monitoring/storing-and-recording-data-uwm.adoc index df8afdf908f0..d10790cdff7a 100644 --- a/observability/monitoring/configuring-user-workload-monitoring/storing-and-recording-data-uwm.adoc +++ b/observability/monitoring/configuring-user-workload-monitoring/storing-and-recording-data-uwm.adoc @@ -6,7 +6,41 @@ include::_attributes/common-attributes.adoc[] toc::[] -TBD +Store and record your metrics and alerting data, configure logs to specify which activities are recorded, control how long Prometheus retains stored data, and set the maximum amount of disk space for the data. These actions help you protect your data and use them for troubleshooting. + +// Configuring persistent storage +include::modules/monitoring-configuring-persistent-storage.adoc[leveloffset=+1] + +include::modules/monitoring-configuring-a-persistent-volume-claim.adoc[leveloffset=+2,tags=**;!CPM;UWM] + +[role="_additional-resources"] +.Additional resources + +* TBD + +include::modules/monitoring-resizing-a-persistent-volume.adoc[leveloffset=+2,tags=**;!CPM;UWM] + +[role="_additional-resources"] +.Additional resources + +* TBD + +// Modifying the retention time and size for Prometheus metrics data + +include::modules/monitoring-modifying-retention-time-and-size-for-prometheus-metrics-data.adoc[leveloffset=+1,tags=**;!CPM;UWM] + +include::modules/monitoring-modifying-the-retention-time-for-thanos-ruler-metrics-data.adoc[leveloffset=+2] + +// Setting log levels for monitoring components +include::modules/monitoring-setting-log-levels-for-monitoring-components.adoc[leveloffset=+1,tags=**;!CPM;UWM] + +// Enabling the query log file for Prometheus +include::modules/monitoring-setting-query-log-file-for-prometheus.adoc[leveloffset=+1,tags=**;!CPM;UWM] + +[role="_additional-resources"] +.Additional resources + +* TBD