# Fluent Forward

### Description

​The Fluent Forward source type can receive logs from Fluentd and Fluentbit agents or software capable of emitting logs using the [Fluent Forward Protocol](https://github.com/fluent/fluentd/wiki/Forward-Protocol-Specification-v1#fluentd-forward-protocol-specification-v1).\
​\
The Fluent Forward source type is useful for integrating Open Telemetry-based collectors into an existing environment where Fluentd or Fluentbit is the primary collection system for logs.

### Supported Platforms

| Platform           | Metrics | Logs | Traces |
| ------------------ | ------- | ---- | ------ |
| Linux              |         | ✓    |        |
| Windows            |         | ✓    |        |
| macOS              |         | ✓    |        |
| Kubernetes Gateway |         | ✓    |        |
| OpenShift Gateway  |         | ✓    |        |

### Configuration Table

<table><thead><tr><th width="135.25390625">Parameter</th><th width="106.2109375">Type</th><th width="107.55078125">Default</th><th>Description</th></tr></thead><tbody><tr><td>listen_address</td><td><code>string</code></td><td><code>0.0.0.0</code></td><td>The IP address to listen on and receive logs from Fluent Forward capable agents.</td></tr><tr><td>port</td><td><code>int</code></td><td><code>24224</code></td><td>TCP port to listen on and receive logs from Fluent Forward capable agents.</td></tr></tbody></table>

See the Open Telemetry [Fluent Forward Receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/fluentforwardreceiver) documentation for more information.

### Kubernetes <a href="#kubernetes" id="kubernetes"></a>

The Fluent Forward source type supports Kubernetes OpenShift and Gateway collectors. Applications within the cluster can forward metrics, logs, and traces to the collectors using a clusterIP services.

Create a new [ClusterIP](https://kubernetes.io/docs/concepts/services-networking/service/#type-clusterip) service and apply it to your cluster(s). Ensure the service's port aligns with the port configured on the source.

```
# bindplane-gateway-agent-svc-fluent.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/component: gateway
    app.kubernetes.io/name: bindplane-agent
  name: bindplane-gateway-agent-fluent
  namespace: bindplane-agent
spec:
  ports:
  - name: fluent
    port: 24224
    targetPort: 24224
    protocol: TCP
  selector:
    app.kubernetes.io/component: gateway
    app.kubernetes.io/name: bindplane-agent
  type: ClusterIP
```
