Filebeat インストール · 3 min read · Oct 27, 2025
UbuntuにFileBeatをインストールする方法

Elastic Stackは、Elasticsearch、Logstash、Kibana、Beatsの4つの主要コンポーネントの組み合わせです。Filebeatは、このファミリーの中で最も有名なメンバーの1つで、イベントログデータを収集、転送、集中管理し、ElasticsearchまたはLogstashにインデックス化します。Filebeatには、Apache、Nginx、System、MySQL、auditdなど、一般的なログ形式の視覚化を単一のコマンドで簡素化する多くのモジュールがあります。
このチュートリアルでは、Ubuntu 18.04でFilebeatをインストールし、イベントログやSSH認証イベントをLogstashに転送する方法を示します。
前提条件
- Elasticsearch、Kibana、Logstashがインストールされ、設定されたUbuntu 18.04を実行しているサーバー。
- サーバーに設定されたrootパスワード。
始めに
始める前に、システムを最新バージョンに更新します。次のコマンドを実行することで行えます:
apt-get update -y
apt-get upgrade -yシステムが更新されたら、変更を適用するために再起動します。
Filebeatのインストール
デフォルトでは、FilebeatはUbuntu 18.04のデフォルトリポジトリにはありません。したがって、Elastic Stack 7 APTリポジトリをシステムに追加する必要があります。
最初に、次のコマンドで必要なパッケージをインストールします:
apt-get install apt-transport-https -y次に、次のコマンドでElastic Stackキーをダウンロードして追加します:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -次に、次のコマンドでElastic Stack 7 Aptリポジトリを追加します:
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee /etc/apt/sources.list.d/elastic-7.x.list次に、リポジトリを更新し、次のコマンドでFilebeatをインストールします:
apt-get update -y
apt-get install filebeat -yインストールが完了したら、次のステップに進むことができます。
Filebeatの設定
デフォルトでは、FilebeatはイベントデータをElasticsearchに送信するように設定されています。ここでは、FilebeatをLogstashにイベントデータを送信するように設定します。次のコマンドでファイルを編集できます:/etc/filebeat/filebeat.yml
nano /etc/filebeat/filebeat.ymlElasticsearch出力をコメントアウトし、Logstash出力のコメントを解除します。以下のようになります:
#-------------------------- Elasticsearch output ------------------------------
# output.elasticsearch:
# Array of hosts to connect to.
# hosts: ["localhost:9200"]
#----------------------------- Logstash output --------------------------------
output.logstash:
# The Logstash hosts
hosts: ["localhost:5044"]
完了したら、次のステップに進むことができます。
Filebeatシステムモジュールの有効化
デフォルトでは、Filebeatには多くのモジュールが付属しています。次のコマンドで全モジュールをリストできます:
filebeat modules list次の出力が表示されるはずです:
Enabled:
Disabled:
apache
audited
aws
cef
cisco
coredns
elasticsearch
envoyproxy
googlecloud
haproxy
ibmmq
icinga
iis
iptables
kafka
kibana
logstash
mongodb
mssql
mysql
nats
netflow
nginx
osquery
panw
postgresql
rabbitmq
redis
santa
suricata
system
traefik
zeek
デフォルトでは、すべてのモジュールは無効になっています。したがって、システムモジュールを有効にして、システムログサービスによって作成されたログを収集および解析する必要があります。次のコマンドでシステムモジュールを有効にできます:
filebeat modules enable system次に、次のコマンドでシステムモジュールを確認できます:
filebeat modules listシステムモジュールが有効になっていることが確認できるはずです:
Enabled:
system
次に、システムモジュールを設定して、認証ログを読み取る必要があります。次のコマンドでファイルを編集できます:/etc/filebeat/modules.d/system.yml
nano /etc/filebeat/modules.d/system.yml次の行を変更します:
- module: system
# Syslog
syslog:
enabled: false
...
# Authorization logs
auth:
enabled: true
# Set custom paths for the log files. If left empty,
# Filebeat will choose the paths depending on your OS.
var.paths: ["/var/log/auth.log"]
完了したら、ファイルを保存して閉じます。
Elasticsearchにインデックステンプレートをロード
次に、Elasticsearchにテンプレートを手動でロードする必要があります。次のコマンドで行えます:
filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'次の出力が表示されるはずです:
Index setup finished.
次に、インデックステンプレートを生成し、次のコマンドでElastic Stackサーバーにテンプレートをインストールします:
filebeat export template > filebeat.template.json
curl -XPUT -H 'Content-Type: application/json' http://localhost:9200/_template/filebeat-7.0.1 [email protected]最後に、次のコマンドでFilebeatサービスを開始し、システム再起動後に自動的に開始されるように有効にします:
systemctl start filebeat
systemctl enable filebeat次のコマンドでFilebeatのステータスを確認できます:
systemctl status filebeat次の出力が表示されるはずです:
? filebeat.service - Filebeat sends log files to Logstash or directly to Elasticsearch.
Loaded: loaded (/lib/systemd/system/filebeat.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2019-11-26 06:45:18 UTC; 14s ago
Docs: https://www.elastic.co/products/beats/filebeat
Main PID: 13059 (filebeat)
Tasks: 28 (limit: 463975)
CGroup: /system.slice/filebeat.service
??13059 /usr/share/filebeat/bin/filebeat -e -c /etc/filebeat/filebeat.yml -path.home /usr/share/filebeat -path.config /etc/filebeat
Nov 26 06:45:18 ubuntu filebeat[13059]: 2019-11-26T06:45:18.528Z INFO log/harvester.go:251 Harvester started for file: /va
Nov 26 06:45:18 ubuntu filebeat[13059]: 2019-11-26T06:45:18.528Z INFO log/harvester.go:251 Harvester started for file: /va
Nov 26 06:45:18 ubuntu filebeat[13059]: 2019-11-26T06:45:18.529Z INFO log/harvester.go:251 Harvester started for file: /va
Nov 26 06:45:18 ubuntu filebeat[13059]: 2019-11-26T06:45:18.529Z INFO log/harvester.go:251 Harvester started for file: /va
Nov 26 06:45:18 ubuntu filebeat[13059]: 2019-11-26T06:45:18.530Z INFO log/harvester.go:251 Harvester started for file: /va
Nov 26 06:45:18 ubuntu filebeat[13059]: 2019-11-26T06:45:18.530Z INFO log/harvester.go:251 Harvester started for file: /va
Nov 26 06:45:21 ubuntu filebeat[13059]: 2019-11-26T06:45:21.485Z INFO add_cloud_metadata/add_cloud_metadata.go:87 add_clou
Nov 26 06:45:21 ubuntu filebeat[13059]: 2019-11-26T06:45:21.486Z INFO log/harvester.go:251 Harvester started for file: /va
Nov 26 06:45:22 ubuntu filebeat[13059]: 2019-11-26T06:45:22.485Z INFO pipeline/output.go:95 Connecting to backoff(async(tc
Nov 26 06:45:22 ubuntu filebeat[13059]: 2019-11-26T06:45:22.487Z INFO pipeline/output.go:105 Connection to backoff(async(t
Elasticsearchデータ受信のテスト
次に、次のコマンドでElasticsearchがデータを受信しているかどうかを確認します:
curl -X GET localhost:9200/_cat/indices?v次の出力が表示されるはずです:
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open .kibana_task_manager_1 fpHT_GhXT3i_w_0Ob1bmrA 1 0 2 0 46.1kb 46.1kb
yellow open ssh_auth-2019.11 mtyIxhUFTp65WqVoriFvGA 1 1 15154 0 5.7mb 5.7mb
yellow open filebeat-7.4.2-2019.11.26-000001 MXSpQH4MSZywzA5cEMk0ww 1 1 0 0 283b 283b
green open .apm-agent-configuration Ft_kn1XXR16twRhcZE4xdQ 1 0 0 0 283b 283b
green open .kibana_1 79FslznfTw6LfTLc60vAqA 1 0 8 0 31.9kb 31.9kb
次のコマンドでssh_auth-2019.05インデックスを確認することもできます:
curl -X GET localhost:9200/ssh_auth-*/_search?pretty次の出力が表示されるはずです:
{
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 10000,
"relation" : "gte"
},
"max_score" : 1.0,
"hits" : [
{
"_index" : "ssh_auth-2019.11",
"_type" : "_doc",
"_id" : "g7OXpm4Bi50dVWRYAyK4",
"_score" : 1.0,
"_source" : {
"log" : {
"offset" : 479086,
"file" : {
"path" : "/var/log/elasticsearch/gc.log"
}
},
"event" : {
"timezone" : "+00:00",
"dataset" : "elasticsearch.server",
"module" : "elasticsearch"
},
Kibanaにインデックスを追加
次に、Kibanaダッシュボードにログインし、インデックス パターンをクリックします。次のページが表示されるはずです:

次に、インデックスパターンの作成をクリックします。次のページが表示されるはずです:

ssh_auth-インデックスを追加し、*次のステップボタンをクリックします。次のページが表示されるはずです:

次に、@timestampを選択し、インデックスパターンの作成ボタンをクリックします。次のページが表示されるはずです:

次に、左ペインの発見タブをクリックします。次の画面でデータを確認できるはずです:

おめでとうございます! Filebeatを正常にインストールし、Logstashにイベントデータを送信するように設定しました。すべてのデータを受信した後、Kibanaダッシュボードを作成することができます。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。