2

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 } 
} 

もっとアイデアを歓迎します。

答えて

1

実際にはhostビート入力プラグインのパラメータはThe IP address to listen on.です。これはファイルバスのIPではなく、実際にはまったく必要ありません。

したがって、ポートを指定するだけで十分である必要があります。私が表示する設定がうまくいくと思います。 Logstashは10台すべてのマシンのログを受信し、処理します。

https://www.elastic.co/guide/en/logstash/current/plugins-inputs-beats.html#plugins-inputs-beats-host

関連する問題