Skip to content

Commit 62fb64c

Browse files
authored
Merge pull request #71449 from bburt-rh/OBSDOCS-201-add-cmo-resources-api-endpoint-reference
OBSDOCS-913: add cluster monitoring operator resources api endpoint reference
2 parents dae150a + ad275f9 commit 62fb64c

File tree

2 files changed

+159
-0
lines changed

2 files changed

+159
-0
lines changed
Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
// DO NOT EDIT THE CONTENT IN THIS FILE. It is automatically generated from the
2+
// source code for the Cluster Monitoring Operator. Any changes made to this
3+
// file will be overwritten when the content is regenerated. If you wish to
4+
// make edits or learn more about how this file is generated, read the docgen utility
5+
// instructions in the source code for the CMO.
6+
:_mod-docs-content-type: REFERENCE
7+
[id="resources-reference-for-the-cluster-monitoring-operator"]
8+
= Resources reference for the Cluster Monitoring Operator
9+
10+
This document describes the following resources deployed and managed by the Cluster Monitoring Operator (CMO):
11+
12+
* link:#cmo-routes-resources[Routes]
13+
* link:#cmo-services-resources[Services]
14+
15+
Use this information when you want to configure API endpoint connections to retrieve, send, or query metrics data.
16+
17+
[IMPORTANT]
18+
====
19+
In certain situations, accessing API endpoints can degrade the performance and scalability of your cluster, especially if you use endpoints to retrieve, send, or query large amounts of metrics data.
20+
21+
To avoid these issues, follow these recommendations:
22+
23+
* Avoid querying endpoints frequently. Limit queries to a maximum of one every 30 seconds.
24+
* Do not try to retrieve all metrics data via the `/federate` endpoint for Prometheus.
25+
Query it only when you want to retrieve a limited, aggregated data set.
26+
For example, retrieving fewer than 1,000 samples for each request helps minimize the risk of performance degradation.
27+
====
28+
29+
[id="cmo-routes-resources"]
30+
== CMO routes resources
31+
32+
=== openshift-monitoring/alertmanager-main
33+
34+
Expose the `/api` endpoints of the `alertmanager-main` service via a router.
35+
36+
=== openshift-monitoring/prometheus-k8s
37+
38+
Expose the `/api` endpoints of the `prometheus-k8s` service via a router.
39+
40+
=== openshift-monitoring/prometheus-k8s-federate
41+
42+
Expose the `/federate` endpoint of the `prometheus-k8s` service via a router.
43+
44+
=== openshift-user-workload-monitoring/federate
45+
46+
Expose the `/federate` endpoint of the `prometheus-user-workload` service via a router.
47+
48+
=== openshift-monitoring/thanos-querier
49+
50+
Expose the `/api` endpoints of the `thanos-querier` service via a router.
51+
52+
=== openshift-user-workload-monitoring/thanos-ruler
53+
54+
Expose the `/api` endpoints of the `thanos-ruler` service via a router.
55+
56+
[id="cmo-services-resources"]
57+
== CMO services resources
58+
59+
=== openshift-monitoring/prometheus-operator-admission-webhook
60+
61+
Expose the admission webhook service which validates `PrometheusRules` and `AlertmanagerConfig` custom resources on port 8443.
62+
63+
=== openshift-user-workload-monitoring/alertmanager-user-workload
64+
65+
Expose the user-defined Alertmanager web server within the cluster on the following ports:
66+
67+
* Port 9095 provides access to the Alertmanager endpoints. Granting access requires binding a user to the `monitoring-alertmanager-api-reader` role (for read-only operations) or `monitoring-alertmanager-api-writer` role in the `openshift-user-workload-monitoring` project.
68+
* Port 9092 provides access to the Alertmanager endpoints restricted to a given project. Granting access requires binding a user to the `monitoring-rules-edit` cluster role or `monitoring-edit` cluster role in the project.
69+
* Port 9097 provides access to the `/metrics` endpoint only. This port is for internal use, and no other usage is guaranteed.
70+
71+
=== openshift-monitoring/alertmanager-main
72+
73+
Expose the Alertmanager web server within the cluster on the following ports:
74+
75+
* Port 9094 provides access to all the Alertmanager endpoints. Granting access requires binding a user to the `monitoring-alertmanager-view` role (for read-only operations) or the `monitoring-alertmanager-edit` role in the `openshift-monitoring` project.
76+
* Port 9092 provides access to the Alertmanager endpoints restricted to a given project. Granting access requires binding a user to the `monitoring-rules-edit` cluster role or `monitoring-edit` cluster role in the project.
77+
* Port 9097 provides access to the `/metrics` endpoint only. This port is for internal use, and no other usage is guaranteed.
78+
79+
=== openshift-monitoring/kube-state-metrics
80+
81+
Expose kube-state-metrics `/metrics` endpoints within the cluster on the following ports:
82+
83+
* Port 8443 provides access to the Kubernetes resource metrics. This port is for internal use, and no other usage is guaranteed.
84+
* Port 9443 provides access to the internal kube-state-metrics metrics. This port is for internal use, and no other usage is guaranteed.
85+
86+
=== openshift-monitoring/metrics-server
87+
88+
Expose the metrics-server web server on port 443. This port is for internal use, and no other usage is guaranteed.
89+
90+
=== openshift-monitoring/monitoring-plugin
91+
92+
Expose the monitoring plugin service on port 9443. This port is for internal use, and no other usage is guaranteed.
93+
94+
=== openshift-monitoring/node-exporter
95+
96+
Expose the `/metrics` endpoint on port 9100. This port is for internal use, and no other usage is guaranteed.
97+
98+
=== openshift-monitoring/openshift-state-metrics
99+
100+
Expose openshift-state-metrics `/metrics` endpoints within the cluster on the following ports:
101+
102+
* Port 8443 provides access to the OpenShift resource metrics. This port is for internal use, and no other usage is guaranteed.
103+
* Port 9443 provides access to the internal `openshift-state-metrics` metrics. This port is for internal use, and no other usage is guaranteed.
104+
105+
=== openshift-monitoring/prometheus-k8s
106+
107+
Expose the Prometheus web server within the cluster on the following ports:
108+
109+
* Port 9091 provides access to all the Prometheus endpoints. Granting access requires binding a user to the `cluster-monitoring-view` cluster role.
110+
111+
* Port 9092 provides access to the `/metrics` and `/federate` endpoints only. This port is for internal use, and no other usage is guaranteed.
112+
113+
=== openshift-user-workload-monitoring/prometheus-operator
114+
115+
Expose the `/metrics` endpoint on port 8443. This port is for internal use, and no other usage is guaranteed.
116+
117+
=== openshift-monitoring/prometheus-operator
118+
119+
Expose the `/metrics` endpoint on port 8443. This port is for internal use, and no other usage is guaranteed.
120+
121+
=== openshift-user-workload-monitoring/prometheus-user-workload
122+
123+
Expose the Prometheus web server within the cluster on the following ports:
124+
125+
* Port 9091 provides access to the `/metrics` endpoint only. This port is for internal use, and no other usage is guaranteed.
126+
* Port 9092 provides access to the `/federate` endpoint only. Granting access requires binding a user to the `cluster-monitoring-view` cluster role.
127+
128+
This also exposes the `/metrics` endpoint of the Thanos sidecar web server on port 10902. This port is for internal use, and no other usage is guaranteed.
129+
130+
=== openshift-monitoring/telemeter-client
131+
132+
Expose the `/metrics` endpoint on port 8443. This port is for internal use, and no other usage is guaranteed.
133+
134+
=== openshift-monitoring/thanos-querier
135+
136+
Expose the Thanos Querier web server within the cluster on the following ports:
137+
138+
* Port 9091 provides access to all the Thanos Querier endpoints. Granting access requires binding a user to the `cluster-monitoring-view` cluster role.
139+
* Port 9092 provides access to the `/api/v1/query`, `/api/v1/query_range/`, `/api/v1/labels`, `/api/v1/label/*/values`, and `/api/v1/series` endpoints restricted to a given project. Granting access requires binding a user to the `view` cluster role in the project.
140+
* Port 9093 provides access to the `/api/v1/alerts`, and `/api/v1/rules` endpoints restricted to a given project. Granting access requires binding a user to the `monitoring-rules-edit` cluster role, `monitoring-edit` cluster role or `monitoring-rules-view` cluster role in the project.
141+
* Port 9094 provides access to the `/metrics` endpoint only. This port is for internal use, and no other usage is guaranteed.
142+
143+
=== openshift-user-workload-monitoring/thanos-ruler
144+
145+
Expose the Thanos Ruler web server within the cluster on the following ports:
146+
147+
* Port 9091 provides access to all Thanos Ruler endpoints. Granting access requires binding a user to the `cluster-monitoring-view` cluster role.
148+
* Port 9092 provides access to the `/metrics` endpoint only. This port is for internal use, and no other usage is guaranteed.
149+
150+
This also exposes the gRPC endpoints on port 10901. This port is for internal use, and no other usage is guaranteed.
151+
152+
=== openshift-monitoring/cluster-monitoring-operator
153+
154+
Expose the `/metrics` endpoint on port 8443. This port is for internal use, and no other usage is guaranteed.
155+

observability/monitoring/accessing-third-party-monitoring-apis.adoc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ include::modules/monitoring-querying-metrics-by-using-the-federation-endpoint-fo
3333
// Accessing metrics from outside the cluster for custom applications
3434
include::modules/accessing-metrics-outside-cluster.adoc[leveloffset=+1]
3535

36+
// Resources reference for accessing API endpoints
37+
include::modules/monitoring-resources-reference-for-the-cluster-monitoring-operator.adoc[leveloffset=+1]
38+
39+
3640
[role="_additional-resources"]
3741
[id="additional-resources_accessing-monitoring-apis-by-using-the-cli"]
3842
== Additional resources

0 commit comments

Comments
 (0)