3

我正在寻找一种将 source_hostname 发送到 fluentd 目标服务器的方法。

我在logstash上,但我们有代理/服务器端,我们有变量来获取logstash服务器配置文件中的源主机名。

我使用 FluentD 搜索类似的方法,但我发现的唯一方法是在源标记“#{Socket.gethostname}”中设置主机名。但是这样我就不能在目标日志文件的路径中使用主机名。基于来源:http ://docs.fluentd.org/articles/config-file#embedded-ruby-code

在服务器端,这就是我想做的原因:

<source>
    type forward
    port 24224
    bind 192.168.245.100
</source>
<match apache.access.*>
    type file
    path /var/log/td-agent/apache2/#{hostname}/access
</match>
<match apache.error.*>
    type file
    path /var/log/td-agent/apache2/#{hostname}/error
</match>

有人可以帮我做这样的事情吗?

提前感谢您的宝贵时间。

4

2 回答 2

0

您可以在 " 带引号的字符串中使用 #{} 评估 Ruby 代码。

所以你可以把它改成,

path /var/log/td-agent/apache2/"#{hostname}"/access

请参阅文档 - http://docs.fluentd.org/articles/config-file#embedded-ruby-code

于 2015-04-24T06:47:50.857 回答
0

您可以尝试在此处使用记录改革者插件或此处使用森林插件

于 2015-07-30T03:12:07.250 回答