Как установить Graylog на AlmaLinux 9

Graylog — это бесплатная платформа для управления журналами с открытым исходным кодом, позволяющая собирать, хранить и анализировать данные и журналы в режиме реального времени. Она написана на Java и построена на базе других программ с открытым исходным кодом, таких как MongoDB и Elasticsearch. Graylog — одна из самых эффективных, быстрых и гибких платформ централизованного управления журналами. С помощью Graylog вы можете отправлять и анализировать структурированные и неструктурированные данные практически из любого источника.

В этом руководстве мы рассмотрим установку Graylog в качестве централизованной системы управления журналами на сервере AlmaLinux 9. Вы установите сервер Graylog, а затем настроите входы для клиентов, чтобы отправлять журналы на сервер Graylog.

Настройка репозиториев

Чтобы начать это руководство, вам предстоит добавить новые репозитории на машину с AlmaLinux 9. Вы добавите в систему репозитории MongoDB 6.x, Opensearch 2.x и Graylog 5.x.

Сначала выполните приведенную ниже команду dnf, чтобы установить curl в вашей системе.

sudo dnf install curl -y

установка curl

Теперь скопируйте и выполните следующую команду, чтобы добавить репозиторий MongoDB. Для сервера Graylog требуется как минимум MongoDB v6.x.

cat [mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
EOF

Далее выполните следующую команду, чтобы добавить репозиторий Opensearch. Opensearch — это альтернатива Elasticsearch, которую рекомендуется использовать в новой версии Graylog. В данном случае мы будем использовать Opensearch v2.x.

sudo curl -SL https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/opensearch-2.x.repo -o /etc/yum.repos.d/opensearch-2.x.repo

добавление mongodb и репозитория opensearch

Теперь выполните приведенную ниже команду, чтобы добавить репозиторий Graylog в вашу систему. На момент написания этой статьи последняя версия сервера Graylog — v5.1.

sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-5.1-repository_latest.rpm

добавление репозитория Graylog

Наконец, выполните приведенную ниже команду dnf, чтобы проверить доступные репозитории на сервере AlmaLinux.

sudo dnf repolist

В случае успеха вы должны увидеть репозитории MongoDB 6.x, Opensearch 2.x и сервера Graylog.

просмотр репозиториев

Установка зависимостей

После добавления репозиториев установите MongoDB 6.x и Opensearch 2.x через менеджер пакетов DNF. MongoDB будет использоваться для хранения строковых данных, а Opensearch станет основной поисковой системой для сервера Graylog.

Выполните приведенную ниже команду dnf для установки MongoDB и Opensearch. Введите y, когда появится запрос на подтверждение, затем нажмите ENTER.

sudo dnf install mongodb-org opensearch

установка mongodb opensearch

После установки MongoDB и Opensearch выполните приведенную ниже команду systemctl, чтобы перезагрузить менеджер systemd.

sudo systemctl daemon-reload

Затем запустите и включите службу MongoDB с помощью следующей команды.

sudo systemctl start mongod
sudo systemctl enable mongod

Запустите и включите службу Opensearch с помощью приведенной ниже команды.

sudo systemctl start opensearch
sudo systemctl enable opensearch

start enable mongodb opensearch

Наконец, выполните приведенную ниже команду, чтобы проверить состояние служб MongoDB и Opensearch. Если служба запущена, ее статус должен быть следующим активен (работает).

sudo systemctl status mongod
sudo systemctl status opensearch

Проверка состояния службы MongoDB.

проверка mongodb

Проверка состояния службы Opensearch.

проверка opensearch

Настройка Opensearch

Для развертывания Graylog рекомендуется использовать Opensearch в качестве поисковой системы по умолчанию. Альтернативой Opensearch является Elasticsearch, но он поддерживает только Elasticsearch v7.x. В следующем разделе вы настроите Opensearch в качестве поисковой системы по умолчанию для вашего сервера Graylog.

Сначала откройте стандартную конфигурацию Opensearch /etc/opensearch/opensearch.yml с помощью следующей команды редактора nano.

sudo nano /etc/opensearch/opensearch.yml

Снимите комментарий с параметра cluster.name и введите имя вашего кластера Opensearch, node.name и введите имя хоста вашей системы, затем сеть.хост и введите свой внутренний IP-адрес. В этом случае имя кластера будет таким graylog с именем хоста graylog-alma и IP-адрес 192.168.10.20 (Это работает в локальной сети).

cluster.name: graylog
node.name: graylog-alma
network.host: 0.0.0.0

Добавьте следующие строки, чтобы настроить Opensearch как отдельный узел/сервер, отключите автосоздание_индекса и плагин безопасности (только для тестирования).

discovery.type: single-node
action.auto_create_index: false
plugins.security.disabled: true

Сохраните файл и выйдите из редактора после завершения работы.

Теперь откройте файл /etc/opensearch/jvm.options с помощью редактора nano установите максимальное распределение памяти для службы Opensearch.

sudo nano /etc/opensearch/jvm.options

Измените распределение памяти по умолчанию для вашей установки Opensearch. В данном случае Opensearch должен работать с максимальным объемом памяти 2 ГБ.

-Xms2g
-Xmx2g

Сохраните файл и выйдите из редактора после завершения работы.

Далее откройте файл /usr/lib/tmpfiles.d/opensearch.conf с помощью следующей команды редактора nano.

sudo nano /usr/lib/tmpfiles.d/opensearch.conf

Измените путь по умолчанию с /var/run/opensearch на /run/opensearch. Этот каталог будет использоваться для хранения дополнительных файлов, связанных с Opensearch, и будет создан автоматически с помощью этой конфигурации.

/run/opensearch

После завершения работы сохраните и закройте файл.

После этого выполните следующую команду, чтобы увеличить vm.max_map_count на 262144. Этого требует Opensearch, и чтобы сделать его постоянным, добавьте новый параметр в /etc/sysctl.conf файл.

sudo sysctl -w vm.max_map_count=262144
sudo echo 'vm.max_map_count=262144' >> /etc/sysctl.conf

Теперь выполните приведенную ниже команду systemctl, чтобы перезапустить службу Opensearch и применить внесенные изменения.

sudo systemctl restart opensearch

Opensearch должен быть запущен на локальном IP-адресе вашего сервера, и в данном случае он запущен на 192.168.10.20 с портом по умолчанию 9200.

настроить opensearch

Выполните приведенную ниже команду curl, чтобы получить доступ к вашей установке Opensearch.

curl 192.168.10.20:9200

Если настройка Opensearch прошла успешно, вы должны увидеть подробную информацию о вашей установке Opensearch, как показано ниже:

проверка opensearch

На данный момент Opensearch и MongoDB готовы. В следующем разделе вы начнете установку и настройку сервера Graylog.

Установка и настройка сервера Graylog

В этом разделе вы установите сервер Graylog v5.x на машину с AlmaLinux 9 и настроите Graylog в качестве централизованного управления журналами для вашей инфраструктуры.

Выполните приведенную ниже команду dnf для установки пакета graylog-server. Введите y для подтверждения установки и нажмите ENTER, чтобы продолжить.

sudo dnf install graylog-server

установка graylog-server

Введите еще раз, чтобы добавить GPG-ключ репозитория Graylog.

импортировать ключ gpg

После установки сервера Graylog выполните следующую команду, чтобы сгенерировать ключ пароль_секрет для сервера Graylog. Скопируйте сгенерированную вами случайную строку.

Now run the following command to generate the root_password_sha2 for your graylog server. This password will be used to log in to the Graylog administration dashboard.

echo -n "Enter Password: " && head -1 /stdin | tr -d '\n' | sha256sum | cut -d" " -f1

Введите свой пароль и скопируйте сгенерированный хэш-пароль.

генерация секретного пароля и пароля root в формате sha2

В приведенном ниже примере, JmGGtkruJ80LjnQBnz8QZ0gHjKpBZwWmH7JF0ZBa9iBS999bTlQfViaQj7jAH-XgIVcdVcDVYyy3x5Dh7fEXCPhbrSUXX1G1 это секрет пароля и 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8 сгенерированный root_password_sha2 пароль для вашего сервера Graylog.

Далее откройте конфигурацию Graylog /etc/graylog/server/server.conf , используя редактор nano.

sudo nano /etc/graylog/server/server.conf

Введите сгенерированный секретный пароль в поле пароль_секрет параметр и измените значение по умолчанию root_password_sha2 с новым паролем, который вы сгенерировали.

password_secret = R8zwuO2NDewUcwRFQ0QDm07tn6AppmwThty0aagxOoqMDWNqPJLwrffpz7DdQyQVY1uHq54QwgYMNkZnBLuXQf3B1giq5RKX
...
root_password_sha2 = a7fdfe53e2a13cb602def10146388c65051c67e60ee55c051668a1c709449111

Снимите комментарий с http_bind_address и измените IP-адрес на ваш внутренний IP-адрес, а затем порт сервера Graylog по умолчанию 9000.

http_bind_address = 192.168.10.20:9000

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

Теперь выполните приведенную ниже команду systemctl, чтобы перезагрузить менеджер systemd.

sudo systemctl daemon-reload

Затем запустите и включите сервер Graylog с помощью следующей команды.

sudo systemctl start graylog-server
sudo systemctl enable graylog-server

start enable graylog

И наконец, проверьте состояние сервера Graylog с помощью следующей команды. Если Graylog запущен, вы должны получить сообщение активен (работает) на вашем терминале.

sudo systemctl status graylog-server

проверка службы graylog

Кроме того, вы можете проверить работу сервера Graylog, проверив список открытых портов в вашей системе с помощью команды ss, приведенной ниже.

ss -tulpn | grep 9000

В случае успеха вы увидите, что сервер Graylog использует порт 9000.

Настройка Firewalld и SELinux

После установки и настройки сервера Graylog следующим шагом будет настройка SELinux и firewalld. В данном случае SELinux работает в режиме принуждения, а firewalld запущен.

Выполните приведенную ниже команду dnf, чтобы установить инструменты управления SELinux на ваш сервер AlmaLinux. Введите y при появлении запроса, затем нажмите ENTER, чтобы продолжить.

sudo dnf install policycoreutils policycoreutils-python-utils

установка инструментов selinux

Теперь выполните следующую команду, чтобы добавить некоторые политики SELinux и разрешить порты для некоторых служб, например порт сервера Graylog. 9000, порт MongoDB 27017, и порт Opensearch 9200.

sudo setsebool -P httpd_can_network_connect 1
sudo semanage port -a -t http_port_t -p tcp 9000
sudo semanage port -a -t http_port_t -p tcp 9200
sudo semanage port -a -t mongod_port_t -p tcp 27017

установка selinux

Далее выполните приведенную ниже команду firewall-cmd, чтобы добавить порт сервера Graylog 9000 в firewalld и перезагрузите firewalld, чтобы применить изменения.

sudo firewall-cmd --add-port=9000/tcp --permanent
sudo firewall-cmd --reload

Наконец, выполните следующую команду, чтобы проверить список правил firewalld в вашей системе. Убедитесь, что порт 9000 доступен в вашем firewalld.

sudo firewall-cmd --list-all

настройка firewalld

Доступ к серверу Graylog

После того как вы успешно настроили SELinux и firewalld, теперь вы можете получить доступ к установленному серверу Graylog.

Запустите предпочтительный веб-браузер и зайдите на IP-адрес вашего сервера AlmaLinux, а затем на порт 9000 (т.е: http://192.168.10.20:9000/). Если установка Graylog прошла успешно, вы должны увидеть страницу входа в Graylog, как показано ниже.

Войдите в систему под пользователем по умолчанию admin и сгенерированный вами пароль (в поле root_password_sha2 пароль).

вход в систему graylog

Если вы ввели правильного пользователя и пароль, в вашем браузере появится панель управления Graylog.

панель управления Graylog

Создание первого входа в Graylog

После входа на сервер Graylog первым делом необходимо создать новые входы, которые будут использоваться в качестве приемника журналов от целевой системы мониторинга. Существует два типа входов Graylog: входы слушателей и входы Pull.

Примерами входов Listener являются Syslog TCP/UDP, Beats TCP, GELF TCP, CEF TCP и Netflow TCP. Примерами входов Pull являются CEF AMQP и Kafka, Raw/Plaintext AMQP и Kafka, Syslog AMQP и Kafka.

В следующем разделе вы создадите первый вход Graylog, используя Syslog UDP.

Нажмите на кнопку Система меню и выберите Входы.

создать вход

Выберите тип входа, который вы хотите создать, из выпадающего меню и нажмите кнопку Запустить новый ввод. В данном случае мы создадим вход типа Syslog UDP.

создание входов

Введите имя входа, внутренний IP-адрес и порт, на котором будет работать новый вход. В данном случае мы создадим вход Syslog UDP graylog-alma , который будет работать на внутреннем IP-адресе 0.0.0.0 с портом 5142.

создание первого входа

Далее прокрутите страницу вниз, и вы увидите новый вход graylog-alma со статусом работает.

ввод выполняется

Наконец, вернитесь на терминальный сервер и выполните приведенную ниже команду firewall-cmd, чтобы открыть порт 5142 , который будет использоваться graylog-alma вход.

sudo firewall-cmd --add-port=5142/udp --permanent
sudo firewall-cmd --reload

Проверьте список открытых портов на firewalld с помощью следующей команды. Убедитесь, что порт 5142 доступен на firewalld.

sudo firewall-cmd --list-all

добавить входы firewalld

Отправка журнала в Graylog через Rsyslog

После создания UDP-входа Syslog на сервере Graylog вы можете отправлять сообщения журнала на сервер Graylog. В следующем разделе вы будете отправлять журналы с Linux-машины на сервер Graylog с помощью Rsyslog.

Создайте новую дополнительную конфигурацию rsyslog /etc/rsyslog.d/graylog.conf с помощью следующей команды редактора nano.

sudo nano /etc/rsyslog.d/graylog.conf

Вставьте следующую конфигурацию и не забудьте изменить IP-адрес и порт, указав данные для ввода graylog-alma.

*.*@192.168.10.20:5142;RSYSLOG_SyslogProtocol23Format

После завершения работы сохраните и выйдите из файла.

Теперь выполните приведенную ниже команду systemctl, чтобы перезапустить службу Rsyslog и применить изменения. После перезапуска Rsyslog целевая машина будет отправлять журналы на сервер Graylog по протоколу syslog на вход graylog-alma.

sudo systemctl restart rsyslog

Далее вернитесь в панель администрирования Graylog и щелкните меню Stream. Если установка прошла успешно, вы должны увидеть подробные журналы целевой машины, доступные на сервере Graylog.

поток graylog

Заключение

Поздравляем, вы завершили установку Graylog в качестве централизованной системы управления журналами на вашу систему AlmaLinux 9! Вы установили Graylog с MongoDB и Opensearch, а также настроили первый вход Graylog через Syslog UDP. Теперь вы можете изучить различные типы входов Graylog или настроить развертывание Graylog на нескольких серверах.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *