Ich versuche, Rails-Protokolle zu einem Kollektor über fluentd senden. Ich benutze die act-fluent-logger-rails, lograge und fluent-plugin-parser gems. Wenn ich auf meiner Site navigiere, werden GET- und POST-Anfragen korrekt abgeglichen, analysiert, markiert und zum Collector geschickt, aber ich kann nichts, was ich während einer Anfrage über Rails.logger protokolliere, durch fluentd weiterleiten, weil die Anweisungen nicht funktionieren Ich habe kein Etikett.Rails.logger Anweisungen haben keine fließenden Tags
Zum Beispiel in der Schienen-Konsole der App:
irb(main):003:0> logger.info("Test")
Ergebnisse in der folgenden in meinem td-agent.log:
2016-05-23 20:01:45 +0000 [warn]: pattern not match with data 'Test' 2016-05-23 20:01:45 +0000 fluent.warn: {"message":"pattern not match with data 'Test'"}
Die entsprechende Konfiguration:
/etc/td-agent/td-agent.conf
<match tv.app>
@type forward
# primary host
<server>
host 10.0.0.0
port 24224
</server>
flush_interval 60s
</match>
<match rails.app>
@type parser
key_name messages
format json
tag tv.app
</match>
config/application.rb
config.logger = ActFluentLoggerRails::Logger.
new(settings: {
host: '127.0.0.1',
port: 24224,
tag: 'rails.app',
messages_type: 'string'
})
config.lograge.enabled = true
config.lograge.formatter = Lograge::Formatters::Json.new
Wer irgendwelche Ideen, was ich falsch mache?