10台のマシンからログを取得するためのログ集約にElastic Stackを使用したいと考えています。私は10台のマシンにFilebeatをインストールしたいと思っています&各マシンのログを取得し、それを別のマシンにインストールされた集中型Logstashサーバーに送ります。別のマシンでは、Logstash Elasticsearch & Kibanaがインストールされています。 &ビートを使ってログを収集した後にデータを解析するためにLogstashが必要です。複数のビートから集中管理されたLogstashへの入力を管理する方法
このアーキテクチャでは、ログの特定と解析のいくつかの問題に直面しています。 logstashを複数の拍子サーバーから一度にログを収集するように指定するにはどうすればいいですか? logstash-beatsプラグインに複数のホストを指定して、logstashが一度に10台のマシンからのすべてのログを解析できるようにすることはできますか?
Logstashで後で利用できるFilebeat Configurationの一部として、10台のマシンすべてで別々のdocument_typeを定義して、フィルタプラグインで複数のタイプ(ワイルドカード - tomcat *を使用)を定義する必要があります。単一マシンのセットアップのための
サンプルFilebeat構成: -
################### Filebeat Configuration Example #########################
############################# Filebeat ####################################
filebeat:
prospectors:
-
paths:
- /location/to/file/catalina.out
document_type: tomcat1
scan_frequency: 5s
input_type: log
output:
logstash:
hosts: ["<host-of-the-machine-on-which-logstash-is-installed>:5044"]
console:
pretty: true
shipper:
logging:
files:
rotateeverybytes: 10485760 # = 10MB
セットアップのこのタイプは、DOCUMENT_TYPEの値のみが変更される請求項10台の全てのマシン上で実行されます。単一マシン用
サンプルLogstash構成: -
input {
beats {
host => "ip/of/machine/1"
port => 5044
}
}
filter {
........................
........................
........................
}
output{
elasticsearch {
hosts => "localhost:9200"
index => "logs-%{+YYYY.MM.dd}"
}
stdout { codec => rubydebug }
}
もっとアイデアを歓迎します。