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

Установка Logstash на CentOS7 по официальной инструкции + видео в помощь — https://youtu.be/Tp5dI-GDerM

Нужна Java.

wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm

rpm -Uvh jdk-17_linux-x64_bin.rpm

Далее по инструкции публичный ключ:

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Добавление репозитория  nano /etc/yum.repos.d/logstash.repo

[logstash-8.x]
name=Elastic repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Установка:

yum install logstash
systemctl enable logstash.service

Описание плагинов фильтрации — https://www.elastic.co/guide/en/logstash/current/filter-plugins.html

https://www.elastic.co/guide/en/logstash/current/plugins-inputs-udp.html

Открываем рабочий порт:

firewall-cmd --add-port=5044/tcp --permanent
firewall-cmd --add-port=5044/udp --permanent
firewall-cmd --reload
firewall-cmd --list-all

Настройка конфигурации. В каталоге /etc/logstash/conf.d создаётся файл конфигурации, обычно называют input.conf. Его содержимое:

input {
  beats {
    port => 5044
  }
}

filter {

}

output {
  stdout {}
}

С текущей конфигурацией можно проверить работу logstash локально, выполнив команду:

/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/input.conf

При этом кто-то уже должен отправлять логи к logstash, например filebeat. Конкретно под этот пример описана установка и настройка filebeat. Если filebeat что-то отправляет, то это должно отобразится в консоли. Вот часть моего вывода от samba:

...
},
"input" => {
"type" => "log"
},
"host" => {
"name" => "samba.host"
},
"tags" => [
[0] "beats_input_codec_plain_applied"
],
"agent" => {
"version" => "8.6.2",
"ephemeral_id" => "0154e2de-c87d-4176-9f97-3fadae2baf9c",
"id" => "690d64f9-030d-47e5-80c8-bfbd11e717a5",
"name" => "samba.host",
"type" => "filebeat"
...

Но после такого запуска logstash и его остановки, он остаётся в работе. Поэтому надо посмотреть командой

ps axf | grep logstash

действительно ли это так и оставноить через kill -9 pid.

После отладки (убедились, что логи доставляются от какого-либо агента) запускаем logstash:

systemctl start logstash.service

Без дополнительных настроек, логи у меня писались в tail -f /var/log/messages.

Теперь можно перенаправлять логи в elasticsearch.

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