Skip to content

Commit b320be2

Browse files
committed
feat: vm scrape
1 parent 1d9fa7f commit b320be2

File tree

4 files changed

+144
-4
lines changed

4 files changed

+144
-4
lines changed

deploy/charts/state-metrics/templates/service.yaml

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
{{- if .Values.deploymentConfig.enabledCollectors }}
12
apiVersion: v1
23
kind: Service
34
metadata:
4-
name: {{ include "state-metrics.fullname" . }}
5+
name: {{ include "state-metrics.fullname" . }}-deployment
56
labels:
67
{{- include "state-metrics.labels" . | nindent 4 }}
8+
app.kubernetes.io/component: deployment
79
{{- with .Values.service.annotations }}
810
annotations:
911
{{- toYaml . | nindent 4 }}
@@ -17,3 +19,29 @@ spec:
1719
name: http
1820
selector:
1921
{{- include "state-metrics.selectorLabels" . | nindent 4 }}
22+
app.kubernetes.io/component: deployment
23+
{{- end }}
24+
---
25+
{{- if .Values.daemonsetConfig.enabledCollectors }}
26+
apiVersion: v1
27+
kind: Service
28+
metadata:
29+
name: {{ include "state-metrics.fullname" . }}-daemonset
30+
labels:
31+
{{- include "state-metrics.labels" . | nindent 4 }}
32+
app.kubernetes.io/component: daemonset
33+
{{- with .Values.service.annotations }}
34+
annotations:
35+
{{- toYaml . | nindent 4 }}
36+
{{- end }}
37+
spec:
38+
type: {{ .Values.service.type }}
39+
ports:
40+
- port: {{ .Values.service.port }}
41+
targetPort: http
42+
protocol: TCP
43+
name: http
44+
selector:
45+
{{- include "state-metrics.selectorLabels" . | nindent 4 }}
46+
app.kubernetes.io/component: daemonset
47+
{{- end }}

deploy/charts/state-metrics/templates/servicemonitor.yaml

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,59 @@
1-
{{- if .Values.serviceMonitor.enabled -}}
1+
{{- if and .Values.serviceMonitor.enabled .Values.deploymentConfig.enabledCollectors }}
22
apiVersion: monitoring.coreos.com/v1
33
kind: ServiceMonitor
44
metadata:
5-
name: {{ include "state-metrics.fullname" . }}
5+
name: {{ include "state-metrics.fullname" . }}-deployment
66
{{- if .Values.serviceMonitor.namespace }}
77
namespace: {{ .Values.serviceMonitor.namespace }}
88
{{- end }}
99
labels:
1010
{{- include "state-metrics.labels" . | nindent 4 }}
11+
app.kubernetes.io/component: deployment
1112
{{- with .Values.serviceMonitor.labels }}
1213
{{- toYaml . | nindent 4 }}
1314
{{- end }}
1415
spec:
1516
selector:
1617
matchLabels:
1718
{{- include "state-metrics.selectorLabels" . | nindent 6 }}
19+
app.kubernetes.io/component: deployment
1820
endpoints:
1921
- port: http
20-
path: {{ .Values.config.metricsPath }}
22+
path: {{ .Values.config.server.metricsPath }}
23+
interval: {{ .Values.serviceMonitor.interval }}
24+
scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }}
25+
{{- with .Values.serviceMonitor.relabelings }}
26+
relabelings:
27+
{{- toYaml . | nindent 8 }}
28+
{{- end }}
29+
{{- with .Values.serviceMonitor.metricRelabelings }}
30+
metricRelabelings:
31+
{{- toYaml . | nindent 8 }}
32+
{{- end }}
33+
{{- end }}
34+
---
35+
{{- if and .Values.serviceMonitor.enabled .Values.daemonsetConfig.enabledCollectors }}
36+
apiVersion: monitoring.coreos.com/v1
37+
kind: ServiceMonitor
38+
metadata:
39+
name: {{ include "state-metrics.fullname" . }}-daemonset
40+
{{- if .Values.serviceMonitor.namespace }}
41+
namespace: {{ .Values.serviceMonitor.namespace }}
42+
{{- end }}
43+
labels:
44+
{{- include "state-metrics.labels" . | nindent 4 }}
45+
app.kubernetes.io/component: daemonset
46+
{{- with .Values.serviceMonitor.labels }}
47+
{{- toYaml . | nindent 4 }}
48+
{{- end }}
49+
spec:
50+
selector:
51+
matchLabels:
52+
{{- include "state-metrics.selectorLabels" . | nindent 6 }}
53+
app.kubernetes.io/component: daemonset
54+
endpoints:
55+
- port: http
56+
path: {{ .Values.config.server.metricsPath }}
2157
interval: {{ .Values.serviceMonitor.interval }}
2258
scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }}
2359
{{- with .Values.serviceMonitor.relabelings }}
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
{{- if and .Values.vmServiceScrape.enabled .Values.deploymentConfig.enabledCollectors }}
2+
apiVersion: operator.victoriametrics.com/v1beta1
3+
kind: VMServiceScrape
4+
metadata:
5+
name: {{ include "state-metrics.fullname" . }}-deployment
6+
{{- if .Values.vmServiceScrape.namespace }}
7+
namespace: {{ .Values.vmServiceScrape.namespace }}
8+
{{- end }}
9+
labels:
10+
{{- include "state-metrics.labels" . | nindent 4 }}
11+
app.kubernetes.io/component: deployment
12+
{{- with .Values.vmServiceScrape.labels }}
13+
{{- toYaml . | nindent 4 }}
14+
{{- end }}
15+
spec:
16+
selector:
17+
matchLabels:
18+
{{- include "state-metrics.selectorLabels" . | nindent 6 }}
19+
app.kubernetes.io/component: deployment
20+
endpoints:
21+
- port: http
22+
path: {{ .Values.config.server.metricsPath }}
23+
interval: {{ .Values.vmServiceScrape.interval }}
24+
scrapeTimeout: {{ .Values.vmServiceScrape.scrapeTimeout }}
25+
{{- with .Values.vmServiceScrape.relabelConfigs }}
26+
relabelConfigs:
27+
{{- toYaml . | nindent 8 }}
28+
{{- end }}
29+
{{- with .Values.vmServiceScrape.metricRelabelConfigs }}
30+
metricRelabelConfigs:
31+
{{- toYaml . | nindent 8 }}
32+
{{- end }}
33+
{{- end }}
34+
---
35+
{{- if and .Values.vmServiceScrape.enabled .Values.daemonsetConfig.enabledCollectors }}
36+
apiVersion: operator.victoriametrics.com/v1beta1
37+
kind: VMServiceScrape
38+
metadata:
39+
name: {{ include "state-metrics.fullname" . }}-daemonset
40+
{{- if .Values.vmServiceScrape.namespace }}
41+
namespace: {{ .Values.vmServiceScrape.namespace }}
42+
{{- end }}
43+
labels:
44+
{{- include "state-metrics.labels" . | nindent 4 }}
45+
app.kubernetes.io/component: daemonset
46+
{{- with .Values.vmServiceScrape.labels }}
47+
{{- toYaml . | nindent 4 }}
48+
{{- end }}
49+
spec:
50+
selector:
51+
matchLabels:
52+
{{- include "state-metrics.selectorLabels" . | nindent 6 }}
53+
app.kubernetes.io/component: daemonset
54+
endpoints:
55+
- port: http
56+
path: {{ .Values.config.server.metricsPath }}
57+
interval: {{ .Values.vmServiceScrape.interval }}
58+
scrapeTimeout: {{ .Values.vmServiceScrape.scrapeTimeout }}
59+
{{- with .Values.vmServiceScrape.relabelConfigs }}
60+
relabelConfigs:
61+
{{- toYaml . | nindent 8 }}
62+
{{- end }}
63+
{{- with .Values.vmServiceScrape.metricRelabelConfigs }}
64+
metricRelabelConfigs:
65+
{{- toYaml . | nindent 8 }}
66+
{{- end }}
67+
{{- end }}

deploy/charts/state-metrics/values.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,15 @@ serviceMonitor:
2929
metricRelabelings: []
3030
relabelings: []
3131

32+
vmServiceScrape:
33+
enabled: false
34+
namespace: ""
35+
labels: {}
36+
interval: 30s
37+
scrapeTimeout: 10s
38+
metricRelabelConfigs: []
39+
relabelConfigs: []
40+
3241
# Common application configuration (shared by both Deployment and DaemonSet)
3342
config:
3443
server:

0 commit comments

Comments
 (0)