Skip to content

Commit 51aed32

Browse files
committed
cleanup obsolete service monitors
1 parent b095570 commit 51aed32

File tree

1 file changed

+6
-181
lines changed

1 file changed

+6
-181
lines changed

stacks/monitoring/prometheus-service-monitors.yaml

Lines changed: 6 additions & 181 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,21 @@
1+
---
12
# Use something like this to check for metrics:
23
# count by (app_kubernetes_io_name, app_kubernetes_io_instance, pod) ({app_kubernetes_io_name!="",pod!=""})
34
#
45
# Products metrics covered by the ServiceMonitors below. The list also includes whether the
56
# ServiceMonitor scrapes native metrics or a statsd/JMX exporter.
67
#
7-
# [x] Airflow - exporter
8-
# [x] Druid - native
9-
# [x] HBase - native
10-
# [x] Hadoop HDFS - native
11-
# [x] Hive - exporter
12-
# [x] Kafka - exporter
13-
# [x] NiFi 1 - native
14-
# [x] NiFi 2 - native
15-
# [x] OpenSearch - native
16-
# [ ] Spark - native - partially done, see comment on it below
17-
# [x] Superset - exporter
18-
# [x] Trino - native
19-
# [x] ZooKeeper - native
20-
# [x] OPA - native
21-
---
22-
apiVersion: monitoring.coreos.com/v1
23-
kind: ServiceMonitor
24-
metadata:
25-
name: stackable
26-
labels:
27-
stackable.tech/vendor: Stackable
28-
release: prometheus
29-
spec:
30-
namespaceSelector:
31-
any: true
32-
selector:
33-
matchLabels:
34-
stackable.tech/vendor: Stackable
35-
prometheus.io/scrape: "true"
36-
matchExpressions:
37-
- key: app.kubernetes.io/name
38-
operator: In
39-
values:
40-
- airflow
41-
- druid
42-
- hive
43-
- kafka
44-
- nifi # This only works for NiFi 1, NiFi 2 works via stackable-generic
45-
- opa
46-
- superset
47-
- trino
48-
- zookeeper
49-
endpoints:
50-
- scheme: http
51-
port: metrics
52-
path: /metrics
53-
podTargetLabels:
54-
- app.kubernetes.io/name
55-
- app.kubernetes.io/instance
56-
- app.kubernetes.io/component
57-
- app.kubernetes.io/role-group
58-
- app.kubernetes.io/version
59-
---
8+
#
609
# Utilize `prometheus.io/scheme`, `prometheus.io/port`, `prometheus.io/path` annotations set by the operators
6110
# to scrape all Stackable products.
6211
# [x] Airflow - relabel drop filter on airflow container
6312
# [x] Druid
6413
# [x] HBase
6514
# [X] Hadoop HDFS - relabel drop filter on empty container
6615
# [x] Hive
67-
# [~] Kafka - TODO: listener services have metrics?
16+
# [x] Kafka - TODO: listener services have metrics?
6817
# [x] NiFi 1 + 2
69-
# [ ] OpenSearch
18+
# [x] OpenSearch
7019
# [x] Spark: Connect, HistoryServer
7120
# [x] Superset - relabel drop filter on superset container
7221
# [x] Trino
@@ -75,7 +24,7 @@ spec:
7524
apiVersion: monitoring.coreos.com/v1
7625
kind: ServiceMonitor
7726
metadata:
78-
name: stackable-generic
27+
name: stackable
7928
labels:
8029
stackable.tech/vendor: Stackable
8130
release: prometheus
@@ -91,8 +40,7 @@ spec:
9140
- sourceLabels:
9241
- __meta_kubernetes_pod_container_name
9342
# Pods show up twice due to multiple containers, we only keep the main / product container.
94-
# Except for Airflow and Superset, where we chose the metrics container (otherwise scheduler, worker etc.
95-
# which only have the metrics container are not getting picked up).
43+
# Except for Airflow and Superset, where we chose the metrics container.
9644
# - airflow: airflow
9745
# - superset: superset
9846
# - empty: filter when container label does not exist: hdfs
@@ -136,109 +84,6 @@ spec:
13684
- app.kubernetes.io/role-group
13785
- app.kubernetes.io/version
13886
---
139-
# We prefer the native metrics over the statsd-exporter
140-
apiVersion: monitoring.coreos.com/v1
141-
kind: ServiceMonitor
142-
metadata:
143-
name: stackable-hdfs
144-
labels:
145-
stackable.tech/vendor: Stackable
146-
release: prometheus
147-
spec:
148-
namespaceSelector:
149-
any: true
150-
selector:
151-
matchLabels:
152-
stackable.tech/vendor: Stackable
153-
prometheus.io/scrape: "true"
154-
app.kubernetes.io/name: hdfs
155-
endpoints:
156-
- scheme: http
157-
port: http # Don't use the "metrics" exporter port, we want native metrics instead
158-
path: /prom
159-
podTargetLabels:
160-
- app.kubernetes.io/name
161-
- app.kubernetes.io/instance
162-
- app.kubernetes.io/component
163-
- app.kubernetes.io/role-group
164-
- app.kubernetes.io/version
165-
---
166-
apiVersion: monitoring.coreos.com/v1
167-
kind: ServiceMonitor
168-
metadata:
169-
name: stackable-hbase
170-
labels:
171-
stackable.tech/vendor: Stackable
172-
release: prometheus
173-
spec:
174-
namespaceSelector:
175-
any: true
176-
selector:
177-
matchLabels:
178-
stackable.tech/vendor: Stackable
179-
prometheus.io/scrape: "true"
180-
app.kubernetes.io/name: hbase
181-
endpoints:
182-
- scheme: http
183-
port: metrics
184-
path: /prometheus
185-
podTargetLabels:
186-
- app.kubernetes.io/name
187-
- app.kubernetes.io/instance
188-
- app.kubernetes.io/component
189-
- app.kubernetes.io/role-group
190-
- app.kubernetes.io/version
191-
---
192-
apiVersion: monitoring.coreos.com/v1
193-
kind: ServiceMonitor
194-
metadata:
195-
name: stackable-opensearch
196-
labels:
197-
stackable.tech/vendor: Stackable
198-
release: prometheus
199-
spec:
200-
namespaceSelector:
201-
any: true
202-
selector:
203-
matchLabels:
204-
stackable.tech/vendor: Stackable
205-
prometheus.io/scrape: "true"
206-
app.kubernetes.io/name: opensearch
207-
endpoints:
208-
- relabelings:
209-
- sourceLabels:
210-
- __meta_kubernetes_service_annotation_prometheus_io_scheme
211-
action: replace
212-
targetLabel: __scheme__
213-
regex: (https?)
214-
- sourceLabels:
215-
- __meta_kubernetes_service_annotation_prometheus_io_path
216-
action: replace
217-
targetLabel: __metrics_path__
218-
regex: (.+)
219-
# Use the FQDN instead of the IP address because the IP address
220-
# is not contained in the certificate.
221-
- sourceLabels:
222-
- __meta_kubernetes_pod_name
223-
- __meta_kubernetes_service_name
224-
- __meta_kubernetes_namespace
225-
- __meta_kubernetes_service_annotation_prometheus_io_port
226-
action: replace
227-
targetLabel: __address__
228-
regex: (.+);(.+);(.+);(\d+)
229-
replacement: $1.$2.$3.svc.cluster.local:$4
230-
tlsConfig:
231-
ca:
232-
secret:
233-
name: prometheus-tls-certificate
234-
key: ca.crt
235-
podTargetLabels:
236-
- app.kubernetes.io/name
237-
- app.kubernetes.io/instance
238-
- app.kubernetes.io/component
239-
- app.kubernetes.io/role-group
240-
- app.kubernetes.io/version
241-
---
24287
# spark-k8s-operator does not deploy any Services at all (at least for SparkApplications).
24388
# We currently only scrape the driver, going forward we might want to scrape the executors as well.
24489
# In the future we might also want to scrape SparkConnect and HistoryServers.
@@ -271,26 +116,6 @@ spec:
271116
---
272117
apiVersion: monitoring.coreos.com/v1
273118
kind: ServiceMonitor
274-
metadata:
275-
name: stackable-minio-http
276-
labels:
277-
stackable.tech/vendor: Stackable
278-
release: prometheus
279-
spec:
280-
namespaceSelector:
281-
any: true
282-
selector:
283-
matchLabels:
284-
# stackable.tech/vendor: Stackable # This is not always set, e.g. missing in the nifi-kafka-druid-water-level-data demo
285-
app: minio
286-
monitoring: "true"
287-
endpoints:
288-
- scheme: http
289-
port: http
290-
path: /minio/v2/metrics/cluster
291-
---
292-
apiVersion: monitoring.coreos.com/v1
293-
kind: ServiceMonitor
294119
metadata:
295120
name: stackable-minio-https
296121
labels:

0 commit comments

Comments
 (0)