129 lines
4.5 KiB
YAML
129 lines
4.5 KiB
YAML
{{- if and .Values.monitoring.enabled .Values.monitoring.lokiStack.enabled }}
|
|
---
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: {{ include "cluster-addons.componentName" (list . "loki-stack") }}-config
|
|
labels:
|
|
{{- include "cluster-addons.componentLabels" (list . "loki-stack") | nindent 4 }}
|
|
addons.stackhpc.com/watch: ""
|
|
stringData:
|
|
defaults: |
|
|
loki:
|
|
image:
|
|
repository: {{ include "cluster-addons.imagePrefix" . }}docker.io/grafana/loki
|
|
serviceMonitor:
|
|
enabled: true
|
|
promtail:
|
|
image:
|
|
registry: {{ include "cluster-addons.imagePrefix" . }}docker.io
|
|
serviceMonitor:
|
|
enabled: true
|
|
# Get promtail to scrape systemd services
|
|
config:
|
|
snippets:
|
|
extraScrapeConfigs: |
|
|
- job_name: journal
|
|
journal:
|
|
path: /var/log/journal
|
|
max_age: 12h
|
|
labels:
|
|
job: systemd-journal
|
|
relabel_configs:
|
|
- source_labels: ['__journal__systemd_unit']
|
|
target_label: 'unit'
|
|
- source_labels: ['__journal__hostname']
|
|
target_label: 'hostname'
|
|
- source_labels: ['__journal_priority_keyword']
|
|
target_label: level
|
|
# Mount journal directory and machine-id file into promtail pods
|
|
extraVolumes:
|
|
- name: journal
|
|
hostPath:
|
|
path: /var/log/journal
|
|
- name: machine-id
|
|
hostPath:
|
|
path: /etc/machine-id
|
|
extraVolumeMounts:
|
|
- name: journal
|
|
mountPath: /var/log/journal
|
|
readOnly: true
|
|
- name: machine-id
|
|
mountPath: /etc/machine-id
|
|
readOnly: true
|
|
grafana:
|
|
sidecar:
|
|
datasources:
|
|
enabled: false
|
|
overrides: |
|
|
{{- toYaml .Values.monitoring.lokiStack.release.values | nindent 4 }}
|
|
---
|
|
apiVersion: addons.stackhpc.com/v1alpha1
|
|
kind: HelmRelease
|
|
metadata:
|
|
name: {{ include "cluster-addons.componentName" (list . "loki-stack") }}
|
|
labels: {{ include "cluster-addons.componentLabels" (list . "loki-stack") | nindent 4 }}
|
|
annotations:
|
|
# Tell Argo to ignore the non-controller owner references for this object
|
|
argocd.argoproj.io/sync-options: "ControllerReferencesOnly=true"
|
|
spec:
|
|
clusterName: {{ include "cluster-addons.clusterName" . }}
|
|
bootstrap: true
|
|
chart: {{ toYaml .Values.monitoring.lokiStack.chart | nindent 4 }}
|
|
targetNamespace: {{ .Values.monitoring.lokiStack.release.namespace }}
|
|
releaseName: loki-stack
|
|
valuesSources:
|
|
- secret:
|
|
name: {{ include "cluster-addons.componentName" (list . "loki-stack") }}-config
|
|
key: defaults
|
|
- secret:
|
|
name: {{ include "cluster-addons.componentName" (list . "loki-stack") }}-config
|
|
key: overrides
|
|
---
|
|
apiVersion: addons.stackhpc.com/v1alpha1
|
|
kind: Manifests
|
|
metadata:
|
|
name: {{ include "cluster-addons.componentName" (list . "loki-stack-dashboards") }}
|
|
labels: {{ include "cluster-addons.componentLabels" (list . "loki-stack-dashboards") | nindent 4 }}
|
|
annotations:
|
|
# Tell Argo to ignore the non-controller owner references for this object
|
|
argocd.argoproj.io/sync-options: "ControllerReferencesOnly=true"
|
|
spec:
|
|
clusterName: {{ include "cluster-addons.clusterName" . }}
|
|
bootstrap: true
|
|
targetNamespace: {{ .Values.monitoring.lokiStack.release.namespace }}
|
|
releaseName: loki-stack-dashboards
|
|
manifestSources:
|
|
- template: |
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: loki-stack-grafana-datasource
|
|
labels:
|
|
grafana_datasource: "1"
|
|
data:
|
|
loki-datasource.yaml: |-
|
|
apiVersion: 1
|
|
datasources:
|
|
- name: Loki
|
|
type: loki
|
|
url: http://loki-stack.{{ .Values.monitoring.lokiStack.release.namespace }}:3100
|
|
access: proxy
|
|
version: 1
|
|
isDefault: false
|
|
- template: |
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: loki-stack-grafana-dashboards
|
|
labels:
|
|
grafana_dashboard: "1"
|
|
data:
|
|
loki-pod-logs-dashboard.json: |
|
|
{{- .Files.Get "grafana-dashboards/loki-pod-logs-dashboard.json" | nindent 12 }}
|
|
loki-systemd-logs-dashboard.json: |
|
|
{{- .Files.Get "grafana-dashboards/loki-systemd-logs-dashboard.json" | nindent 12 }}
|
|
loki-metrics-dashboard.json: |
|
|
{{- .Files.Get "grafana-dashboards/loki-metrics-dashboard.json" | nindent 12 }}
|
|
{{- end }}
|