流畅的聚合器没有从转发器获取日志,配置是否正确?

时间:2017-01-20 15:33:47

标签: elasticsearch kibana fluentd

我目前正在尝试设置一个流利的转发器和聚合器实例系统。 我的转发器配置是 - >

<source>
   @type tail
  format json
  path /app/node-apps/something-fe/logs/itt-logs.log
  tag td.pm2.access
</source>

## File output
## match tag=local.** and write to file
<match td.pm2.*>
  @type file
  path /opt/td-agent/forward/log/fluentd.log
</match>

## Forwarding
## match tag=system.** and forward to another td-agent server
<match td.pm2.*>
  @type forward
  host <hostname>.bc

这样做我可以看到t转发器在这里输出转发位置的日志文件:/opt/td-agent/forward/log/fluentd.log 到目前为止一切都好! 但是当我尝试通过上面的匹配转发语法在聚合器中导入它时,我在聚合器机器中没有得到任何东西。 请找到我正在使用的流利的聚合器配置 - &gt;

<source>
  @type forward
      port 24224
</source>

<match td.pm2.*>
  type copy
    <store>
    @type file
    path /opt/td-agent/log/forward.log
  </store>
  <store>
    type elasticsearch
    host <aggreatorhost>.bc
    port 9200
    logstash_format true
    flush_interval 10s
  </store>
</match>

我正在尝试使用商店在那里复制日志,并将它们转发给elasticsearch。 完全忘记弹性搜索,似乎即使日志也没有从转发器填充到聚合器。 难道我做错了什么?聚合器日志表示它正在侦听端口24224上的所有地址。

2 个答案:

答案 0 :(得分:0)

在您的转发器上,您有两个相同的匹配模式,并且只执行第一个匹配(配置从上到下运行)。日志正在写入文件系统(/opt/td-agent/forward/log/fluentd.log),但不会转发到聚合器。

您实际上在聚合器上使用了正确的复制语法,您应该将其复制到转发器中,并将带有@forward配置的elasticsearch替换为聚合器

<match td.pm2.*>
  type copy
    <store>
    @type file
    path /opt/td-agent/log/forward.log
  </store>
  <store>
    @type forward
    host <hostname>.bc
  </store>
</match>

进一步阅读:http://docs.fluentd.org/articles/out_copy

答案 1 :(得分:0)

I think there is a typo: there has to be an "@"-symbol before type copy. At least, from my experience I can say that my td-agent didn't allow me to restart without the "@"-symbol, so I think it is right, though not 100% sure.

@type copy

in the second line of the code above.