Установка стека Elastic в Ubuntu 18.04

Стек Elastic (ранее ELK) – это набор открытых программ, разработанных Elastic, которые позволяют выполнять поиск, анализ и визуализацию логов любого источника в любом формате. Такая практика называется централизованным логированием. Централизованное логирование очень полезно в поиске проблем и неполадок сервера или приложения, поскольку все данные логов собираются в одном месте. Также с помощью этого можно очень быстро обнаружить неполадку, которая влияет на работу сразу нескольких серверов в кластере, сопоставив их логи за определенный период времени.

Стек Elastic состоит из четырех основных компонентов:

  • Elasticsearch: распределенная поисковая система RESTful, которая хранит все собранные данные.
  • Logstash: компонент для обработки данных, который отправляет входящие данные на Elasticsearch.
  • Kibana: веб-интерфейс для поиска и визуализации логов.
  • Beats: легкие специализированные отправители данных; могут отправлять данные на Logstash или Elasticsearch с сотен или тысяч машин.

Данный манул поможет установить Elastic Stack на сервер Ubuntu 18.04. Вы узнаете, как установить все компоненты, включая Filebeat (Beat для пересылки и централизации логов и файлов), и настроить их для сбора и визуализации системных логов. Кроме того, Kibana обычно находится только на локальном хосте, потому мы настроим прокси Nginx, чтобы получить доступ к Kibana через веб-браузер. Мы установим все эти компоненты на одном сервере.

Примечание: При установке стека Elastic нужно использовать одну и ту же версию всех компонентов. В этом руководстве мы установим последние версии, на момент написания это Elasticsearch 6.4.3, Kibana 6.4.3, Logstash 6.4.3 и Filebeat 6.4.3.

Требования

  • Сервер Ubuntu 18.04, настроенный по этому мануалу.
  • Объем CPU, RAM и хранилища сервера Elastic зависит от объема логов, которые вы будете собирать. В данном руководстве используется сервер с такими характеристиками: RAM: 4GB, CPU: 2.
  • Java 8 – зависимость Elasticsearch и Logstash. Java 9 не поддерживается. Чтобы установить Java 8, читайте мануал Установка Java с помощью apt в Ubuntu 18.04.
  • Nginx, прокси-сервер для Kibana. Инструкции по установке можно найти здесь.

Кроме того, важно обеспечить безопасность сервера, поскольку Elastic Stack используется для доступа к ценной информации, которую не должны видеть неавторизованные пользователи. Для этого создайте сертификат TLS/SSL. Это необязательно, но настоятельно рекомендуется.

Настройка Nginx будет меняться, а потому вы можете выполнить Создание сертификата Let’s Encrypt для Nginx в Ubuntu 18.04 в конце второго раздела. Если вы собираетесь это сделать, вам понадобится:

  • FQDN. Здесь используется условный домен example.com.
  • Две записи А – для www.example.com и example.com – указывающие на внешний IP-адрес сервера.

1: Установка и настройка Elasticsearch

Компонентов стека Elastic нет в стандартных репозиториях Ubuntu. Но их можно установить с помощью APT, если добавить исходный список Elastic.

Все пакеты Elastic Stack подписаны с помощью ключа Elasticsearch, чтобы защитить систему от подделки пакетов. Пакеты, прошедшие проверку подлинности с использованием ключа, будут считаться вашим менеджером пакетов доверенными. На этом этапе мы импортируем открытый ключ GPG Elasticsearch и добавим исходный список пакета Elastic для установки Elasticsearch.

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

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Затем добавьте список Elastic в каталог sources.list.d, где менеджер apt будет искать новые пакеты.

echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

Обновите индекс пакетов:

sudo apt update

Теперь просто установите Elasticsearch.

sudo apt install elasticsearch

После завершения установки Elasticsearch используйте текстовый редактор, чтобы отредактировать основной конфигурационный файл Elasticsearch, elasticsearch.yml. Здесь мы будем использовать nano:

sudo nano /etc/elasticsearch/elasticsearch.yml

Примечание: Конфигурационный файл Elasticsearch представлен в формате YAML, а это означает, что отступы очень важны. Убедитесь, что при редактировании этого файла не появились лишние пробелы.

Elasticsearch прослушивает трафик через порт 9200. Нужно ограничить внешний доступ к экземпляру Elasticsearch, чтобы запретить посторонним читать ваши данные или не дать остановить работу кластера Elasticsearch через REST API. Найдите строку network.host, раскомментируйте ее и замените ее значение на localhost, чтобы она выглядела следующим образом:

. . .
network.host: localhost
. . .

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

Теперь запустите сервис Elasticsearch:

sudo systemctl start elasticsearch

Затем выполните следующую команду, чтобы Elasticsearch запускался при каждой загрузке вашего сервера:

sudo systemctl enable elasticsearch

Убедитесь, что сервис Elasticsearch работает, отправив HTTP-запрос:

curl -X GET "localhost:9200"

Вы увидите основную информацию о вашем локальном хосте:

{
"name" : "ZlJ0k2h",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "beJf9oPSTbecP7_i8pRVCw",
"version" : {
"number" : "6.4.2",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "04711c2",
"build_date" : "2018-09-26T13:34:09.098244Z",
"build_snapshot" : false,
"lucene_version" : "7.4.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}

Поисковая система Elasticsearch установлена.

2: Установка и настройка Kibana

Согласно официальной документации, устанавливать Kibana следует только после установки Elasticsearch. Такой порядок гарантирует, что все зависимые друг от друга программы установлены правильно.

Поскольку вы уже добавили исходный список Elastic, сейчас вы можете просто установить остальные компоненты Elastic Stack, используя apt:

sudo apt install kibana

Чтобы включить сервис Kibana, введите:

sudo systemctl enable kibana
sudo systemctl start kibana

Поскольку Kibana прослушивает только локальный хост, нужно настроить обратный прокси-сервер, чтобы разрешить внешний доступ к сервису. Для этой цели мы будем использовать Nginx, который уже должен быть установлен на вашем сервере (согласно требованиям).

Сначала используйте команду openssl, чтобы создать администратора Kibana, которого вы будете использовать для доступа к веб-интерфейсу. В качестве примера назовем эту учетную запись kibanaadmin, но для большей безопасности рекомендуется выбрать нестандартное имя, которое будет сложно угадать.

Следующая команда создаст администратора и пароль Kibana и сохранит их в файле htpasswd.users. Nginx будет запрашивать это имя и пароль в этом файле (скоро мы настроим это).

echo "kibanaadmin:`openssl passwd -apr1`" | sudo tee -a /etc/nginx/htpasswd.users

Введите и подтвердите пароль в командной строке. Запомните эти данные, так как они понадобятся вам для доступа к веб-интерфейсу Kibana.

Далее нужно создать файл блока server Nginx. Мы используем условный домен example.com, но вы можете выбрать более описательное имя. Например, если у сервера есть FQDN и DNS-записи, вы можете назвать этот файл своим доменным именем:

sudo nano /etc/nginx/sites-available/example.com

Добавьте следующий блок кода в файл, обязательно заменив example.com доменом или IP-адресом вашего сервера. Благодаря этому Nginx будет направлять HTTP-трафик сервера в приложение Kibana, которое прослушивает localhost:5601. Кроме того, Nginx теперь будет читать файл htpasswd.users и требовать базовой аутентификации.

Обратите внимание: если вы до конца выполнили мануал по Nginx (из требований), вероятно, вы уже создали такой файл и заполнили его некоторым кодом. В этом случае удалите все существующее содержимое в файле, а потом добавьте такой код.

server {
listen 80;
server_name example.com;
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/htpasswd.users;
location / {
proxy_pass http://localhost:5601;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}

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

Включите новую конфигурацию, добавив симлинк в каталог sites-enabled. Если вы создали файл блока server с таким же именем ранее, вам не нужно делать этого.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com

Проверьте ошибки в файле:

sudo nginx -t

Если в выводе команда сообщает об ошибках, вернитесь в файл и проверьте код, который вы поместили в файл конфигурации. Исправив ошибки, снова запустите команду (в выводе должно быть syntax is ok ) и перезапустите Nginx:

sudo systemctl restart nginx

Если вы следовали мануалу по начальной настройке сервера, у вас должен быть включен брандмауэр UFW. Чтобы разрешить подключения к Nginx, нужно настроить брандмауэр, набрав:

sudo ufw allow 'Nginx Full'

Примечание: Если вы следовали мануалу по установке Nginx, вероятно, ранее вы создали правило UFW, разрешающее профиль HTTP Nginx. Поскольку профиль Nginx Full поддерживает трафик HTTP и HTTPS, вы можете просто удалить это правило с помощью следующей команды:

sudo ufw delete allow 'Nginx HTTP'

Сервис Kibana теперь доступен по вашему домену или внешнему IP-адресу сервера Elastic Stack. Вы можете проверить страницу состояния сервера Kibana, перейдя по следующему адресу и введя свои учетные данные:

http://your_server_ip/status

На странице вы увидите информацию об использовании ресурсов и установленных плагинах.

Примечание: В требованиях упоминалось, что сервер нужно защитить с помощью сертификата SSL/TLS. Сейчас самое время сделать это. Инструкции можно найти здесь.

3: Установка и настройка Logstash

Beats может отправлять данные напрямую в базу данных Elasticsearch, но мы рекомендуем использовать для обработки данных Logstash. Это позволит вам собирать данные из разных источников, преобразовывать их в общий формат и экспортировать в другую базу данных.

Установите Logstash с помощью этой команды:

sudo apt install logstash

После установки Logstash вы можете перейти к его настройке. Файлы конфигурации Logstash используют формат JSON и находятся в каталоге /etc/logstash/conf.d. Во время настройки Logstash нужно воспринимать как конвейер, который принимает данные на одном конце, обрабатывает их тем или иным способом и отправляет их по назначению (в данном случае в Elasticsearch). У конвейера Logstash есть два обязательных элемента (input и output) и один необязательный элемент (filter). Входные плагины input потребляют данные из источника, плагины фильтра обрабатывают данные, а выходные плагины записывают данные в место назначения.

Создайте конфигурационный файл 02-beats-input.conf для настройки входных данных Filebeat.

sudo nano /etc/logstash/conf.d/02-beats-input.conf

Вставьте в файл такую конфигурацию. Она настраивает прослушивание входных данных beats по TCP-порту 5044.

input {
beats {
port => 5044
}
}

Сохраните и закройте файл. Затем создайте файл 10-syslog-filter.conf, куда мы добавим фильтр для системных логов (syslogs):

sudo nano /etc/logstash/conf.d/10-syslog-filter.conf

Вставьте следующую конфигурацию для фильтра syslog. Этот пример конфигурации взят из официальной документации Elastic. Такой фильтр используется для анализа входящих системных логов, что позволяет сделать их структурированными и пригодными для использования в дашбордах Kibana:

filter {
if [fileset][module] == "system" {
if [fileset][name] == "auth" {
grok {
match => { "message" => ["%{SYSLOGTIMESTAMP:[system][auth][timestamp]} %{SYSLOGHOST:[system][auth][hostname]} sshd(?:\[%{POSINT:[system][auth][pid]}\])?: %{DATA:[system][auth][ssh][event]} %{DATA:[system][auth][ssh][method]} for (invalid user )?%{DATA:[system][auth][user]} from %{IPORHOST:[system][auth][ssh][ip]} port %{NUMBER:[system][auth][ssh][port]} ssh2(: %{GREEDYDATA:[system][auth][ssh][signature]})?",
"%{SYSLOGTIMESTAMP:[system][auth][timestamp]} %{SYSLOGHOST:[system][auth][hostname]} sshd(?:\[%{POSINT:[system][auth][pid]}\])?: %{DATA:[system][auth][ssh][event]} user %{DATA:[system][auth][user]} from %{IPORHOST:[system][auth][ssh][ip]}",
"%{SYSLOGTIMESTAMP:[system][auth][timestamp]} %{SYSLOGHOST:[system][auth][hostname]} sshd(?:\[%{POSINT:[system][auth][pid]}\])?: Did not receive identification string from %{IPORHOST:[system][auth][ssh][dropped_ip]}",
"%{SYSLOGTIMESTAMP:[system][auth][timestamp]} %{SYSLOGHOST:[system][auth][hostname]} sudo(?:\[%{POSINT:[system][auth][pid]}\])?: \s*%{DATA:[system][auth][user]} :( %{DATA:[system][auth][sudo][error]} ;)? TTY=%{DATA:[system][auth][sudo][tty]} ; PWD=%{DATA:[system][auth][sudo][pwd]} ; USER=%{DATA:[system][auth][sudo][user]} ; COMMAND=%{GREEDYDATA:[system][auth][sudo][command]}",
"%{SYSLOGTIMESTAMP:[system][auth][timestamp]} %{SYSLOGHOST:[system][auth][hostname]} groupadd(?:\[%{POSINT:[system][auth][pid]}\])?: new group: name=%{DATA:system.auth.groupadd.name}, GID=%{NUMBER:system.auth.groupadd.gid}",
"%{SYSLOGTIMESTAMP:[system][auth][timestamp]} %{SYSLOGHOST:[system][auth][hostname]} useradd(?:\[%{POSINT:[system][auth][pid]}\])?: new user: name=%{DATA:[system][auth][user][add][name]}, UID=%{NUMBER:[system][auth][user][add][uid]}, GID=%{NUMBER:[system][auth][user][add][gid]}, home=%{DATA:[system][auth][user][add][home]}, shell=%{DATA:[system][auth][user][add]}$",
"%{SYSLOGTIMESTAMP:[system][auth][timestamp]} %{SYSLOGHOST:[system][auth][hostname]} %{DATA:[system][auth][program]}(?:\[%{POSINT:[system][auth][pid]}\])?: %{GREEDYMULTILINE:[system][auth][message]}"] }
pattern_definitions => {
"GREEDYMULTILINE"=> "(.|\n)*"
}
remove_field => "message"
}
date {
match => [ "[system][auth][timestamp]", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ] }
geoip {
source => "[system][auth][ssh][ip]"
target => "[system][auth][ssh][geoip]"
}
}
else if [fileset][name] == "syslog" {
grok {
match => { "message" => ["%{SYSLOGTIMESTAMP:[system][syslog][timestamp]} %{SYSLOGHOST:[system][syslog][hostname]} %{DATA:[system][syslog][program]}(?:\[%{POSINT:[system][syslog][pid]}\])?: %{GREEDYMULTILINE:[system][syslog][message]}"] }
pattern_definitions => { "GREEDYMULTILINE" => "(.|\n)*" }
remove_field => "message"
}
date {
match => [ "[system][syslog][timestamp]", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ] }
}
}
}

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

Теперь создайте конфигурационный файл 30-elasticsearch-output.conf:

sudo nano /etc/logstash/conf.d/30-elasticsearch-output.conf

Вставьте следующую конфигурацию вывода. По сути, эти параметры настраивают Logstash для хранения данных Beats в базе Elasticsearch (по адресу localhost:9200) в индексе с именем используемого Beat. Beat, использованный в этом руководстве, называется Filebeat.

output {
elasticsearch {
hosts => ["localhost:9200"] manage_template => false
index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
}
}

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

Если вы хотите добавить фильтры для других приложений, которые используют вход Filebeat, обязательно назовите файлы так, чтобы они были отсортированы между конфигурациями input и output (то есть имена файлов должны начинаться с двузначного числа от 02 до 30).

Проверьте свою конфигурацию Logstash:

sudo -u logstash /usr/share/logstash/bin/logstash --path.settings /etc/logstash -t

Если синтаксических ошибок нет, вывод сообщит «Configruation OK» через несколько секунд. Если вы не видите этого сообщения в выходных данных, проверьте наличие ошибок и обновите конфигурацию, чтобы исправить их.

Если проверка конфигурации прошла успешно, запустите и включите Logstash, чтобы изменения вступили в силу:

sudo systemctl start logstash
sudo systemctl enable logstash

4: Установка и настройка Filebeat

Elastic Stack использует несколько простых клиентов данных, называемых Beats, для сбора данных из различных источников и их передачи в Logstash или Elasticsearch. Вот Beats, которые в настоящее время доступны в Elastic:

  • Filebeat: собирает и передает логи.
  • Metricbeat: собирает метрики системы и сервисов.
  • Packetbeat: собирает и анализирует сетевые данные.
  • Winlogbeat: собирает логи событий Windows.
  • Auditbeat: собирает данные инфраструктуры аудита Linux и проверяет целостность файлов.
  • Heartbeat: мониторит доступность сервисов.

В этом мануале мы используем Filebeat для передачи логов в стек Elastic.

Установите Filebeat.

sudo apt install filebeat

Затем настройте Filebeat для подключения к Logstash. Отредактируйте образец файла конфигурации, который поставляется вместе с Filebeat. Откройте файл.

sudo nano /etc/filebeat/filebeat.yml

Примечание: Как и в случае Elasticsearch, файл конфигурации Filebeat имеет формат YAML. Это означает, что правильные отступы очень важны.

Filebeat поддерживает множество выходных данных, но обычно события отправляются непосредственно в Elasticsearch или на обработку в Logstash. В этом мануале мы будем использовать Logstash для дополнительной обработки данных, собранных Filebeat. Filebeat не нужно будет напрямую отправлять данные в Elasticsearch, поэтому давайте отключим этот вывод. Для этого найдите раздел output.elasticsearch и закомментируйте следующие строки, поставив перед ними знак #:

...
#output.elasticsearch:
# Array of hosts to connect to.
#hosts: ["localhost:9200"] ...

Затем настройте раздел output.logstash. Раскомментируйте строки output.logstash: и hosts: [“localhost:5044”], удалив символ #. Это настроит Filebeat для подключения к Logstash на сервере Elastic Stack через порт 5044 (который был указан в Logstash ранее):

output.logstash:
# The Logstash hosts
hosts: ["localhost:5044"]

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

Функциональность Filebeat можно расширить с помощью модулей Filebeat. В этом мануале мы будем использовать модуль system, который собирает и анализирует логи, созданные сервисом системных логов дистрибутивов Linux.

Включите его:

sudo filebeat modules enable system

Получить список включенных и отключенных модулей можно с помощью:

sudo filebeat modules list
Enabled:
system
Disabled:
apache2
auditd
elasticsearch
icinga
iis
kafka
kibana
logstash
mongodb
mysql
nginx
osquery
postgresql
redis
traefik

По умолчанию Filebeat использует пути системного лога и лога авторизации по умолчанию. В данном случае в конфигурации не нужно ничего менять. Вы можете увидеть параметры модуля в файле /etc/filebeat/modules.d/system.yml.

Затем загрузите шаблон индекса в Elasticsearch. Индекс Elasticsearch – это набор документов, имеющих сходные характеристики. Индексы определяются по имени. Имя используется для ссылки на индекс при выполнении различных операций в нем. Шаблон индекса будет автоматически использоваться при создании нового индекса.

Чтобы загрузить шаблон, используйте следующую команду:

sudo filebeat setup --template -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'
Loaded index template

Filebeat поставляется с образцами дашбордов Kibana, которые позволяют визуализировать данные Filebeat в Kibana. Прежде чем вы сможете использовать дашборды, вам нужно создать шаблон индекса и загрузить дашборд в Kibana.

Когда дашборд будет загружен, Filebeat подключится к Elasticsearch для проверки информации о версии. Если Logstash включен, необходимо отключить вывод Logstash и включить вывод Elasticsearch, чтобы загрузить дашборды.

sudo filebeat setup -e -E output.logstash.enabled=false -E output.elasticsearch.hosts=['localhost:9200'] -E setup.kibana.host=localhost:5601

Вы увидите:

2018-09-10T08:39:15.844Z        INFO    instance/beat.go:273    Setup Beat: filebeat; Version: 6.4.2
2018-09-10T08:39:15.845Z        INFO    elasticsearch/client.go:163     Elasticsearch url: http://localhost:9200
2018-09-10T08:39:15.845Z        INFO    pipeline/module.go:98   Beat name: elk
2018-09-10T08:39:15.845Z        INFO    elasticsearch/client.go:163     Elasticsearch url: http://localhost:9200
2018-09-10T08:39:15.849Z        INFO    elasticsearch/client.go:708     Connected to Elasticsearch version 6.4.2
2018-09-10T08:39:15.856Z        INFO    template/load.go:129    Template already exists and will not be overwritten.
Loaded index template
Loading dashboards (Kibana must be running and reachable)
2018-09-10T08:39:15.857Z        INFO    elasticsearch/client.go:163     Elasticsearch url: http://localhost:9200
2018-09-10T08:39:15.865Z        INFO    elasticsearch/client.go:708     Connected to Elasticsearch version 6.4.2
2018-09-10T08:39:15.865Z        INFO    kibana/client.go:113    Kibana url: http://localhost:5601
2018-09-10T08:39:45.357Z        INFO    instance/beat.go:659    Kibana dashboards successfully loaded.
Loaded dashboards
2018-09-10T08:39:45.358Z        INFO    elasticsearch/client.go:163     Elasticsearch url: http://localhost:9200
2018-09-10T08:39:45.361Z        INFO    elasticsearch/client.go:708     Connected to Elasticsearch version 6.4.2
2018-09-10T08:39:45.361Z        INFO    kibana/client.go:113    Kibana url: http://localhost:5601
2018-09-10T08:39:45.455Z        WARN    fileset/modules.go:388  X-Pack Machine Learning is not enabled
Loaded machine learning job configurations

Теперь можно запустить Filebeat:

sudo systemctl start filebeat
sudo systemctl enable filebeat

Если вы правильно настроили свой Elastic Stack, Filebeat начнет отправку системного лога и логов авторизации в Logstash, который затем загрузит эти данные в Elasticsearch.

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

curl -XGET 'http://localhost:9200/filebeat-*/_search?pretty'

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

...
{
"took" : 32,
"timed_out" : false,
"_shards" : {
"total" : 3,
"successful" : 3,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : 1641,
"max_score" : 1.0,
"hits" : [
{
"_index" : "filebeat-6.4.2-2018.10.10",
"_type" : "doc",
"_id" : "H_bZ62UBB4D0uxFRu_h3",
"_score" : 1.0,
"_source" : {
"@version" : "1",
"message" : "Oct 10 06:22:36 elk systemd[1]: Reached target Local File Systems (Pre).",
"@timestamp" : "2018-10-10T08:43:56.969Z",
"host" : {
"name" : "elk"
},
"source" : "/var/log/syslog",
"input" : {
"type" : "log"
},
"tags" : [
"beats_input_codec_plain_applied"
],
"offset" : 296,
"prospector" : {
"type" : "log"
},
"beat" : {
"version" : "6.4.2",
"hostname" : "elk",
"name" : "elk"
}
}
},
...

Если ваши выходные данные показывают 0 total hits, Elasticsearch не загружает логи в индекс, который вы искали, и вам нужно будет проверить настройки на наличие ошибок. Если вы получили ожидаемый результат, переходите к следующему разделу, в котором вы узнаете, как работать с дашбордами Kibana.

5: Дашборды Kibana

Теперь давайте посмотрим, как работает Kibana.

В браузере откройте FQDN или внешний IP сервера Elastic. Введите свои учетные данные из раздела 2, и вы попадете на домашнюю страницу Kibana.

Нажмите Discover в левой панели навигации. На странице Discover выберите предопределенный шаблон индекса filebeat-*, чтобы увидеть данные Filebeat. По умолчанию будут показаны все данные лога за последние 15 минут. Вы увидите гистограмму с событиями и некоторыми сообщениями лога.

Здесь вы можете искать и просматривать логи, а также настраивать дашборды. На данный момент, однако, там не будет много данных, потому что сейчас отображаются только системные логи сервера Elastic Stack.

Используйте левую панель, чтобы перейти на страницу Dashboard и выполнить поиск по Filebeat System. Оказавшись там, вы можете искать примеры дашбордов, которые поставляются с модулем system.

Например, вы можете просмотреть подробную статистику на основе ваших сообщений системного лога или узнать, какие пользователи и когда использовали команду sudo.

У Kibana есть много других функций, таких как построение графиков и фильтров. Исследуйте их самостоятельно.

Заключение

Теперь вы знаете, как установить и настроить Elastic Stack для сбора и анализа системных логов. Помните, что вы можете отправлять в Logstash практически любой тип лога или индексированных данных, используя Beats, но данные будут еще более полезными, если их анализировать и структурировать с помощью фильтров Logstash: это преобразует их в согласованный формат, который Elasticsearch легко прочитает.

Tags: , , , , ,

Добавить комментарий