Skip to content

Commit 9b044a3

Browse files
[monitoring] Add per-tenant log routing support in fluent-bit
Signed-off-by: Mattia Eleuteri <[email protected]>
1 parent a13481b commit 9b044a3

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

‎packages/system/monitoring-agents/values.yaml‎

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,11 @@ vmagent:
285285
extraArgs: {}
286286

287287
fluent-bit:
288+
# Per-tenant log routing: routes logs from tenant namespaces to their own VLogs
289+
# tenantLogRouting:
290+
# - namespace: tenant-example
291+
# vlogs: vlogs-generic.tenant-example.svc
292+
tenantLogRouting: []
288293
rbac:
289294
eventsAccess: true
290295
readinessProbe:
@@ -374,6 +379,19 @@ fluent-bit:
374379
json_date_format iso8601
375380
header AccountID 0
376381
header ProjectID 0
382+
{{- range .Values.tenantLogRouting }}
383+
[OUTPUT]
384+
Name http
385+
Match tenant.{{ .namespace }}.*
386+
Host {{ .vlogs }}
387+
port 9428
388+
compress gzip
389+
uri /insert/jsonline?_stream_fields=log_source,stream,kubernetes_pod_name,kubernetes_container_name,kubernetes_namespace_name&_msg_field=log&_time_field=date
390+
format json_lines
391+
json_date_format iso8601
392+
header AccountID 0
393+
header ProjectID 0
394+
{{- end }}
377395
filters: |
378396
[FILTER]
379397
Name kubernetes
@@ -423,6 +441,12 @@ fluent-bit:
423441
Name modify
424442
Match *
425443
Add cluster root-cluster
444+
{{- range .Values.tenantLogRouting }}
445+
[FILTER]
446+
Name rewrite_tag
447+
Match kube.*
448+
Rule $kubernetes_namespace_name ^({{ .namespace }})$ tenant.{{ .namespace }}.$TAG false
449+
{{- end }}
426450
scrapeRules:
427451
etcd:
428452
enabled: false

0 commit comments

Comments
 (0)