106 lines
2.7 KiB
YAML
106 lines
2.7 KiB
YAML
# =====================================================================
|
|
# Loki + Grafana Alloy — log aggregation
|
|
#
|
|
# Loki:
|
|
# helm repo add grafana https://grafana.github.io/helm-charts
|
|
# helm repo update
|
|
# helm install loki grafana/loki -n monitoring -f loki-values.yaml
|
|
#
|
|
# Alloy (raccolta log, DaemonSet su ogni nodo RKE2):
|
|
# helm install alloy grafana/alloy -n monitoring -f alloy-values.yaml
|
|
#
|
|
# Questo file contiene ENTRAMBI i set di values, separati da "---";
|
|
# salvali in due file distinti se preferisci due comandi helm separati.
|
|
# =====================================================================
|
|
|
|
# ---------------------------------------------------------------------
|
|
# loki-values.yaml (modalità single-binary, adatta a partire in piccolo;
|
|
# per HA/produzione a lungo termine valutare la modalità "simple scalable"
|
|
# con backend object storage S3-compatibile, es. MinIO)
|
|
# ---------------------------------------------------------------------
|
|
deploymentMode: SingleBinary
|
|
|
|
loki:
|
|
auth_enabled: false
|
|
commonConfig:
|
|
replication_factor: 1
|
|
storage:
|
|
type: filesystem
|
|
|
|
singleBinary:
|
|
replicas: 1
|
|
persistence:
|
|
enabled: true
|
|
storageClass: longhorn # <-- CAMBIA con la tua storageClass
|
|
size: 50Gi
|
|
resources:
|
|
requests:
|
|
cpu: 200m
|
|
memory: 512Mi
|
|
limits:
|
|
memory: 1Gi
|
|
|
|
# Disabilita i componenti "scalable" non necessari in modalità SingleBinary
|
|
read:
|
|
replicas: 0
|
|
write:
|
|
replicas: 0
|
|
backend:
|
|
replicas: 0
|
|
|
|
gateway:
|
|
enabled: false
|
|
|
|
test:
|
|
enabled: false
|
|
|
|
---
|
|
# ---------------------------------------------------------------------
|
|
# alloy-values.yaml (DaemonSet che raccoglie log da tutti i nodi/pod
|
|
# e li invia a Loki)
|
|
# ---------------------------------------------------------------------
|
|
alloy:
|
|
configMap:
|
|
content: |
|
|
discovery.kubernetes "pods" {
|
|
role = "pod"
|
|
}
|
|
|
|
discovery.relabel "pods" {
|
|
targets = discovery.kubernetes.pods.targets
|
|
|
|
rule {
|
|
source_labels = ["__meta_kubernetes_namespace"]
|
|
target_label = "namespace"
|
|
}
|
|
rule {
|
|
source_labels = ["__meta_kubernetes_pod_name"]
|
|
target_label = "pod"
|
|
}
|
|
rule {
|
|
source_labels = ["__meta_kubernetes_pod_container_name"]
|
|
target_label = "container"
|
|
}
|
|
}
|
|
|
|
loki.source.kubernetes "pods" {
|
|
targets = discovery.relabel.pods.output
|
|
forward_to = [loki.write.default.receiver]
|
|
}
|
|
|
|
loki.write "default" {
|
|
endpoint {
|
|
url = "http://loki.monitoring.svc.cluster.local:3100/loki/api/v1/push"
|
|
}
|
|
}
|
|
|
|
controller:
|
|
type: daemonset
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
limits:
|
|
memory: 256Mi
|