1台のサーバーで複数のアプリケーションを実行しています。 filebeatを使用して、それぞれのログをlogstashに送信したいと思います。ただし、構成管理のために、アプリごとに個別にファイルビートに構成を追加できるようにしたいと思います。
Logstashは、conf.d
ディレクトリから構成を読み取ります。そこにファイルを追加でき、logstashがファイルをロードするとそれらが結合されることは私の理解です。 filebeatに同様の機能はありますか?または、サーバーごとに1つのfilebeat.yml
ファイルを維持することに固執していますか?
elasticのリポジトリ のyum/rpmパッケージを使用して、CentOS7でfilebeatとlogstashの両方をサービスとして実行しています。 Filebeatはバージョン1.3.1で、logstashはバージョン2.4.0です。
はい、Filebeatにはconf.d
のような機能がありますが、デフォルトでは有効になっていません。 Filebeatは、宣言されたディレクトリ内で、プロスペクター構成を含む追加の*.yml
ファイルを探します。構成は、Filebeatのメジャーバージョンによって異なります。
Filebeat.ymlファイルの filebeat.config.prospectors
セクションでpath
オプションを指定します。
filebeat.config.prospectors:
enabled: true
path: /etc/filebeat/conf.d/*.yml
/etc/filebeat/conf.d/someapp.yml
このファイルには以前のバージョンのようにfilebeat.prospectors
が含まれていないことに注意してください。
- paths:
- /var/log/someapp/stdout.log
fields:
app: someapp
config_dir
オプションを使用して、メインfilebeat.yml内のディレクトリを宣言します。
filebeat:
config_dir: /etc/filebeat/conf.d
/etc/filebeat/conf.d/someapp.yml
filebeat:
prospectors:
- paths:
- /var/log/someapp/stdout.log
fields:
app: someapp