Created
October 26, 2022 15:33
-
-
Save gingerwizard/7783e1884cb457d7e25cf39f0fe14381 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Default values for fluent-bit. | |
# kind -- DaemonSet or Deployment | |
kind: DaemonSet | |
# replicaCount -- Only applicable if kind=Deployment | |
replicaCount: 1 | |
image: | |
repository: cr.fluentbit.io/fluent/fluent-bit | |
# Overrides the image tag whose default is {{ .Chart.AppVersion }} | |
tag: "" | |
pullPolicy: Always | |
testFramework: | |
image: | |
repository: busybox | |
pullPolicy: Always | |
tag: latest | |
imagePullSecrets: [] | |
nameOverride: "" | |
fullnameOverride: "" | |
serviceAccount: | |
create: true | |
annotations: {} | |
name: | |
rbac: | |
create: true | |
nodeAccess: false | |
podSecurityPolicy: | |
create: false | |
annotations: {} | |
openShift: | |
# Sets Openshift support | |
enabled: false | |
# Creates SCC for Fluent-bit when Openshift support is enabled | |
securityContextConstraints: | |
create: true | |
annotations: {} | |
podSecurityContext: {} | |
# fsGroup: 2000 | |
hostNetwork: false | |
dnsPolicy: ClusterFirst | |
dnsConfig: {} | |
# nameservers: | |
# - 1.2.3.4 | |
# searches: | |
# - ns1.svc.cluster-domain.example | |
# - my.dns.search.suffix | |
# options: | |
# - name: ndots | |
# value: "2" | |
# - name: edns0 | |
hostAliases: [] | |
# - ip: "1.2.3.4" | |
# hostnames: | |
# - "foo.local" | |
# - "bar.local" | |
securityContext: {} | |
# capabilities: | |
# drop: | |
# - ALL | |
# readOnlyRootFilesystem: true | |
# runAsNonRoot: true | |
# runAsUser: 1000 | |
service: | |
type: ClusterIP | |
port: 2020 | |
labels: {} | |
# nodePort: 30020 | |
# clusterIP: 172.16.10.1 | |
annotations: {} | |
# prometheus.io/path: "/api/v1/metrics/prometheus" | |
# prometheus.io/port: "2020" | |
# prometheus.io/scrape: "true" | |
serviceMonitor: | |
enabled: false | |
# namespace: monitoring | |
# interval: 10s | |
# scrapeTimeout: 10s | |
# jobLabel: fluentbit | |
# selector: | |
# prometheus: my-prometheus | |
# ## metric relabel configs to apply to samples before ingestion. | |
# ## | |
# metricRelabelings: | |
# - sourceLabels: [__meta_kubernetes_service_label_cluster] | |
# targetLabel: cluster | |
# regex: (.*) | |
# replacement: ${1} | |
# action: replace | |
# ## relabel configs to apply to samples after ingestion. | |
# ## | |
# relabelings: | |
# - sourceLabels: [__meta_kubernetes_pod_node_name] | |
# separator: ; | |
# regex: ^(.*)$ | |
# targetLabel: nodename | |
# replacement: $1 | |
# action: replace | |
# scheme: "" | |
# tlsConfig: {} | |
prometheusRule: | |
enabled: false | |
# namespace: "" | |
# additionalLabels: {} | |
# rules: | |
# - alert: NoOutputBytesProcessed | |
# expr: rate(fluentbit_output_proc_bytes_total[5m]) == 0 | |
# annotations: | |
# message: | | |
# Fluent Bit instance {{ $labels.instance }}'s output plugin {{ $labels.name }} has not processed any | |
# bytes for at least 15 minutes. | |
# summary: No Output Bytes Processed | |
# for: 15m | |
# labels: | |
# severity: critical | |
dashboards: | |
enabled: false | |
labelKey: grafana_dashboard | |
annotations: {} | |
namespace: "" | |
lifecycle: {} | |
# preStop: | |
# exec: | |
# command: ["/bin/sh", "-c", "sleep 20"] | |
livenessProbe: | |
httpGet: | |
path: / | |
port: http | |
readinessProbe: | |
httpGet: | |
path: /api/v1/health | |
port: http | |
resources: {} | |
# limits: | |
# cpu: 100m | |
# memory: 128Mi | |
# requests: | |
# cpu: 100m | |
# memory: 128Mi | |
## only available if kind is Deployment | |
ingress: | |
enabled: false | |
className: "" | |
annotations: {} | |
# kubernetes.io/ingress.class: nginx | |
# kubernetes.io/tls-acme: "true" | |
hosts: [] | |
# - host: fluent-bit.example.tld | |
extraHosts: [] | |
# - host: fluent-bit-extra.example.tld | |
## specify extraPort number | |
# port: 5170 | |
tls: [] | |
# - secretName: fluent-bit-example-tld | |
# hosts: | |
# - fluent-bit.example.tld | |
## only available if kind is Deployment | |
autoscaling: | |
enabled: false | |
minReplicas: 1 | |
maxReplicas: 3 | |
targetCPUUtilizationPercentage: 75 | |
# targetMemoryUtilizationPercentage: 75 | |
## see https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-multiple-metrics-and-custom-metrics | |
customRules: [] | |
# - type: Pods | |
# pods: | |
# metric: | |
# name: packets-per-second | |
# target: | |
# type: AverageValue | |
# averageValue: 1k | |
## see https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-configurable-scaling-behavior | |
behavior: {} | |
# scaleDown: | |
# policies: | |
# - type: Pods | |
# value: 4 | |
# periodSeconds: 60 | |
# - type: Percent | |
# value: 10 | |
# periodSeconds: 60 | |
## only available if kind is Deployment | |
podDisruptionBudget: | |
enabled: false | |
annotations: {} | |
maxUnavailable: "30%" | |
nodeSelector: {} | |
tolerations: [] | |
affinity: {} | |
labels: {} | |
annotations: {} | |
podAnnotations: {} | |
podLabels: {} | |
priorityClassName: "" | |
env: [] | |
# - name: FOO | |
# value: "bar" | |
# The envWithTpl array below has the same usage as "env", but is using the tpl function to support templatable string. | |
# This can be useful when you want to pass dynamic values to the Chart using the helm argument "--set <variable>=<value>" | |
# https://helm.sh/docs/howto/charts_tips_and_tricks/#using-the-tpl-function | |
envWithTpl: [] | |
# - name: FOO_2 | |
# value: "{{ .Values.foo2 }}" | |
# | |
# foo2: bar2 | |
envFrom: [] | |
extraContainers: [] | |
# - name: do-something | |
# image: busybox | |
# command: ['do', 'something'] | |
flush: 1 | |
metricsPort: 2020 | |
extraPorts: [] | |
# - port: 5170 | |
# containerPort: 5170 | |
# protocol: TCP | |
# name: tcp | |
# nodePort: 30517 | |
extraVolumes: [] | |
extraVolumeMounts: [] | |
updateStrategy: {} | |
# type: RollingUpdate | |
# rollingUpdate: | |
# maxUnavailable: 1 | |
# Make use of a pre-defined configmap instead of the one templated here | |
existingConfigMap: "" | |
networkPolicy: | |
enabled: false | |
# ingress: | |
# from: [] | |
luaScripts: | |
functions.lua: | | |
function set_fields(tag, timestamp, record) | |
record['host'] = record['log']['kubernetes']['host'] | |
record['log']['kubernetes']['host'] = nil | |
record['pod_name'] = record['log']['kubernetes']['pod_name'] | |
record['log']['kubernetes']['pod_name'] = nil | |
return 2, timestamp, record | |
end | |
## https://docs.fluentbit.io/manual/administration/configuring-fluent-bit/configuration-file | |
config: | |
service: | | |
[SERVICE] | |
Daemon Off | |
Flush {{ .Values.flush }} | |
Log_Level {{ .Values.logLevel }} | |
Parsers_File parsers.conf | |
Parsers_File custom_parsers.conf | |
HTTP_Server On | |
HTTP_Listen 0.0.0.0 | |
HTTP_Port {{ .Values.metricsPort }} | |
Health_Check On | |
## https://docs.fluentbit.io/manual/pipeline/inputs | |
inputs: | | |
[INPUT] | |
Name tail | |
Path /var/log/containers/*.log | |
multiline.parser docker, cri | |
Tag kube.* | |
Mem_Buf_Limit 5MB | |
Skip_Long_Lines On | |
[INPUT] | |
Name systemd | |
Tag host.* | |
Systemd_Filter _SYSTEMD_UNIT=kubelet.service | |
Read_From_Tail On | |
## https://docs.fluentbit.io/manual/pipeline/filters | |
filters: | | |
[FILTER] | |
Name kubernetes | |
Match kube.* | |
Merge_Log On | |
Keep_Log Off | |
K8S-Logging.Parser On | |
K8S-Logging.Exclude On | |
[FILTER] | |
Name nest | |
Match * | |
Operation nest | |
Wildcard * | |
Nest_under log | |
[FILTER] | |
Name lua | |
Match * | |
script /fluent-bit/scripts/functions.lua | |
call set_fields | |
## https://docs.fluentbit.io/manual/pipeline/outputs | |
outputs: | | |
[OUTPUT] | |
name http | |
tls on | |
match * | |
host <YOUR CLICKHOUSE CLOUD HOST> | |
port 8443 | |
URI /?query=INSERT+INTO+fluentbit.kube+FORMAT+JSONEachRow | |
format json_stream | |
json_date_key timestamp | |
json_date_format epoch | |
http_user default | |
http_passwd <YOUR PASSWORD> | |
## https://docs.fluentbit.io/manual/administration/configuring-fluent-bit/classic-mode/upstream-servers | |
upstream: {} | |
# upstream.conf: | | |
# [UPSTREAM] | |
# upstream1 | |
# | |
# [NODE] | |
# name node-1 | |
# host 127.0.0.1 | |
# port 43000 | |
## https://docs.fluentbit.io/manual/pipeline/parsers | |
customParsers: | | |
[PARSER] | |
Name docker_no_time | |
Format json | |
Time_Keep Off | |
Time_Key time | |
Time_Format %Y-%m-%dT%H:%M:%S.%L | |
# This allows adding more files with arbitary filenames to /fluent-bit/etc by providing key/value pairs. | |
# The key becomes the filename, the value becomes the file content. | |
extraFiles: {} | |
# example.conf: | | |
# [OUTPUT] | |
# Name example | |
# Match foo.* | |
# Host bar | |
# The config volume is mounted by default, either to the existingConfigMap value, or the default of "fluent-bit.fullname" | |
volumeMounts: | |
- name: config | |
mountPath: /fluent-bit/etc/fluent-bit.conf | |
subPath: fluent-bit.conf | |
- name: config | |
mountPath: /fluent-bit/etc/custom_parsers.conf | |
subPath: custom_parsers.conf | |
daemonSetVolumes: | |
- name: varlog | |
hostPath: | |
path: /var/log | |
- name: varlibdockercontainers | |
hostPath: | |
path: /var/lib/docker/containers | |
- name: etcmachineid | |
hostPath: | |
path: /etc/machine-id | |
type: File | |
daemonSetVolumeMounts: | |
- name: varlog | |
mountPath: /var/log | |
- name: varlibdockercontainers | |
mountPath: /var/lib/docker/containers | |
readOnly: true | |
- name: etcmachineid | |
mountPath: /etc/machine-id | |
readOnly: true | |
args: [] | |
command: [] | |
# This supports either a structured array or a templatable string | |
initContainers: [] | |
# Array mode | |
# initContainers: | |
# - name: do-something | |
# image: bitnami/kubectl:1.22 | |
# command: ['kubectl', 'version'] | |
# String mode | |
# initContainers: |- | |
# - name: do-something | |
# image: bitnami/kubectl:{{ .Capabilities.KubeVersion.Major }}.{{ .Capabilities.KubeVersion.Minor }} | |
# command: ['kubectl', 'version'] | |
logLevel: info |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment