Graylog - бесплатный инструмент управления журналами с нескольких устройств в разных сетях
Способен анализировать как неструктурированные, так и структурированные журналы
Утилита Graylog состоит из MongoDB, Elasticsearch и сервера
Сервер получает данные от клиентов, установленных на нескольких серверах
Давайте рассмотрим пошаговое руководство по запуску Graylog Server в контейнерах Docker
Возможности сервера Graylog
Сбор журналов: Graylog предлагает собирать сообщения журналов, сетевой трафик, AWS, путей JSON и необработанных текстов
Анализ журналов: Graylog обеспечивает расширенный поиск, рабочие процессы и информационные панели для анализа данных
Извлечение данных:
Этот инструмент управления журналами также предлагает сводные данные, которые можно использовать в Центре операций
Повышение безопасности:
сервер Graylog является безопасным, доступным и быстрым, т.к. обрабатывает конфиденциальные и регулируемые данные
Предварительные условия
Для этого руководства вам понадобится система с root-доступом или правами sudo
Также убедитесь, что в вашей системе запущены Docker-контейнер и Docker Compose
Запуск сервера Graylog в контейнерах Docker
Для успешного запуска сервера Graylog в контейнерах Docker необходимо выполнить несколько шагов
1. Обновите систему
Прежде чем мы начнем установку, первым делом нужно обновить менеджер пакетов
Используйте следующие команды для обновления системы в соответствии с операционной системой, установленной в вашей системе
## On Debian/Ubuntu
sudo apt update && sudo apt upgrade
## On RHEL/CentOS/RockyLinux 8
sudo yum -y update
## On Fedora
sudo dnf update
2. Установите необходимые пакеты
Мы также установим пакеты curl, git, необходимые для запуска сервера Graylog
Используйте команду установки с пакетом apt, yum или dnf, например:
## On Debian/Ubuntu
sudo apt install curl git
## On RHEL/CentOS/RockyLinux 8
sudo yum -y install curl git
## On Fedora
sudo dnf -y install curl git
3. Проверьте версию Docker для запуска сервера Graylog
Поскольку в статье требуется работающий в системе Docker Engine, проверьте версию Docker с помощью команды docker
Например:
docker -v
Теперь добавьте пользователя в группу докеров
Это предоставит привилегию sudo текущему пользователю, вошедшему в систему
Используйте команду usermod для этого шага. Например:
sudo usermod -aG docker $USER
newgrp docker
Затем проверьте версию Docker Compose в вашей системе:
docker-compose version
Наконец, запустите службу Docker и включите ее автоматический запуск при запуске системы
На этом этапе используйте команды start и Enable. В частности, введите:
sudo systemctl start docker && sudo systemctl enable docker
Приложение Graylog состоит из сервера, Elasticsearch и MongoDB
Обязательно замените в файле следующие переменные:
GRAYLOG_HTTP_EXTERNAL_URI тут адрес и порт, альтернативно вы можете заменить его на localhost
GRAYLOG_PASSWORD_SECRET с вашим собственным паролем.
GRAYLOG_ROOT_PASSWORD_SHA2 с паролем SHA2
Получите этот пароль, используя команду, указанную ниже:
echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
Enter Password: aw3rtQ123!z15!d
5. Создайте постоянные тома
Поскольку вы хотите хранить журналы, вам понадобится внешний том для MongoDB, Elasticsearch и Graylog
На этом этапе сначала создайте каталоги, как показано ниже:
sudo mkdir /data/docker_volumes/graylog/mongo_data
sudo mkdir /data/docker_volumes/graylog/es_data
sudo mkdir /data/docker_volumes/graylog/graylog_journal
Установите разрешения на чтение, запись и выполнение для каждого из этих каталогов с помощью chmod:
sudo chmod 777 -R /data/docker_volumes/graylog/mongo_data
sudo chmod 777 -R /data/docker_volumes/graylog/es_data
sudo chmod 777 -R /data/docker_volumes/graylog/graylog_journal
Eстановите SElinux в разрешительный режим, чтобы обеспечить доступ к путям Centos:
sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
6. Запустите сервер Graylog в контейнерах Docker
Теперь, когда все настройки завершены, давайте запустим контейнер Docker
Используйте команду, указанную ниже:
docker-compose up -d
Затем проверьте статус контейнера с помощью команды ps:
docker ps
Если вы получаете ошибку брандмауэра, обязательно включите его и разрешите службу Graylog:
##For Firewalld
sudo firewall-cmd --zone=public --add-port=9000/tcp --permanent
sudo firewall-cmd --reload
##For UFW
sudo ufw allow 9000/tcp
7. Доступ к пользовательскому интерфейсу Graylog
Получите доступ к веб-интерфейсу, используя IP-адрес, указанный в файле docker-compose.yml
Обязательно используйте порт 9000:
http://10.10.5.4:9000
Войдите в систему, используя то же имя пользователя и пароль SHA2, которые вы указали в файле YAML
На панели мониторинга создайте первый ввод:
System - Inputs
Затем выберите «Raw/PlainText UDP» и нажмите кнопку «Launch new input»
После этого измените имя входного порта и выберите «Global» в качестве местоположения
Title - FirstLogMess
Измените номер порта на 1514 во всплывающем окне и оставьте остальные данные
Затем сохраните файл и отправьте текстовое сообщение на сервер Graylog, используя команду:
echo 'First log message' | nc -uw 0 localhost 1514
Альтернативно, если вы используете другой сервер, замените localhost на IP-адрес сервера:
echo 'First log message' | nc -uw 0 10.10.5.4 1514
Вы получите сообщение в панель All messages
Вы также можете экспортировать это сообщение на панель мониторинга на вкладке Панели мониторинга
Комментарии пользователей
Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!