- Bizim clusterda standart kube-prometheus-stack kurulydu.
- Bunun icin gerekli olan RBAC
- # Allow Prometheus API group for deployments
- – apiGroups: [“monitoring.coreos.com”]
- resources: [“servicemonitors”]
- verbs: [“get”, “list”, “watch”, “create”, “update”, “patch”, “delete”]
- Ayrica Operator un data collect edebilmesi icinde serviceMonitor un olusturulmesi gerekli.
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ include "smt.fullname" . }}
namespace: {{ include "ttt.namespace" . }}
labels:
release: prometheus
spec:
namespaceSelector:
matchNames:
- {{ include "ttt.namespace" . }}
selector:
matchLabels:
{{- include "smt.selectorLabels" . | nindent 6 }}
endpoints:
- port: http
path: /prometheus
interval: 30s
scrapeTimeout: 10s
- Tabii burada smt.fullname ve smt.selectorLabels ve ttt.namespace degerleri nereden geliyor diye bakacak olursak.
{- define "smt.fullname" -}}
{{- printf "%s-smt" .Release.Name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- define "smt.labels" -}}
helm.sh/chart: {{ include "ttt.chart" . }}
{{ include "smt.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/component: smt
{{- end }}
{{- define "smt.selectorLabels" -}}
app.kubernetes.io/name: {{ include "ttt.name" . }}-smt
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/component: smt
{{- end }}