20/07/2026

K8s – Prometheus App baglantisi

  • 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 }}