The recommended way to install Fluentd on Windows is to use MSI installers of td-agent
.
td-agent
is a packaged distribution of Fluentd.
- Includes Ruby and other library dependencies (since most Windows machines don't have them installed).
- Includes a set of commonly-used 3rd-party plugins such as
out_es
. - Originally developed by Treasure Data, Inc (hence the name).
Currently two versions of td-agent
are available.
td-agent
v4 packages Fluentd 1.11.x (or later). This version is recommended.td-agent
v3 packages Fluentd 1.10.x (or below).
{% hint style='danger' %} This article contains deprecated td-agent (EOL) information: SHOULD NOT use td-agent anymore.
- As Treasure Agent (td-agent) 3 will not be maintained anymore, recommend to Upgrade td-agent from v3 to v4.
- Do not directly upgrade from v3 to fluent-package v5. Such a workflow is not supported. It causes a trouble. Upgrade in stages. (v3 to v4, then v4 to v5) {% endhint %}
Please download and install the .msi
file from here:
First, please prepare your config file located at C:/opt/td-agent/etc/td-agent/td-agent.conf
. The config below is the simplest example to output any incoming records to td-agent
's log file:
<source>
@type forward
</source>
<match test.**>
@type stdout
</match>
After you have installed the .msi package, you will see the program called Td-agent Command Prompt
installed. Please double click this icon in the Windows menu (below is how it looks like on Windows Server 2012).
In the prompt, please execute the command below to launch td-agent
process:
> fluentd -c etc\td-agent\td-agent.conf
Then, please launch another Td-agent Command Prompt
and type the command below to send a record to td-agent
process:
> echo {"message":"hello"} | fluent-cat test.event
It's working properly if td-agent process outputs:
test.event: {"k", "v"}
Next, register td-agent
as a Windows Service to permanently run as a server process. Open Td-agent Command Prompt
with administrative privileges, and type these commands:
> fluentd --reg-winsvc i
> fluentd --reg-winsvc-fluentdopt '-c C:/opt/td-agent/etc/td-agent/td-agent.conf -o C:/opt/td-agent/td-agent.log'
NOTE: Making td-agent
service start automatically requires additional command-line parameters:
> fluentd --reg-winsvc i --reg-winsvc-auto-start --reg-winsvc-delay-start
> fluentd --reg-winsvc-fluentdopt '-c C:/opt/td-agent/etc/td-agent/td-agent.conf -o C:/opt/td-agent/td-agent.log'
Go to Control Panel > System and Security > Administrative Tools > Services
, and you should see Fluentd Windows Service
listed there.
Double click on Fluentd Window Service
and click Start
to execute it as a Windows Service.
> net start fluentdwinsvc
The Fluentd Windows Service service is starting..
The Fluentd Windows Service service was started successfully.
PS> Start-Service fluentdwinsvc
Note that fluentdwinsvc
is the Fluentd service name and it should be passed to net.exe
or Start-Service
Cmdlet to start.
The log file will be located at C:/opt/td-agent/td-agent.log
as specified in Step 3 earlier.
Open Td-agent Command Prompt
and use fluent-gem
command:
> fluent-gem install fluent-plugin-xyz --version=1.2.3
You need admin privilege to execute td-agent-gem
command. For upgrade users since 3.8.0 or earlier/td-agent 4.0.1 or earlier, explicitly remove privileges for NT AUTHORITY\Authenticated Users
from c:\opt\td-agent
.
This change is for fixing CVE-2020-28169.
When you uninstall td-agent v3, you should take care to see if it is registered to Windows Service, since td-agent v3 doesn't automatically unregister itself. If it is registered, you must unregister it manually before uninstalling it.
NOTE: If you uninstall td-agent v3 without unregistering it, the service remains after uninstalling and causes the v4 installation to fail. You need to reinstall td-agent v3 and unregister the service with the following steps.
You can check if it is registered with the following Powershell command:
PS> Get-Service fluentdwinsvc
You can unregister td-agent v3 with the following steps:
- Stop the service with the following Powershell command:
PS> Stop-Service fluentdwinsvc
- Open
Td-agent Command Prompt
with administrative privileges and type the following command:
> fluentd --reg-winsvc u
You are now ready to collect real logs with Fluentd. Refer to the following tutorials on how to collect data from various sources:
- Basic Configuration
- Application Logs
- Examples
For further steps, follow these:
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.