Skip to content

Commit 2cfcbcd

Browse files
authored
Merge pull request #100456 from openshift/revert-100033-OBSDOCS-2350
Revert "OBSDOCS-2350 Remove content in OCP and point at standalone docs"
2 parents 2520c26 + 3f476c4 commit 2cfcbcd

File tree

47 files changed

+5513
-14
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+5513
-14
lines changed

_topic_maps/_topic_map.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2937,8 +2937,34 @@ Topics:
29372937
Dir: cluster_observability_operator
29382938
Distros: openshift-enterprise,openshift-origin
29392939
Topics:
2940+
- Name: Cluster Observability Operator release notes
2941+
File: cluster-observability-operator-release-notes
29402942
- Name: Cluster Observability Operator overview
29412943
File: cluster-observability-operator-overview
2944+
- Name: Installing the Cluster Observability Operator
2945+
File: installing-the-cluster-observability-operator
2946+
- Name: Configuring the Cluster Observability Operator to monitor a service
2947+
File: configuring-the-cluster-observability-operator-to-monitor-a-service
2948+
- Name: Observability UI plugins
2949+
Dir: ui_plugins
2950+
Distros: openshift-enterprise,openshift-origin
2951+
Topics:
2952+
- Name: Observability UI plugins overview
2953+
File: observability-ui-plugins-overview
2954+
- Name: Monitoring UI plugin
2955+
File: monitoring-ui-plugin
2956+
- Name: Logging UI plugin
2957+
File: logging-ui-plugin
2958+
- Name: Distributed tracing UI plugin
2959+
File: distributed-tracing-ui-plugin
2960+
- Name: Troubleshooting UI plugin
2961+
File: troubleshooting-ui-plugin
2962+
# - Name: Dashboard UI plugin
2963+
# File: dashboard-ui-plugin
2964+
- Name: Monitoring API reference
2965+
File: api-monitoring-package
2966+
# - Name: Observability API reference
2967+
# File: api-observability-package
29422968
- Name: Monitoring
29432969
Dir: monitoring
29442970
Distros: openshift-enterprise,openshift-origin

modules/coo-advantages.adoc

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+
// * observability/cluster_observability_operator/cluster-observability-operator-overview.adoc
3+
4+
:_mod-docs-content-type: CONCEPT
5+
[id="coo-advantages_{context}"]
6+
= Key advantages of using {coo-short}
7+
8+
Deploying {coo-short} helps you address monitoring requirements that are hard to achieve using the default monitoring stack.
9+
10+
[id="coo-advantages-extensibility_{context}"]
11+
== Extensibility
12+
13+
- You can add more metrics to a {coo-short}-deployed monitoring stack, which is not possible with core platform monitoring without losing support.
14+
- You can receive cluster-specific metrics from core platform monitoring through federation.
15+
- {coo-short} supports advanced monitoring scenarios like trend forecasting and anomaly detection.
16+
17+
[id="coo-advantages-multi-tenancy_{context}"]
18+
== Multi-tenancy support
19+
20+
- You can create monitoring stacks per user namespace.
21+
- You can deploy multiple stacks per namespace or a single stack for multiple namespaces.
22+
- {coo-short} enables independent configuration of alerts and receivers for different teams.
23+
24+
[id="coo-advantages-scalability_{context}"]
25+
== Scalability
26+
27+
- Supports multiple monitoring stacks on a single cluster.
28+
- Enables monitoring of large clusters through manual sharding.
29+
- Addresses cases where metrics exceed the capabilities of a single Prometheus instance.
30+
31+
[id="coo-advantages-scalabilityflexibility_{context}"]
32+
== Flexibility
33+
34+
- Decoupled from {product-title} release cycles.
35+
- Faster release iterations and rapid response to changing requirements.
36+
- Independent management of alerting rules.
Lines changed: 200 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,200 @@
1+
// Module included in the following assemblies:
2+
3+
// * observability/cluster_observability_operator/ui_plugins/dashboard-ui-plugin.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="coo-dashboard-ui-plugin-configure-_{context}"]
7+
= Configuring a dashboard
8+
9+
The dashboard UI plugin searches for datasources from `ConfigMap` resources in the `openshift-config-managed` namespace, that have the label `console.openshift.io/dashboard-datasource: 'true'`. The `ConfigMap` resource must define a datasource type and an in-cluster service where the data can be fetched.
10+
11+
The examples in the following section are taken from link:https://github.com/openshift/console-dashboards-plugin[https://github.com/openshift/console-dashboards-plugin].
12+
13+
.Prerequisites
14+
15+
* You have access to the cluster as a user with the `cluster-admin` cluster role.
16+
* You have logged in to the {product-title} web console.
17+
* You have installed the {coo-full}.
18+
* You have installed the dashboard UI plugin.
19+
20+
.Procedure
21+
22+
. Create a `ConfigMap` resource in the `openshift-config-managed` namespace, with the label `console.openshift.io/dashboard-datasource: 'true'`. The example below is from link:https://github.com/openshift/console-dashboards-plugin/blob/main/docs/prometheus-datasource-example.yaml[prometheus-datasource-example.yaml]
23+
+
24+
[source,yaml]
25+
----
26+
apiVersion: v1
27+
kind: ConfigMap
28+
metadata:
29+
name: cluster-prometheus-proxy
30+
namespace: openshift-config-managed
31+
labels:
32+
console.openshift.io/dashboard-datasource: "true"
33+
data:
34+
"dashboard-datasource.yaml": |-
35+
kind: "Datasource"
36+
metadata:
37+
name: "cluster-prometheus-proxy"
38+
project: "openshift-config-managed"
39+
spec:
40+
plugin:
41+
kind: "prometheus"
42+
spec:
43+
direct_url: "https://prometheus-k8s.openshift-monitoring.svc.cluster.local:9091"
44+
----
45+
46+
. Configure a custom dashboard that connects to the datasource. The YAML for a sample dashboard is available at link:https://github.com/openshift/console-dashboards-plugin/blob/main/docs/prometheus-dashboard-example.yaml[prometheus-dashboard-example.yaml]. An excerpt from that file is shown below for demonstration purposes:
47+
+
48+
.Extract from example dashboard, taken from prometheus-dashboard-example.yaml
49+
[%collapsible]
50+
====
51+
[source,yaml]
52+
----
53+
apiVersion: v1
54+
kind: ConfigMap
55+
metadata:
56+
name: dashboard-example
57+
namespace: openshift-config-managed
58+
labels:
59+
console.openshift.io/dashboard: "true"
60+
data:
61+
k8s-resources-workloads-namespace.json: |-
62+
{
63+
"annotations": {
64+
"list": [
65+
66+
]
67+
},
68+
"editable": true,
69+
"gnetId": null,
70+
"graphTooltip": 0,
71+
"hideControls": false,
72+
"links": [
73+
74+
],
75+
"refresh": "10s",
76+
"rows": [
77+
{
78+
"collapse": false,
79+
"height": "250px",
80+
"panels": [
81+
{
82+
"aliasColors": {
83+
84+
},
85+
"bars": false,
86+
"dashLength": 10,
87+
"dashes": false,
88+
"datasource": {
89+
"name": "cluster-prometheus-proxy",
90+
"type": "prometheus"
91+
},
92+
"fill": 10,
93+
"id": 1,
94+
"interval": "1m",
95+
"legend": {
96+
"alignAsTable": true,
97+
"avg": false,
98+
"current": false,
99+
"max": false,
100+
"min": false,
101+
"rightSide": true,
102+
"show": true,
103+
"total": false,
104+
"values": false
105+
},
106+
"lines": true,
107+
"linewidth": 0,
108+
"links": [
109+
110+
],
111+
"nullPointMode": "null as zero",
112+
"percentage": false,
113+
"pointradius": 5,
114+
"points": false,
115+
"renderer": "flot",
116+
"seriesOverrides": [
117+
{
118+
"alias": "quota - requests",
119+
"color": "#F2495C",
120+
"dashes": true,
121+
"fill": 0,
122+
"hiddenSeries": true,
123+
"hideTooltip": true,
124+
"legend": true,
125+
"linewidth": 2,
126+
"stack": false
127+
},
128+
{
129+
"alias": "quota - limits",
130+
"color": "#FF9830",
131+
"dashes": true,
132+
"fill": 0,
133+
"hiddenSeries": true,
134+
"hideTooltip": true,
135+
"legend": true,
136+
"linewidth": 2,
137+
"stack": false
138+
}
139+
],
140+
"spaceLength": 10,
141+
"span": 12,
142+
"stack": false,
143+
"steppedLine": false,
144+
"targets": [
145+
{
146+
"expr": "sum( node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}* on(namespace,pod) group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}) by (workload, workload_type)",
147+
"format": "time_series",
148+
"intervalFactor": 2,
149+
"legendFormat": "{{workload}} - {{workload_type}}",
150+
"legendLink": null,
151+
"step": 10
152+
},
153+
{
154+
"expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"requests.cpu\"})",
155+
"format": "time_series",
156+
"intervalFactor": 2,
157+
"legendFormat": "quota - requests",
158+
"legendLink": null,
159+
"step": 10
160+
},
161+
{
162+
"expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"limits.cpu\"})",
163+
"format": "time_series",
164+
"intervalFactor": 2,
165+
"legendFormat": "quota - limits",
166+
"legendLink": null,
167+
"step": 10
168+
}
169+
],
170+
"thresholds": [
171+
172+
],
173+
"timeFrom": null,
174+
"timeShift": null,
175+
"title": "CPU Usage",
176+
"tooltip": {
177+
"shared": false,
178+
"sort": 2,
179+
"value_type": "individual"
180+
},
181+
"type": "graph",
182+
"xaxis": {
183+
"buckets": null,
184+
"mode": "time",
185+
"name": null,
186+
"show": true,
187+
"values": [
188+
189+
]
190+
},
191+
...
192+
----
193+
====
194+
195+
. Click *Observe* -> *Dashboards* and the custom dashboard is available with the title ++** DASHBOARD EXAMPLE **++, based on the configuration in `prometheus-dashboard-example.yaml`.
196+
+
197+
image::coo-custom-dashboard.png[]
198+
+
199+
You can set the namespace, time range and refresh interval for the dashboard in the UI.
200+
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// Module included in the following assemblies:
2+
3+
// * observability/cluster_observability_operator/ui_plugins/dashboard-ui-plugin.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="coo-dashboard-ui-plugin-install-_{context}"]
7+
= Installing the {coo-full} dashboard UI plugin
8+
9+
10+
.Prerequisites
11+
12+
* You have access to the cluster as a user with the `cluster-admin` cluster role.
13+
* You have logged in to the {product-title} web console.
14+
* You have installed the {coo-full}.
15+
16+
.Procedure
17+
18+
. In the {product-title} web console, click *Ecosystem* -> *Installed Operators* and select {coo-full}.
19+
. Choose the *UI Plugin* tab (at the far right of the tab list) and press *Create UIPlugin*.
20+
. Select *YAML view*, enter the following content, and then press *Create*:
21+
+
22+
[source,yaml]
23+
----
24+
apiVersion: observability.openshift.io/v1alpha1
25+
kind: UIPlugin
26+
metadata:
27+
name: dashboards
28+
spec:
29+
type: Dashboards
30+
----
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// Module included in the following assemblies:
2+
3+
// * observability/cluster_observability_operator/ui_plugins/distributed-tracing-ui-plugin.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="coo-distributed-tracing-ui-plugin-install_{context}"]
7+
= Installing the {coo-full} distributed tracing UI plugin
8+
9+
10+
.Prerequisites
11+
12+
* You have access to the cluster as a user with the `cluster-admin` cluster role.
13+
* You have logged in to the {product-title} web console.
14+
* You have installed the {coo-full}
15+
16+
.Procedure
17+
18+
. In the {product-title} web console, click *Ecosystem* -> *Installed Operators* and select {coo-full}
19+
. Choose the *UI Plugin* tab (at the far right of the tab list) and press *Create UIPlugin*
20+
. Select *YAML view*, enter the following content, and then press *Create*:
21+
+
22+
[source,yaml]
23+
----
24+
apiVersion: observability.openshift.io/v1alpha1
25+
kind: UIPlugin
26+
metadata:
27+
name: distributed-tracing
28+
spec:
29+
type: DistributedTracing
30+
----
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Module included in the following assemblies:
2+
3+
// * observability/cluster_observability_operator/ui_plugins/distributed-tracing-ui-plugin.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="coo-distributed-tracing-ui-plugin-using_{context}"]
7+
= Using the {coo-full} distributed tracing UI plugin
8+
9+
.Prerequisites
10+
11+
* You have access to the cluster as a user with the `cluster-admin` cluster role.
12+
* You have logged in to the {product-title} web console.
13+
* You have installed the {coo-full}.
14+
* You have installed the {coo-full} distributed tracing UI plugin.
15+
* You have a `TempoStack` or `TempoMonolithic` multi-tenant instance in the cluster.
16+
17+
.Procedure
18+
19+
. In the {product-title} web console, click **Observe****Traces**.
20+
. Select a `TempoStack` or `TempoMonolithic` multi-tenant instance and set a time range and query for the traces to be loaded.
21+
+
22+
The traces are displayed on a scatter-plot showing the trace start time, duration, and number of spans. Underneath the scatter plot, there is a list of traces showing information such as the `Trace Name`, number of `Spans`, and `Duration`.
23+
. Click on a trace name link.
24+
+
25+
The trace detail page for the selected trace contains a Gantt Chart of all of the spans within the trace. Select a span to show a breakdown of the configured attributes.
26+
27+
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// Module included in the following assemblies:
2+
3+
// * observability/cluster_observability_operator/ui_plugins/incident-detection-ui-plugin.adoc
4+
5+
:_mod-docs-content-type: CONCEPT
6+
[id="coo-incident-detection-overview_{context}"]
7+
= {coo-full} incident detection overview
8+
9+
Clusters can generate significant volumes of monitoring data, making it hard for you to distinguish critical signals from noise.
10+
Single incidents can trigger a cascade of alerts, and this results in extended time to detect and resolve issues.
11+
12+
The {coo-full} incident detection feature groups related alerts into *incidents*. These incidents are then visualized as timelines that are color-coded by severity.
13+
Alerts are mapped to specific components, grouped by severity, helping you to identify root causes by focusing on high impact components first.
14+
You can then drill down from the incident timelines to individual alerts to determine how to fix the underlying issue.
15+
16+
{coo-full} incident detection transforms the alert storm into clear steps for faster understanding and resolution of the incidents that occur on your clusters.

0 commit comments

Comments
 (0)