Установка Graylog на CentOS 8
Подготовка
Установите Java
dnf install java-1.8.0-openjdk-headless
Установите утилиту для генерации паролей (не обязательно)
dnf install epel-release dnf install pwgen
Установите MongoDB
Установка MongoDB на CentOS 8
Установите Elasticsearch
Установка Elasticsearch на CentOS 8
Измените файл конфигурации Elasticsearch
vi /etc/elasticsearch/elasticsearch.yml
Раскоментируйте строку и задайте имя кластера cluster.name: graylog
Добавьте параметр action.auto_create_index: false
Перезагрузите сервис elasticsearch
systemctl restart elasticsearch # проверка systemctl status elasticsearch # подождите пару минут и проверьте ответ elasticsearch curl -X GET http://localhost:9200 #ожидаемый вывод { ... "cluster_name" : "graylog" ... }
Установка Graylog
# добавление репозитория rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.3-repository_latest.rpm # обновление dnf update # установка dnf install graylog-server #требуется лицензия #dnf install graylog-enterprise-plugins graylog-integrations-plugins graylog-enterprise-integrations-plugins
Измините файл конфигурации /etc/graylog/server/server.conf
- секретный ключ
password_secret
(не менее 64 знаков) - sha2 хеш административного пароля
root_password_sha2
- адрес и порт для работы веб интерфейса
http_bind_address
Секретный ключ можно сгенерировать командой pwgen -N 1 -s 96
.
Для получения sha2 хеша можно использовать команду
echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
IP адрес задается следующим образом
http_bind_address = 192.168.0.10:9000
Настройте разрешения SELinux
dnf install policycoreutils-python-utils # проверьте что для порта 9000 (Graylog RestAPI) назначен контекст http_port_t semanage port -l | grep http_port_t # если не назначен то добавьте semanage port -a -t http_port_t -p tcp 9000
Если планируется система из нескольких узлов, то могут понадобится дополнительные разрешения
# разрешение для веб-сервера инициировать сетевые подключения setsebool -P httpd_can_network_connect on # разрешение на порт Elasticsearch (если используется HTTP API) semanage port -a -t http_port_t -p tcp 9200 # разрешение на порт MongoDB semanage port -a -t mongod_port_t -p tcp 27017
Включите из запустите сервис graylog
systemctl enable graylog-server systemctl start graylog-server # проверка systemctl status graylog-server
Откройте доступ на файрволе
Для этого сначала задайте описание сервиса
vi /usr/lib/firewalld/services/graylog.xml
<?xml version="1.0" encoding="utf-8"?> <service> <short>graylog</short> <description>Graylog Server</description> <port protocol="tcp" port="9000"/> </service>
firewall-cmd --reload # проверьте список определений сервисов firewall-cmd --get-services | grep graylog # проверте определение сервиса firewall-cmd --info-service=graylog
Добавьте доступ к сервису
firewall-cmd --permanent --add-service=graylog firewall-cmd --reload