Send Apache Logs to Minio

This article explains how to use Fluentd to aggregate and transport Apache logs to a Minio server.

Prerequisites

The following software/services are required to be set up correctly:

You can install Fluentd via major packaging systems.

Install plugin

If out_s3 (fluent-plugin-s3) is not installed yet, please install it manually.

See Plugin Management section how to install fluent-plugin-s3 on your environment.

If you use fluent-package, out_s3 (fluent-plugin-s3) is bundled by default.

Configuration

Input Settings

In this example, we use the access log file as an input source, so save the following <source> settings to /etc/fluent/fluentd.conf:

NOTE: If you are using the standalone version of Fluentd, use /etc/fluent/fluent.conf instead.

Before proceeding, please confirm that the access log file has proper file permission. If the log file is not readable by the fluent-package/fluentd, the rest of this article will not work.

Output Settings

Now let's add settings for storing the incoming data in your Minio server. Since Minio is compatible with Amazon Simple Storage Service (S3), we can use the out_s3 plugin to connect to the server.

After adding the settings to the conf file, please restart the Fluentd daemon.

Test the Settings

Use curl to generate some log data for testing:

Or you can use the Apache Bench for the bulk request generation:

Wait until the data gets flushed from the buffer (you can adjust the flush interval using the timekey and timekey_wait options above). Then you will see the aggregated log data on Minio:

Minio

Learn More

If this article is incorrect or outdated, or omits critical information, please let us know. Fluentd is an open-source project under Cloud Native Computing Foundation (CNCF). All components are available under the Apache 2 License.

Last updated

Was this helpful?