Установка · 5 min read · Oct 27, 2025

Как установить FileBeat на Ubuntu

Elastic Stack — это комбинация из четырех основных компонентов: Elasticsearch, Logstash, Kibana и Beats. Filebeat — один из самых известных членов этой семьи, который собирает, пересылает и централизует данные журналов событий в Elasticsearch или Logstash для индексации. Filebeat имеет множество модулей, включая Apache, Nginx, System, MySQL, auditd и многие другие, которые упрощают визуализацию общих форматов журналов с помощью одной команды.

В этом руководстве мы покажем вам, как установить и настроить Filebeat для пересылки журналов событий и событий аутентификации SSH в Logstash на Ubuntu 18.04.

Предварительные требования

  • Сервер с установленной и настроенной Ubuntu 18.04, Elasticsearch, Kibana и Logstash.
  • Пароль 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.yml

Закомментируйте вывод elasticsearch и раскомментируйте вывод 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
auditd
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 после получения всех данных.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.