LoginSignup
4
5

More than 3 years have passed since last update.

FileBeatでSyslogをElasticSearchに転送する

Last updated at Posted at 2019-10-16

概要

Filebeatを監視対象サーバーにインストールし、SyslogをElasticSearchに転送する。
(FileBeatからLogstashを経由してElasticSearchにログを転送する方法もあるが、今回は直接ElasticSearchに転送する)

FileBeatのSystemModule(Syslog用のモジュール)を使用する。

System moduleの詳細
https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-system.html
System moduleの出力フィールド
https://www.elastic.co/guide/en/beats/filebeat/current/exported-fields-system.html

Moduleとは

ログフォーマットの、収集・パース(構文解析)・可視化のテンプレート。

変数を指定することも可能。(ログのパスを変更する等)
https://www.elastic.co/guide/en/beats/filebeat/current/specify-variable-settings.html

Ingest Node

Moduleで定義されたデータ変換/加工はElasticSeearch側のIngest Nodeで処理される。
(LogstashのFilterでやっていたことの一部がElasticSearchでも実行できる)
https://dev.classmethod.jp/server-side/elasticsearch/elasticsearch-ingest-node/
https://speakerdeck.com/elastic/ingest-node-voxxed-luxembourg?slide=14

ElasticSearchでpipelineを確認するには以下をAPIで実行。

GET _ingest/pipeline/*

環境

  • 監視対象サーバー
    • CentOS 7.4
    • Filebeat 7.4.0
  • ElasticSearch
    • Alibaba Cloud Elasticsearch

なお、Amazon Elasticsearch Serviceを使用する場合はこの方法は使えない。(filebeat-ossの使用が必要)

Step1. FlieBeatインストール

yumを利用する方法とrpmをダウンロードしてインストールする方法がある。今回はyumでインストールした。

Repositories for APT and YUM

Step2. filebeat.yml 修正

Filebeatの構成ファイルであるfilebeat.ymlを修正する。

$ vi /etc/filebeat/filebeat.yml

# System moduleを有効化
filebeat.modules:
- module: system

# Output先をElasticSearchに設定
output.elasticsearch:
  hosts: ["XXX:9200"]
  username: "XXX"
  password: "XXX"

# FilebeatのConfig設定
filebeat.config.modules:
  enabled: true
  path: ${path.config}/modules.d/*.yml

# ElasticSearchのIndex名を変更
output.elasticsearch.index: "syslogtest-%{[agent.version]}-%{+yyyy.MM.dd}"
setup.template.name: "syslogtest"
setup.template.pattern: "syslogtest-*"

文法テスト

$ filebeat test config
Config OK

Step3. 初期設定コマンド

このコマンドによりModuleが使用可能になる。

$ filebeat setup -e

Step4. Filebeat起動

# サービスとして起動
service filebeat start

# プロセスとして起動
filebeat -e

Step5. Kibanaで確認

Kibana Indexesの設定を行う。(手順は省略)

ログが届いていることが確認できる。

image.png

参考: Moduleの適用時・非適用時のログの比較

Module非適用時

image.png

Module適用時

"message"フィールドがパースされていることがわかる。

image.png

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5