
Управляйте системными журналами с помощью веб-интерфейса, установив платформу управления журналами Graylog с открытым исходным кодом на Ubuntu 22.04 LTS Linux. Чтобы помочь вам в этом, вот пошаговое руководство.
Программное обеспечение с открытым исходным кодом является основой компьютеров современного общества, поскольку большинство коммерческих серверов работают под управлением операционных систем Linux. В эту категорию также входят разнообразные прикладные платформы для решения различных задач организаций и индивидуальных пользователей, например, о котором мы будем говорить в этой статье, т. е. “Graylog“.
Как следует из названия этой программы, она предназначена для работы с системными журналами. Да, она предназначена для сбора, индексации и анализа данных журналов из различных источников, и все это в режиме реального времени. Если вы являетесь системным администратором, работающим с сетью серверов, настольных компьютеров и других устройств, то с помощью Graylog вы получите централизованное место для мониторинга системных журналов, журналов приложений или сетевых журналов. Эта система регистрации состоит из веб-интерфейса, серверов Graylog, узлов Elasticsearch и базы данных Mongo.
Graylog поддерживает различные механизмы ввода данных. По умолчанию поддерживаются четыре различных формата или протокола: Syslog, GELF, JSON / REST-URLs и RAW. syslog – это стандарт для передачи сообщений журнала, который часто используется компонентами системы.
Необходимые условия: Чтобы установить Graylog на нашу систему Ubuntu 22.04, нам потребуется:
- Сервер или виртуальная машина под управлением Ubuntu .04 или более поздней версии.
- MongoDB иElasticSearch
- По крайней мере, пользователь, не являющийся пользователем root, с
sudo
правами - Сервер Ubuntu с 4 ядрами процессора и 8 ГБ оперативной памяти
Шаги установки Graylog на Ubuntu 22.04
1. Обновление и установка зависимостей
В терминале Ubuntu сначала выполните команду обновления системы, чтобы обновить уже установленные пакеты.
sudo apt update
Помимо обновления системы, нам также понадобится несколько пакетов для правильной установки Graylog.
sudo apt install apt-transport-https wget curl uuid-runtime ca-certificates gnupg2
2. Установка MongoDB 6.x на Ubuntu 22.04
Ubuntu 22.04 Linux не предлагает последние пакеты для установки MongoDB из своего официального репозитория, поэтому нам придется добавить дополнительный репозиторий вручную.
Во время написания этой статьи последняя версия MongoDB была “8.x“, однако GrayLog только поддерживает до Mongodb 7.x. Следовательно, мы устанавливаем именно ее. В вашем случае, если он отличается, измените номер версии – 7.0 в указанных командах выберите ту, которую вы хотите установить:
curl -sSL https://www.mongodb.org/static/pgp/server-7.0.asc -o mongoserver.asc
gpg --no-default-keyring --keyring ./mongo_key_temp.gpg --import ./mongoserver.asc
gpg --no-default-keyring --keyring ./mongo_key_temp.gpg --export > ./mongoserver_key.gpg
sudo mv mongoserver_key.gpg /etc/apt/trusted.gpg.d/
Добавить репозиторий MongoDB:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
Запустите обновление системы:
Сообщите системе о новом добавленном репозитории, выполнив команду system update:
sudo apt update
Graylog использует MongoDB для хранения данных, поэтому теперь мы можем установить его на наш сервер, чтобы впоследствии сохранять сгенерированные журналы для дальнейшего анализа.
sudo apt install mongodb-org
Включите и запустите службы сервера баз данных:
sudo systemctl enable --now mongod
sudo systemctl restart mongod.service
Чтобы проверить, работает ли он правильно и без ошибок, можно выполнить следующие действия:
sudo systemctl status mongod

3. Настройка ElasticSearch
Следующее, что нам нужно установить для настройки Greylog, это Elasticsearch или OpenSearch, здесь мы используем версию сообщества EalsticSearch, которая является полнотекстовым поисковым и аналитическим движком. Так как greylog может обрабатывать журналы из множества источников, ему необходима масштабируемая платформа, позволяющая пользователям хранить, искать и анализировать большие объемы данных быстро и практически в реальном времени.
Примечание: Единственная поддерживаемая Graylog версия Elasticsearch – 7.x.
Добавить ключ GPG:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
Добавить репозиторий Elastic Search:
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
Команда для установки открытой версии ElasticSearch на Ubuntu 22.04:
sudo apt update && sudo apt-get install elasticsearch-oss
Измените конфигурационный файл Elasticsearch, чтобы установить имя кластера на graylog
и добавьте action.auto_create_index: false
Для этого просто скопировать-вставить нижеприведенный командный блок и нажмите кнопку Введите клавиша.
sudo tee -a /etc/elasticsearch/elasticsearch.yml > /dev/null <<EOT
cluster.name: graylog
action.auto_create_index: false
EOT
Включите и запустите службу поиска Elastic:
sudo systemctl daemon-reload
sudo systemctl enable --now elasticsearch
sudo systemctl start elasticsearch
#### To check service status:
sudo systemctl status elasticsearch

4. Установка Graylog Server на Ubuntu 22.04
Скачайте репозиторий Graylog, который доступен в виде deb-пакета. На момент написания этой статьи версия Gralog была следующей 5.0.
wget https://packages.graylog2.org/repo/packages/graylog-6.1-repository_latest.deb
Установите его:
sudo dpkg -i graylog-6.1-repository_latest.deb
Теперь обновите систему , чтобы она могла распознать вновь добавленный репозиторий для загрузки пакетов для Graylog:
sudo apt update
Наконец, установите его
sudo apt update && sudo apt-get install graylog-server
Дополнительно: Если вы также хотите установить плагины Integrations Plugins или Enterprise Плагины, затем запустите:
sudo apt install graylog-enterprise-plugins graylog-integrations-plugins graylog-enterprise-integrations-plugins
5. Отредактируйте файл конфигурации Graylog, чтобы установить пароль администратора
Существует два значения пароля – password_secret
и root_password_sha2
, нам нужно их настроить; в противном случае, Graylog на Ubuntu 22.04 LTS не запускается вообще.
Эти два значения присутствуют в Конфигурационный файл Graylog и то, что мы зададим для них, будет использоваться для защиты паролей пользователей и входа администратора в веб-интерфейс. Но мы не можем задать для них обычное текстовое значение; вместо этого мы должны сгенерировать хэш. Итак, выполните команду:
Установить ключ password_secret
< /dev/urandom tr -dc A-Z-a-z-0-9 | head -c${1:-96};echo;
Сайт выше команда сгенерирует секретный ключ для защиты паролей пользователей, поэтому скопировать , и отредактируйте файл конфигурации с помощью:
sudo nano /etc/graylog/server/server.conf
Теперь найдите password_secret =
в файле и вставьте перед ним скопированный секретный ключ. Как показано на скриншоте ниже.
Сохраните файл, нажав кнопку Ctrl + X, Y, и нажмите кнопку Введите клавиша.
Установка хэша root_password_sha2
По умолчанию для входа в веб-интерфейс Graylog используется имя пользователя admin, в то время как пароль должен быть установлен, что мы и делаем здесь. Сгенерируйте хэш для пароля, который вы хотите установить, используя приведенную ниже команду:
echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
Когда система попросит вас ввести пароль, введите то, что вы хотите использовать, и у вас будет хэш строка для вставки в конфигурационный файл Graylog.
При нажатии кнопки Введите После использования вышеуказанной команды будет сгенерирована хэш-сумма. Скопируйте ее.
Теперь снова отредактируйте файл конфигурации:
sudo nano /etc/graylog/server/server.conf
Найдите строку: root_password_sha2 и вставьте перед ним хеш-сумму, как показано на скриншоте ниже:

Кроме того, по по умолчанию, Graylog доступен только с IP-адреса localhost, т.е. 127.0.0.1; Таким образом, если вы планируете получить удаленный доступ к веб-интерфейсу, то измените его на IP-адрес вашего сервера в конфигурационном файле.
Найдите строку: http_bind_address,
откомментируйте его и измените 127.0.0.1 с IP-адрес системы, на которой установлен graylog.

Сохранить файл– Ctrl + X, Y и нажмите кнопку Введите клавиша.
6. Включите и перезапустите сервер Graylog Server
Мы уже выполнили все необходимые настройки, теперь включим автоматический запуск службы системы журналов.
sudo systemctl daemon-reload
sudo systemctl enable --now graylog-server
sudo systemctl restart graylog-server
Проверьте, работает ли она без ошибок или нет:
sudo systemctl status graylog-server

Если вы планируете получить доступ к веб-интерфейсу Graylog удаленно, то также откройте порт 9000 в брандмауэре Ubuntu:
sudo ufw allow 9000
7. Зайдите в веб-интерфейс
Откройте браузер на локальной или удаленной системе, который может получить доступ к IP-адресу сервера Ubuntu 22.04. И введите http://your-server-ipaddress:9000
Замените ваш-server-ip-адрес с фактическим IP-адрес вашего сервера, на котором находится Graylog был установлен.
По умолчанию используется имя пользователя admin, в то время как пароль это то, что вы установить шаг 5 этой статьи для root_password.

8. Пример: Отправка журналов Sys хост-системы в Graylog
Давайте проверим наш экземпляр Graylog, отправив журналы сервера, на котором он был установлен.
Создайте файл конфигурации в папке /etc/rsyslog.d/
, чтобы указать системе, куда отправлять журналы.
sudo nano /etc/rsyslog.d/graylog.conf
Добавьте следующую строку:
Для UDP:
*.* @your-server-ip:5140;RSYSLOG_SyslogProtocol23Format
Если вам нужен TCP для отправки журналов, то добавьте два @@ вместо одного в приведенной выше команде:
*.*@@172.16.10.51:5140;RSYSLOG_SyslogProtocol23Format
Замените your-server-IP с IP-адресом системы, с которой вы отправляете журналы. Если это хост-система, на которой установлен Graylog, то используйте ее IP-адрес.
Сохраните файл, набрав Ctrl+X, Y, и попадание Введите.
Перезапустите Syslog на сервере, с которого вы хотите отправлять журналы; здесь мы отправляем журналы хост-сервера:
sudo systemctl restart rsyslog
Теперь добавьте вход для узла в Graylog.
На приборной панели Graylog нажмите на Система -> Входы.
Выберите Syslog UDP и нажмите кнопку Запустить новый вход кнопка.
Выберите узел из выпадающего окна, укажите несколько название (любое название) на Вход, а затем установите порт номер для 5140 после этого прокрутите страницу вниз и сохранить конфигурацию.
Теперь нажмите на кнопку “Начать ввод“, чтобы начать ввод данных с сервера.


9. Приборная панель метрик
Как только начнется ввод данных с сервера, нажмите на кнопку Поиск , заданный в меню Graylog, и вы начнете получать метрики и журналы с вашего сервера в режиме реального времени. Кроме того, вы можете настроить частоту обновления метрик.
