diff --git a/charts/distributed-loki/Chart.yaml b/charts/distributed-loki/Chart.yaml index 2b522c1..8a186c5 100644 --- a/charts/distributed-loki/Chart.yaml +++ b/charts/distributed-loki/Chart.yaml @@ -3,5 +3,5 @@ name: loki-distributed description: A Helm chart for Kubernetes type: application -version: 0.0.10 +version: 0.0.11 appVersion: 1.4.1 diff --git a/charts/distributed-loki/templates/consul/consul-servicemonitor.yaml b/charts/distributed-loki/templates/consul/consul-servicemonitor.yaml new file mode 100644 index 0000000..9d69a83 --- /dev/null +++ b/charts/distributed-loki/templates/consul/consul-servicemonitor.yaml @@ -0,0 +1,33 @@ +{{- if .Values.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "loki-helm.consul" . }} + labels: {{- include "loki-helm.labels" . | nindent 4 }} + app.kubernetes.io/component: consul + {{- if .Values.serviceMonitor.additionalLabels }} +{{ toYaml .Values.serviceMonitor.additionalLabels | indent 4 }} + {{- end }} +spec: + selector: + matchLabels: {{- include "loki-helm.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: consul + namespaceSelector: + matchNames: + - {{ .Release.Namespace | quote }} + endpoints: + - port: statsd-exporter-http-metrics + {{- if .Values.serviceMonitor.interval }} + interval: {{ .Values.serviceMonitor.interval }} + {{- end }} + {{- if .Values.serviceMonitor.scrapeTimeout }} + scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }} + {{- end }} + - port: consul-exporter-http-metrics + {{- if .Values.serviceMonitor.interval }} + interval: {{ .Values.serviceMonitor.interval }} + {{- end }} + {{- if .Values.serviceMonitor.scrapeTimeout }} + scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }} + {{- end }} +{{- end }} diff --git a/charts/distributed-loki/templates/distributor/distributor-servicemonitor.yaml b/charts/distributed-loki/templates/distributor/distributor-servicemonitor.yaml new file mode 100644 index 0000000..70fd0a3 --- /dev/null +++ b/charts/distributed-loki/templates/distributor/distributor-servicemonitor.yaml @@ -0,0 +1,26 @@ +{{- if .Values.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "loki-helm.distributor" . }} + labels: {{- include "loki-helm.labels" . | nindent 4 }} + app.kubernetes.io/component: distributor + {{- if .Values.serviceMonitor.additionalLabels }} +{{ toYaml .Values.serviceMonitor.additionalLabels | indent 4 }} + {{- end }} +spec: + selector: + matchLabels: {{- include "loki-helm.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: distributor + namespaceSelector: + matchNames: + - {{ .Release.Namespace | quote }} + endpoints: + - port: distributor-http-metrics + {{- if .Values.serviceMonitor.interval }} + interval: {{ .Values.serviceMonitor.interval }} + {{- end }} + {{- if .Values.serviceMonitor.scrapeTimeout }} + scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }} + {{- end }} +{{- end }} diff --git a/charts/distributed-loki/templates/ingester/ingester-servicemonitor.yaml b/charts/distributed-loki/templates/ingester/ingester-servicemonitor.yaml new file mode 100644 index 0000000..c8a2376 --- /dev/null +++ b/charts/distributed-loki/templates/ingester/ingester-servicemonitor.yaml @@ -0,0 +1,26 @@ +{{- if .Values.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "loki-helm.ingester" . }} + labels: {{- include "loki-helm.labels" . | nindent 4 }} + app.kubernetes.io/component: ingester + {{- if .Values.serviceMonitor.additionalLabels }} +{{ toYaml .Values.serviceMonitor.additionalLabels | indent 4 }} + {{- end }} +spec: + selector: + matchLabels: {{- include "loki-helm.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: ingester + namespaceSelector: + matchNames: + - {{ .Release.Namespace | quote }} + endpoints: + - port: ingester-http-metrics + {{- if .Values.serviceMonitor.interval }} + interval: {{ .Values.serviceMonitor.interval }} + {{- end }} + {{- if .Values.serviceMonitor.scrapeTimeout }} + scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }} + {{- end }} +{{- end }} diff --git a/charts/distributed-loki/templates/memcached-frontend/memcached-frontend-servicemonitor.yaml b/charts/distributed-loki/templates/memcached-frontend/memcached-frontend-servicemonitor.yaml new file mode 100644 index 0000000..d6ffd0b --- /dev/null +++ b/charts/distributed-loki/templates/memcached-frontend/memcached-frontend-servicemonitor.yaml @@ -0,0 +1,26 @@ +{{- if .Values.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "loki-helm.memcached-frontend" . }} + labels: {{- include "loki-helm.labels" . | nindent 4 }} + app.kubernetes.io/component: memcached-frontend + {{- if .Values.serviceMonitor.additionalLabels }} +{{ toYaml .Values.serviceMonitor.additionalLabels | indent 4 }} + {{- end }} +spec: + selector: + matchLabels: {{- include "loki-helm.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: memcached-frontend + namespaceSelector: + matchNames: + - {{ .Release.Namespace | quote }} + endpoints: + - port: exporter-http-metrics + {{- if .Values.serviceMonitor.interval }} + interval: {{ .Values.serviceMonitor.interval }} + {{- end }} + {{- if .Values.serviceMonitor.scrapeTimeout }} + scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }} + {{- end }} +{{- end }} diff --git a/charts/distributed-loki/templates/memcached-index-queries/memcached-index-queries-servicemonitor.yaml b/charts/distributed-loki/templates/memcached-index-queries/memcached-index-queries-servicemonitor.yaml new file mode 100644 index 0000000..7713fa4 --- /dev/null +++ b/charts/distributed-loki/templates/memcached-index-queries/memcached-index-queries-servicemonitor.yaml @@ -0,0 +1,26 @@ +{{- if .Values.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "loki-helm.memcached-index-queries" . }} + labels: {{- include "loki-helm.labels" . | nindent 4 }} + app.kubernetes.io/component: memcached-index-queries + {{- if .Values.serviceMonitor.additionalLabels }} +{{ toYaml .Values.serviceMonitor.additionalLabels | indent 4 }} + {{- end }} +spec: + selector: + matchLabels: {{- include "loki-helm.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: memcached-index-queries + namespaceSelector: + matchNames: + - {{ .Release.Namespace | quote }} + endpoints: + - port: exporter-http-metrics + {{- if .Values.serviceMonitor.interval }} + interval: {{ .Values.serviceMonitor.interval }} + {{- end }} + {{- if .Values.serviceMonitor.scrapeTimeout }} + scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }} + {{- end }} +{{- end }} diff --git a/charts/distributed-loki/templates/memcached-index-writes/memcached-index-writes-servicemonitor.yaml b/charts/distributed-loki/templates/memcached-index-writes/memcached-index-writes-servicemonitor.yaml new file mode 100644 index 0000000..574b613 --- /dev/null +++ b/charts/distributed-loki/templates/memcached-index-writes/memcached-index-writes-servicemonitor.yaml @@ -0,0 +1,26 @@ +{{- if .Values.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "loki-helm.memcached-index-writes" . }} + labels: {{- include "loki-helm.labels" . | nindent 4 }} + app.kubernetes.io/component: memcached-index-writes + {{- if .Values.serviceMonitor.additionalLabels }} +{{ toYaml .Values.serviceMonitor.additionalLabels | indent 4 }} + {{- end }} +spec: + selector: + matchLabels: {{- include "loki-helm.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: memcached-index-writes + namespaceSelector: + matchNames: + - {{ .Release.Namespace | quote }} + endpoints: + - port: exporter-http-metrics + {{- if .Values.serviceMonitor.interval }} + interval: {{ .Values.serviceMonitor.interval }} + {{- end }} + {{- if .Values.serviceMonitor.scrapeTimeout }} + scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }} + {{- end }} +{{- end }} diff --git a/charts/distributed-loki/templates/memcached/memcached-servicemonitor.yaml b/charts/distributed-loki/templates/memcached/memcached-servicemonitor.yaml new file mode 100644 index 0000000..9401a6e --- /dev/null +++ b/charts/distributed-loki/templates/memcached/memcached-servicemonitor.yaml @@ -0,0 +1,26 @@ +{{- if .Values.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "loki-helm.memcached" . }} + labels: {{- include "loki-helm.labels" . | nindent 4 }} + app.kubernetes.io/component: memcached + {{- if .Values.serviceMonitor.additionalLabels }} +{{ toYaml .Values.serviceMonitor.additionalLabels | indent 4 }} + {{- end }} +spec: + selector: + matchLabels: {{- include "loki-helm.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: memcached + namespaceSelector: + matchNames: + - {{ .Release.Namespace | quote }} + endpoints: + - port: exporter-http-metrics + {{- if .Values.serviceMonitor.interval }} + interval: {{ .Values.serviceMonitor.interval }} + {{- end }} + {{- if .Values.serviceMonitor.scrapeTimeout }} + scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }} + {{- end }} +{{- end }} diff --git a/charts/distributed-loki/templates/querier-frontend/querier-frontend-servicemonitor.yaml b/charts/distributed-loki/templates/querier-frontend/querier-frontend-servicemonitor.yaml new file mode 100644 index 0000000..8b72c7e --- /dev/null +++ b/charts/distributed-loki/templates/querier-frontend/querier-frontend-servicemonitor.yaml @@ -0,0 +1,26 @@ +{{- if .Values.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "loki-helm.querier-frontend" . }} + labels: {{- include "loki-helm.labels" . | nindent 4 }} + app.kubernetes.io/component: querier-frontend + {{- if .Values.serviceMonitor.additionalLabels }} +{{ toYaml .Values.serviceMonitor.additionalLabels | indent 4 }} + {{- end }} +spec: + selector: + matchLabels: {{- include "loki-helm.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: querier-frontend + namespaceSelector: + matchNames: + - {{ .Release.Namespace | quote }} + endpoints: + - port: querier-frontend-http-metrics + {{- if .Values.serviceMonitor.interval }} + interval: {{ .Values.serviceMonitor.interval }} + {{- end }} + {{- if .Values.serviceMonitor.scrapeTimeout }} + scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }} + {{- end }} +{{- end }} diff --git a/charts/distributed-loki/templates/querier/querier-servicemonitor.yaml b/charts/distributed-loki/templates/querier/querier-servicemonitor.yaml new file mode 100644 index 0000000..2c45fa4 --- /dev/null +++ b/charts/distributed-loki/templates/querier/querier-servicemonitor.yaml @@ -0,0 +1,26 @@ +{{- if .Values.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "loki-helm.querier" . }} + labels: {{- include "loki-helm.labels" . | nindent 4 }} + app.kubernetes.io/component: querier + {{- if .Values.serviceMonitor.additionalLabels }} +{{ toYaml .Values.serviceMonitor.additionalLabels | indent 4 }} + {{- end }} +spec: + selector: + matchLabels: {{- include "loki-helm.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: querier + namespaceSelector: + matchNames: + - {{ .Release.Namespace | quote }} + endpoints: + - port: querier-http-metrics + {{- if .Values.serviceMonitor.interval }} + interval: {{ .Values.serviceMonitor.interval }} + {{- end }} + {{- if .Values.serviceMonitor.scrapeTimeout }} + scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }} + {{- end }} +{{- end }} diff --git a/charts/distributed-loki/templates/table-manager/table-manager-servicemonitor.yaml b/charts/distributed-loki/templates/table-manager/table-manager-servicemonitor.yaml new file mode 100644 index 0000000..a66090e --- /dev/null +++ b/charts/distributed-loki/templates/table-manager/table-manager-servicemonitor.yaml @@ -0,0 +1,26 @@ +{{- if .Values.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "loki-helm.table-manager" . }} + labels: {{- include "loki-helm.labels" . | nindent 4 }} + app.kubernetes.io/component: table-manager + {{- if .Values.serviceMonitor.additionalLabels }} +{{ toYaml .Values.serviceMonitor.additionalLabels | indent 4 }} + {{- end }} +spec: + selector: + matchLabels: {{- include "loki-helm.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: table-manager + namespaceSelector: + matchNames: + - {{ .Release.Namespace | quote }} + endpoints: + - port: table-manager-http-metrics + {{- if .Values.serviceMonitor.interval }} + interval: {{ .Values.serviceMonitor.interval }} + {{- end }} + {{- if .Values.serviceMonitor.scrapeTimeout }} + scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }} + {{- end }} +{{- end }} diff --git a/charts/distributed-loki/values.yaml b/charts/distributed-loki/values.yaml index 3f9fbe8..5a00cf2 100644 --- a/charts/distributed-loki/values.yaml +++ b/charts/distributed-loki/values.yaml @@ -202,3 +202,13 @@ storage: storeUrl: loki-cassandra.monitoring.svc # storage.config.bucketName -- Name of your gcs bucket. bucketName: loki_distributed + +serviceMonitor: + # serviceMonitor.enabled -- Enable service monitors for Loki deployment. + enabled: false + # serviceMonitor.interval -- Set interval scraping the targets. + interval: "" + # serviceMonitor.additionalLabels -- Set additional labels for the service monitor. + additionalLabels: {} + # serviceMonitor.scrapeTimeout -- Set time out for scraping. + # scrapeTimeout: 10s