RPC

HTTP RPC enables you to manage your Fluentd instance through HTTP endpoints. You can use this feature as a replacement of Unix signals.

It is especially useful for environments where signals are not supported well e.g. Windows. This requires Fluentd to start not with --no-supervisor command-line option.

Configuration

By default, HTTP RPC is not enabled. To use this feature, set the rpc_endpoint option:

<system>
  rpc_endpoint 127.0.0.1:24444
</system>

Now, you can manage your Fluentd instance using an HTTP client:

$ curl http://127.0.0.1:24444/api/plugins.flushBuffers
{"ok":true}

As evident from the output above, each endpoint returns a JSON object as its response.

HTTP Endpoints

Endpoint
Replacement of
Description
Version

/api/processes.interruptWorkers

Stops the daemon.

v1.0

/api/processes.killWorkers

Stops the daemon.

v1.0

/api/processes.zeroDowntimeRestart

Restarts Fluentd with zero-downtime. (Not supported on Windows)

v1.18

/api/processes.flushBuffersAndKillWorkers

Flushes buffer and stops the daemon.

v1.0

/api/plugins.flushBuffers

Flushes the buffered messages.

v1.0

/api/config.reload

Reloads configuration.

v1.0

/api/config.gracefulReload

---

Reloads configuration.

v1.9

Appendix:

  • /api/config.gracefulReload: This is the replacement of SIGUSR2 before v1.18. Please use /api/processes.zeroDowntimeRestart or /api/config.reload unless there is a special reason. See SIGUSR2 for details.

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?