Add Fluent Bit configuration for log collection
- Introduced Fluent Bit resources including FluentBit, Parser, Output, FluentBitConfig, and ClusterInput. - Configured default resource requests and limits for Fluent Bit. - Set up JSON parser with customizable time key and format. - Established output forwarding to Fluentd service in the logging system. - Enabled conditional deployment based on the `fluentbit.enabled` value in Helm chart. Signed-off-by: zhenyus <zhenyus@mathmast.com>
This commit is contained in:
parent
0de22b2623
commit
358f131809
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,126 @@
|
||||
---
|
||||
apiVersion: fluentd.fluent.io/v1alpha1
|
||||
kind: ClusterOutput
|
||||
metadata:
|
||||
name: freeleaps-logging-system-loki
|
||||
labels:
|
||||
fluentd-default-output: "true"
|
||||
spec:
|
||||
outputs:
|
||||
- loki:
|
||||
url: http://loki-gateway.freeleaps-logging-system
|
||||
lineFormat: json
|
||||
insecure: true
|
||||
extractKubernetesLabels: true
|
||||
---
|
||||
apiVersion: fluentd.fluent.io/v1alpha1
|
||||
kind: Fluentd
|
||||
metadata:
|
||||
name: fluentd
|
||||
namespace: freeleaps-logging-system
|
||||
spec:
|
||||
globalInputs:
|
||||
- forward:
|
||||
bind: "0.0.0.0"
|
||||
port: 24224
|
||||
fluentdCfgSelector:
|
||||
matchLabels:
|
||||
fluentd-default-config: "true"
|
||||
replicas: 2
|
||||
workers: 1
|
||||
image: kubesphere/fluentd:v1.17
|
||||
resources:
|
||||
requests:
|
||||
cpu: 500m
|
||||
memory: 1Gi
|
||||
limits:
|
||||
cpu: 1
|
||||
memory: 2Gi
|
||||
affinity:
|
||||
podAntiAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
- labelSelector:
|
||||
matchExpressions:
|
||||
- key: app.kubernetes.io/name
|
||||
operator: In
|
||||
values:
|
||||
- fluentd
|
||||
topologyKey: "kubernetes.io/hostname"
|
||||
envVars:
|
||||
# Node information
|
||||
- name: K8S_NODE_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: spec.nodeName
|
||||
- name: K8S_NODE_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
# Pod information
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
- name: POD_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: POD_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.podIP
|
||||
buffer:
|
||||
disableBufferVolume: true
|
||||
---
|
||||
apiVersion: fluentd.fluent.io/v1alpha1
|
||||
kind: ClusterInput
|
||||
metadata:
|
||||
name: fluentd-receiver
|
||||
labels:
|
||||
fluentd-default-input: "true"
|
||||
spec:
|
||||
inputs:
|
||||
- forward:
|
||||
bind: 0.0.0.0
|
||||
port: 24224
|
||||
---
|
||||
apiVersion: fluentd.fluent.io/v1alpha1
|
||||
kind: ClusterFilter
|
||||
metadata:
|
||||
name: fluentd-metadata-appender
|
||||
labels:
|
||||
fluentd-default-filter: "true"
|
||||
spec:
|
||||
filters:
|
||||
- recordTransformer:
|
||||
enableRuby: true
|
||||
records:
|
||||
- key: fluentd_pod_name
|
||||
value: ${ENV["POD_NAME"] || "unknown"}
|
||||
- key: fluentd_pod_ip
|
||||
value: ${ENV["POD_IP"] || "unknown"}
|
||||
- key: fluentd_pod_namespace
|
||||
value: ${ENV["POD_NAMESPACE"] || "unknown"}
|
||||
- key: fluentd_node_name
|
||||
value: ${ENV["K8S_NODE_NAME"] || "unknown"}
|
||||
- key: fluentd_node_ip
|
||||
value: ${ENV["K8S_NODE_IP"] || "unknown"}
|
||||
---
|
||||
apiVersion: fluentd.fluent.io/v1alpha1
|
||||
kind: FluentdConfig
|
||||
metadata:
|
||||
name: freeleaps-logging-fluentd-pipeline
|
||||
namespace: freeleaps-logging-system
|
||||
labels:
|
||||
fluentd-default-config: "true"
|
||||
spec:
|
||||
clusterFilterSelector:
|
||||
matchLabels:
|
||||
fluentd-default-filter: "true"
|
||||
clusterOutputSelector:
|
||||
matchLabels:
|
||||
fluentd-default-output: "true"
|
||||
clusterInputSelector:
|
||||
matchLabels:
|
||||
fluentd-default-input: "true"
|
||||
---
|
||||
3811
cluster/manifests/freeleaps-logging-system/loki/values.yaml
Normal file
3811
cluster/manifests/freeleaps-logging-system/loki/values.yaml
Normal file
File diff suppressed because it is too large
Load Diff
@ -11,3 +11,4 @@ azure-disk-csi-driver,https://raw.githubusercontent.com/kubernetes-sigs/azuredis
|
||||
descheduler,https://kubernetes-sigs.github.io/descheduler/,force-update
|
||||
kubernetes-dashboard,https://kubernetes.github.io/dashboard/,force-update
|
||||
grafana,https://grafana.github.io/helm-charts,force-update
|
||||
fluent,https://fluent.github.io/helm-charts,force-update
|
||||
|
||||
@ -0,0 +1,72 @@
|
||||
{{- if .Values.fluentbit.enabled }}
|
||||
apiVersion: fluentbit.fluent.io/v1alpha2
|
||||
kind: FluentBit
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-log-collector
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
spec:
|
||||
image: {{ .Values.fluentbit.image | quote }}
|
||||
imagePullPolicy: {{ .Values.fluentbit.imagePullPolicy | quote }}
|
||||
fluentBitConfigName: {{ .Release.Name }}-log-collector-config
|
||||
resources:
|
||||
{{- if .Values.fluentbit.resources }}
|
||||
{{- toYaml .Values.fluentbit.resources | nindent 4 }}
|
||||
{{- else }}
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 128Mi
|
||||
limits:
|
||||
cpu: 200m
|
||||
memory: 512Mi
|
||||
{{- end }}
|
||||
---
|
||||
apiVersion: fluentbit.fluent.io/v1alpha2
|
||||
kind: Parser
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-log-parser
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ .Release.Name }}-log-collector
|
||||
spec:
|
||||
json:
|
||||
timeKey: {{ .Values.fluentbit.timeKey | quote }}
|
||||
timeFormat: {{ .Values.fluentbit.timeFormat | quote }}
|
||||
---
|
||||
apiVersion: fluentbit.fluent.io/v1alpha2
|
||||
kind: Output
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-log-output
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ .Release.Name }}-log-collector
|
||||
spec:
|
||||
match: "*"
|
||||
forward:
|
||||
host: fluentd.freeleaps-logging-system
|
||||
port: 24224
|
||||
---
|
||||
apiVersion: fluentbit.fluent.io/v1alpha2
|
||||
kind: FluentBitConfig
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-log-collector-config
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
spec:
|
||||
inputSelector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: {{ .Release.Name }}-log-collector
|
||||
outputSelector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: {{ .Release.Name }}-log-collector
|
||||
parserSelector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: {{ .Release.Name }}-log-collector
|
||||
---
|
||||
apiVersion: fluentbit.fluent.io/v1alpha2
|
||||
kind: ClusterInput
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-log-collector-input
|
||||
spec:
|
||||
tail:
|
||||
path: {{ .Values.fluentbit.logPath | quote }}
|
||||
parser: {{ .Release.Name }}-log-parser
|
||||
{{- end }}
|
||||
@ -4,6 +4,20 @@ global:
|
||||
nodeSelector: {}
|
||||
dashboard:
|
||||
enabled: false
|
||||
fluentbit:
|
||||
enabled: true
|
||||
resources:
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 128Mi
|
||||
limits:
|
||||
cpu: 200m
|
||||
memory: 512Mi
|
||||
image: kubesphere/fluent-bit:v4.0-debug
|
||||
imagePullPolicy: IfNotPresent
|
||||
timeKey: record.repr
|
||||
timeFormat: "%Y-%m-%dT%H:%M:%S.%LZ"
|
||||
logPath: /app/log/authentication/*.log
|
||||
authentication:
|
||||
replicas: 1
|
||||
image:
|
||||
|
||||
@ -7,6 +7,20 @@ dashboard:
|
||||
name: freeleaps-prod-authentication-dashboard
|
||||
title: Authentication Service Dashboard
|
||||
metricsPrefix: freeleaps_authentication
|
||||
fluentbit:
|
||||
enabled: false
|
||||
resources:
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 128Mi
|
||||
limits:
|
||||
cpu: 200m
|
||||
memory: 512Mi
|
||||
image: kubesphere/fluent-bit:v4.0-debug
|
||||
imagePullPolicy: IfNotPresent
|
||||
timeKey: record.repr
|
||||
timeFormat: "%Y-%m-%dT%H:%M:%S.%LZ"
|
||||
logPath: /app/log/authentication/*.log
|
||||
authentication:
|
||||
replicas: 1
|
||||
image:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user