В этом посте я покажу вам, как настроить базовый стек ELK для управления журналами на Ubuntu 26.04. ELK Stack - популярное решение с открытым исходным кодом, используемое для управления журналами, мониторинга и анализа данных. Он состоит из трех основных компонентов: Elasticsearch, Logstash и Kibana. Logstash собирает и обрабатывает данные журнала из различных источников, таких как серверы, приложения и сетевые устройства, прежде чем отправлять их в Elasticsearch. Elasticsearch хранит и индексирует данные, обеспечивая быстрый и эффективный поиск в больших объемах журналов. Kibana предоставляет интерактивный веб-интерфейс, который позволяет пользователям визуализировать данные журнала с помощью приборных панелей, диаграмм и графиков, облегчая выявление тенденций, устранение неполадок и мониторинг производительности системы. Вместе ELK Stack помогает организациям централизовать журналы, улучшать оперативную видимость, обнаруживать угрозы безопасности и быстро решать проблемы, что делает его важным инструментом для современной ИТ-инфраструктуры и управления журналами.

Базовый стек ELK на Ubuntu 26.04 прост в настройке и займет около 15 минут. Давайте начнем!

Предпосылки

  • Сервер под управлением Ubuntu 26.04
  • Права пользователя: пользователь root или обычный пользователь с привилегиями sudo.
  • 4 ГБ ОЗУ минимум, 8 ГБ рекомендуется.
  • Не менее 40 ГБ диска. Оповещение быстро съедает хранилище.

Конвенции

1
2
# - данные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo.
$ - данные команды должны выполняться от имени обычного пользователя.

Обновите систему

Свежая установка Ubuntu 26.04 требует обновления пакетов до последних доступных версий.

1
sudo apt update -y && sudo apt upgrade -y

Система может нуждаться в перезагрузке после обновления.

1
sudo reboot -f

Шаг 1. Установите Java

Java необходим для стека ELK, поскольку Elasticsearch построен на Java, а среда выполнения Java (JRE) необходима для эффективного и надежного запуска. Чтобы установить Java, выполните следующую команду:

1
sudo apt install openjdk-25-jre-headless

Шаг 2. Установите Elasticsearch

Теперь, чтобы установить Elasticsearch, чтобы мы могли настроить управление журналами на Ubuntu 26.04, сначала нам нужно добавить ключ GPG:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# Import Elasticsearch GPG key
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | \
  sudo gpg --dearmor -o /usr/share/keyrings/elastic.gpg

# Add official repo
echo "deb [signed-by=/usr/share/keyrings/elastic.gpg] \
https://artifacts.elastic.co/packages/9.x/apt stable main" | \
  sudo tee -a /etc/apt/sources.list.d/elastic-9.x.list
  
# Install
sudo apt update
sudo apt install elasticsearch

Шаг 3. Установите Kibana

Чтобы установить Kibana, выполните команду ниже:

1
sudo apt install kibana

Шаг 4. Установите Logstash

Чтобы установить Logstash, выполните команду ниже:

1
sudo apt install logstash

На следующих этапах мы настраиваем Elasticsearch, Logstash и Kibana для совместной работы.

Шаг 5. Настройка Elasticsearch

Для настройки Elasticsearch. Откройте следующий файл:

1
sudo nano /etc/elasticsearch/elasticsearch.yml

И изменить следующие строки, чтобы выглядеть так:

1
2
3
4
5
6
cluster.name: elk-cluster
node.name: node-1
network.host: 127.0.0.1
http.port: 9200
discovery.type: single-node
xpack.security.enabled: false

Сохраните файл, закройте его и перезапустите сервис Elasticsearch:

1
sudo systemctl restart elasticsearch.service

Чтобы проверить, все ли в порядке, выполните следующую команду:

1
curl http://localhost:9200

Шаг 6. Настройка Kibana

Для настройки Kibana откройте следующий файл:

1
sudo nano /etc/kibana/kibana.yml

Измените следующие строки, чтобы выглядеть так:

1
2
3
4
server.port: 5601
server.host: "127.0.0.1"
elasticsearch.hosts:
  - "http://localhost:9200"

Сохраните файл, закройте его и перезапустите сервис Kibana:

1
sudo systemctl restart kibana.service

Шаг 7. Настройка Logstash

Для настройки Logstash необходимо создать следующий файл:

1
sudo nano /etc/logstash/conf.d/beats.conf

Вставьте следующие строки кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
input {
  beats {
    port => 5044
  }
}

filter {

}

output {

  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "logs-%{+YYYY.MM.dd}"
  }

  stdout {
    codec => rubydebug
  }
}

Сохраните файл и закройте его. Чтобы проверить соединение, выполните команду ниже:

1
sudo /usr/share/logstash/bin/logstash --config.test_and_exit -f /etc/logstash/conf.d/beats.conf

Вы должны получить следующий результат:

1
2
Configuration OK
[INFO ] 2026-10-01 09:01:45.094 [LogStash::Runner] runner - Using config.test_and_exit mode. Config Validation Result: OK. Exiting Logstash

Это означает, что конфигурация в порядке.

Шаг 8. Установите и настройте Filebeat

Filebeat важен в настройке ELK, поскольку он эффективно собирает файлы журналов с серверов и приложений и безопасно пересылает их в Logstash или Elasticsearch для централизованной обработки, хранения и анализа. Filebeat является частью семейства Elastic Beats, а не оригинальной ELK Stack. Однако в современных развертываниях Filebeat обычно используется вместе с ELK, потому что он легкий, эффективный и лучше подходит для сбора и пересылки журналов, чем Logstash для непосредственного чтения лог-файлов.

Чтобы установить Filebeat, выполните следующую команду:

1
sudo apt install filebeat

Чтобы настроить Filebeat, откройте следующий файл:

1
sudo nano /etc/filebeat/filebeat.yml

И изменить следующие строки кода, чтобы выглядеть так:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
filebeat.inputs:

- type: filestream

  enabled: true

  paths:
    - /var/log/*.log
    - /var/log/messages
    - /var/log/secure

#output.elasticsearch:

output.logstash:
  hosts: ["localhost:5044"]

setup.kibana:
  host: "localhost:5601" 

Сохраните файл и закройте его.

Включить модуль системы:

1
sudo filebeat modules enable system

Вы должны получить следующий результат:

1
2
filebeat modules enable system
Enabled system

Перезагрузите сервис Filebeat:

1
sudo systemctl restart filebeat.service

Создайте хранилище ключей Filebeat для безопасного хранения учетных данных аутентификации.

1
sudo filebeat keystore create

Добавьте имя пользователя по умолчанию и пароль admin:admin в хранилище секретов.

1
2
sudo echo admin | filebeat keystore add username --stdin --force
sudo echo admin | filebeat keystore add password --stdin --force

Замените admin на актуальные учетные данные для доступа к индексатору.

Как работает рабочий процесс?

В стеке ELK Filebeat непрерывно отслеживает файлы журналов (такие как /var/log/messages и /var/log/secure) на сервере Ubuntu 26.04. При обнаружении новых записей журналов Filebeat пересылает их в Logstash через TCP-порт 5044. Logstash действует как обрабатывающий слой, где журналы могут фильтроваться, анализироваться, обогащаться или трансформироваться перед отправкой в Elasticsearch на порту 9200. Elasticsearch индексирует и хранит журналы, делая их доступными для поиска и эффективными для запроса. Наконец, Kibana подключается к Elasticsearch на порту 5601, предоставляя веб-интерфейс, где пользователи могут искать, фильтровать, визуализировать и анализировать данные журнала в режиме реального времени через панели инструментов и вид Discover.

Завершение

Вот и все. Вы успешно установили ELK Stack на Ubuntu 26.04.

Если вам понравился этот пост о создании базового стека ELK для управления журналами на Ubuntu 26.04, пожалуйста, поделитесь им со своими друзьями или оставьте комментарий ниже. Спасибо.