2
仮想マシンにELKスタックをインストールしました。いくつかのRuby on Railsアプリケーションからログを収集したいと思います。私はこの設定でFilebeatをインストールしたRailsアプリケーションを持って、各VM上ELKスタック+ Railsログを収集するためのFilebeat
:VM上で
filebeat:
prospectors:
-
paths:
- path_to_rails_log_file.log
input_type: log
fields_under_root: true
fields:
tags: ['json']
output:
logstash:
hosts: ["192.168.1.232:5044"]
bulk_max_size: 1024
tls:
certificate_authorities: ["path_to_certificate.crt"]
shipper:
logging:
files:
rotateeverybytes: 10485760 # = 10MB
ELKスタックと私はこの02-beats-input.conf
持っている:
input {
beats {
port => 5044
ssl => true
ssl_certificate => "/etc/pki/tls/certs/filebeat-forwarder.crt"
ssl_key => "/etc/pki/tls/private/filebeat-forwarder.key"
}
}
filter {
if [tag][json] {
json {
source => "message"
}
}
}
output {
elasticsearch {
hosts => "localhost:9200"
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
}
を私は理解していませんなぜ木場のウェブインターフェイスで私のログは次のようになります:
message: {"method":"GET","path":"/","format":"html","controller":"application","action":"index","status":200, "duration":7.91,"view":0.31,"db":0.0,"ip":"req_ip","route":"application#index","request_id":"some_id","source":"127.0.1.1","tags":["request"],"@timestamp":"2017-02-10T06:52:01.984Z","@version":"1"} @version:1 @timestamp:February 10th 2017, 08:52:10.451 offset:25,747 type:log tags:json, beats_input_codec_plain_applied beat.hostname:deployer-VirtualBox
私はliです可能であれば、各エントリはこのキーなしでキー "メッセージ"の下にあるコンテンツになる。
私は間違っていますか? :(
P.S.私のRailsのログがJSON形式で、私はFilebeatからそのファイルを読んでいます。Logstashの設定で