Fluent Bit
Fluent Bit is an open-source log collector that uses input and output plug-ins to:
collect data from multiple sources
distribute or send data to various destinations
The on-premises DSP Platform is shipped with Fluent Bit. It is configured by default to use HTTP source and the NULL output plug-in that throws away events. This mean you can get up and running easily and forward audit records to your chosen SIEM solution. To do that, you need to update a configmap, created by the installer, with any supported Fluent Bit output plug-in.
Note
You can install any other audit service by disabling the installation of Fluent Bit and providing the installer with any audit service URL.
File System Buffering and Retries
Fluent Bit supports file system buffering to handle slow network or unresponsive target services. With file system buffering, Fluent Bit stores the data in memory but also maps a copy on the disk. Since audit data is sensitive, Fluent Bit uses in-memory buffering by default. You can enable file system buffering, but consider the risk of storing sensitive information on disk.
Fluent Bit has a retry mechanism and provides a simple configuration option called Retry_Limit
. You can set it on each output to impose a limit to try n
times and then discard the data after reaching the limit. When you set Retry_Limit
to no_limits
, there is no limit to the number of retries.
Fluent Bit-Splunk Integration
The following is an example of using Fluent Bit to forward audit records to Splunk.
Set up a Splunk Cloud instance:
Go to Splunk.
Create a cloud trial account.
Log in to the Splunk Cloud Platform using the URL in the Splunk welcome email.
Click Settings → Data input → Select HTTP Event Collector.
Click New Token.
Enter a name, such as dsp-token.
Click Next.
Select the main index.
Click Review.
Click Submit.
Copy the token value.
Update the Fluent Bit config map for the control plane instance:
kubectl edit configmap fluent-bit -n NAMESPACE
Add a new output section with the following properties (replace
host
andsplunk_token
):[OUTPUT] name splunk match incoming.excludingDataPlaneEvents host prd-p-wma5y.splunkcloud.com splunk_token aad8350d-24a9-4b8d-a6eb-5d6a729927cf port 8088 tls on tls.verify off
Update the Fluent Bit config map for each data plane instance:
kubectl edit configmap fluent-bit -n NAMESPACE
Add a new output section with the following properties (replace
host
andsplunk_token
):[OUTPUT] name splunk host prd-p-wma5y.splunkcloud.com splunk_token aad8350d-24a9-4b8d-a6eb-5d6a729927cf port 8088 tls on tls.verify off match *