Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions packs/fluentbit-4.0.7/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Fluent Bit

Fluent Bit is a lightweight and high-performance log processor and forwarder. It allows you to collect data or logs from different sources, unify them, and send them to multiple destinations including Elasticsearch, OpenSearch, Kafka, Datadog, and more.

### How it works

Fluent Bit runs as a DaemonSet in the Kubernetes cluster and collects logs from each node. The logs are parsed, filtered, and enriched with Kubernetes metadata before being shipped to the specified backend. This configuration is fully customizable via Fluent Bit configuration blocks defined in the Helm `values.yaml`.

The default configuration in this package collects logs from containers in `/var/log/containers/*.log` and system logs via `systemd`, filters them using Kubernetes metadata, and forwards them to an Elasticsearch endpoint.

## Prerequisites

Kubernetes 1.27 and higher are supported.

The following cloud types are supported:
* all clouds



## Parameters

| **Parameter** | **Description** | **Type** | **Default Value** | **Required** |
|---|---|---|---|---|
| charts.fluent-bit.kind | Kubernetes controller to use (DaemonSet or Deployment) | string | DaemonSet | Yes |
| charts.fluent-bit.image.repository | Image repository for Fluent Bit | string | cr.fluentbit.io/fluent/fluent-bit | Yes |
| charts.fluent-bit.image.pullPolicy | Image pull policy | string | IfNotPresent | No |
| charts.fluent-bit.flush | Interval (in seconds) to flush the logs | integer | 1 | No |
| charts.fluent-bit.logLevel | Logging level for Fluent Bit | string | info | No |
| charts.fluent-bit.metricsPort | Port for exposing metrics | integer | 2020 | No |
| charts.fluent-bit.config.service | Main Fluent Bit service configuration | string | See values.yaml | Yes |
| charts.fluent-bit.config.inputs | Log input configuration | string | See values.yaml | Yes |
| charts.fluent-bit.config.filters | Filters applied to logs (e.g. Kubernetes metadata) | string | See values.yaml | Yes |
| charts.fluent-bit.config.outputs | Log output configuration | string | See values.yaml | Yes |
| charts.fluent-bit.config.customParsers | Custom parsers for log messages | string | See values.yaml | No |
| charts.fluent-bit.daemonSetVolumes | Volumes to mount for log access | list | /var/log, /var/lib/docker/containers, /etc/machine-id | Yes |
| charts.fluent-bit.daemonSetVolumeMounts | Mount points in Fluent Bit containers | list | See values.yaml | Yes |
| charts.fluent-bit.service.port | Port exposed by the Fluent Bit service | integer | 2020 | No |
| charts.fluent-bit.rbac.create | Whether to create RBAC resources | bool | true | No |
| charts.fluent-bit.podSecurityPolicy.create | Whether to create PodSecurityPolicy | bool | false | No |
| charts.fluent-bit.hotReload.enabled | Enable configmap hot reload with sidecar | bool | false | No |
| charts.fluent-bit.autoscaling.enabled | Enable horizontal pod autoscaler (only for Deployment) | bool | false | No |

## References

- [Fluent Bit Official Docs](https://docs.fluentbit.io/manual)
- [Fluent Bit Helm Chart](https://github.com/fluent/helm-charts/tree/main/charts/fluent-bit)
- [Spectro Cloud Docs - Fluent Bit](https://docs.spectrocloud.com/integrations/fluentbit)

---

This package is maintained by **Spectro Cloud** and is provided as a community-supported integration.

**Version:** 4.0.7

**Source:** community

**Contributor:** Spectro Cloud

Binary file not shown.
Binary file not shown.
23 changes: 23 additions & 0 deletions packs/fluentbit-4.0.7/charts/fluent-bit/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
27 changes: 27 additions & 0 deletions packs/fluentbit-4.0.7/charts/fluent-bit/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
annotations:
artifacthub.io/changes: |
- kind: changed
description: "Make securityContext of hot reload container configurable in fluent-bit chart"
apiVersion: v1
appVersion: 4.0.7
description: Fast and lightweight log processor and forwarder or Linux, OSX and BSD
family operating systems.
home: https://fluentbit.io/
icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/fluentd/fluentbit/icon/fluentbit-icon-color.svg
keywords:
- logging
- fluent-bit
- fluentd
maintainers:
- email: [email protected]
name: edsiper
- email: [email protected]
name: naseemkullah
- email: [email protected]
name: Towmeykaw
- email: [email protected]
name: stevehipwell
name: fluent-bit
sources:
- https://github.com/fluent/fluent-bit/
version: 0.53.0
57 changes: 57 additions & 0 deletions packs/fluentbit-4.0.7/charts/fluent-bit/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Fluent Bit Helm chart

[Fluent Bit](https://fluentbit.io) is a fast and lightweight log processor and forwarder or Linux, OSX and BSD family operating systems.

## Installation

To add the `fluent` helm repo, run:

```sh
helm repo add fluent https://fluent.github.io/helm-charts
```

To install a release named `fluent-bit`, run:

```sh
helm install fluent-bit fluent/fluent-bit
```

## Chart values

```sh
helm show values fluent/fluent-bit
```

## Using Lua scripts
Fluent Bit allows us to build filter to modify the incoming records using custom [Lua scripts.](https://docs.fluentbit.io/manual/pipeline/filters/lua)

### How to use Lua scripts with this Chart

First, you should add your Lua scripts to `luaScripts` in values.yaml, templating is supported.

```yaml
luaScripts:
filter_example.lua: |
function filter_name(tag, timestamp, record)
-- put your lua code here.
end
```

After that, the Lua scripts will be ready to be used as filters. So next step is to add your Fluent bit [filter](https://docs.fluentbit.io/manual/concepts/data-pipeline/filter) to `config.filters` in values.yaml, for example:

```yaml
config:
filters: |
[FILTER]
Name lua
Match <your-tag>
script /fluent-bit/scripts/filter_example.lua
call filter_name
```
Under the hood, the chart will:
- Create a configmap using `luaScripts`.
- Add a volumeMounts for each Lua scripts using the path `/fluent-bit/scripts/<script>`.
- Add the Lua script's configmap as volume to the pod.

### Note
Remember to set the `script` attribute in the filter using `/fluent-bit/scripts/`, otherwise the file will not be found by fluent bit.
43 changes: 43 additions & 0 deletions packs/fluentbit-4.0.7/charts/fluent-bit/ci/ci-values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
testFramework:
enabled: true

logLevel: debug

extraVolumeMounts:
- name: extra-volume
mountPath: /extra-volume-path
- name: another-extra-volume
mountPath: /another-extra-volume-path

extraVolumes:
- name: extra-volume
emptyDir: {}
- name: another-extra-volume
emptyDir: {}

dashboards:
enabled: true
deterministicUid: true

luaScripts:
filter_example.lua: |
function filter_name(tag, timestamp, record)
-- put your lua code here.
end
filter_with_templating_example.lua: |
local log_level = {{ .Values.logLevel | quote }}
function filter_with_templating_name(tag, timestamp, record)
-- put your lua code here.
end

config:
outputs: |
[OUTPUT]
name stdout
match *

hotReload:
enabled: true
extraWatchVolumes:
- extra-volume
- another-extra-volume
Loading
Loading