Установите и настройте сервер мониторинга Graylog Ubuntu 20.04
Это руководство существует для этих версий ОС
- Ubuntu 22.04 (Jammy Jellyfish)
- Ubuntu 20.04 (Focal Fossa)
На этой странице
- Предпосылки
- Начало работы
- Установить Java
- Установка и настройка Elasticsearch
- Установить сервер MongoDB
- Установка и настройка Graylog
- Настройка Nginx в качестве обратного прокси-сервера для Graylog
- Доступ к веб-интерфейсу Graylog
- Заключение
Graylog — это бесплатный программный инструмент для управления журналами с открытым исходным кодом, который можно использовать для мониторинга журналов сетевых систем с центрального сервера. Он использует Elasticsearch для хранения данных журналов и предоставления возможностей поиска, а также MongoDB для хранения метаинформации. Это поможет вам отслеживать, искать и анализировать большое количество данных в простом читаемом формате.
В этом руководстве мы покажем вам, как установить Graylog на сервер Ubuntu 20.04.
Предпосылки
- Сервер под управлением Ubuntu 20.04 с минимум 4 ГБ ОЗУ.
- Настроен пароль root.
Начиная
Во-первых, вам нужно будет обновить системные пакеты до последней версии. Вы можете обновить их все с помощью следующей команды:
apt-get update -y
После обновления всех пакетов вам также потребуется установить некоторые зависимости на вашем сервере. Вы можете установить их все с помощью следующей команды:
apt-get install apt-transport-https gnupg2 uuid-runtime pwgen curl dirmngr -y
После установки всех необходимых зависимостей можно переходить к следующему шагу.
Установить Java
Graylog требует, чтобы на вашем сервере была установлена Java. Если он не установлен, вы можете установить его с помощью следующей команды:
apt-get install openjdk-11-jre-headless -y
После установки Java вы можете проверить установленную версию Java, выполнив следующую команду:
java -version
Вы должны получить следующий результат:
openjdk version "11.0.8" 2020-07-14 OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04) OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)
Как только вы закончите, вы можете перейти к следующему шагу.
Установите и настройте Elasticsearch.
Graylog использует Elasticsearch для хранения журналов, поступающих с внешнего ресурса. Поэтому вам нужно будет установить Elasticsearch в вашей системе.
По умолчанию последняя версия Elasticsearch недоступна в стандартном репозитории Ubuntu. Поэтому вам нужно будет добавить репозиторий Elasticsearch в вашу систему.
Сначала загрузите и добавьте ключ Elasticsearch GPG с помощью следующей команды:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
Затем добавьте репозиторий Elasticsearch с помощью следующей команды:
echo "deb https://artifacts.elastic.co/packages/oss-6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list
Затем обновите репозиторий и установите Elasticsearch с помощью следующей команды:
apt-get update -y
apt-get install elasticsearch-oss -y
После установки Elasticsearch вам нужно будет отредактировать файл конфигурации Elasticsearch и определить имя кластера. Вы можете сделать это с помощью следующей команды:
nano /etc/elasticsearch/elasticsearch.yml
Определите имя своего кластера для Graylog и добавьте еще одну строку, как показано ниже:
cluster.name: graylog action.auto_create_index: false
Сохраните и закройте файл, когда закончите. Затем запустите службу Elasticsearch и включите ее запуск при загрузке с помощью следующей команды:
systemctl daemon-reload
systemctl start elasticsearch
systemctl enable elasticsearch
Вы также можете проверить статус службы Elasticsearch с помощью следующей команды:
systemctl status elasticsearch
Вы должны получить следующий результат:
? elasticsearch.service - Elasticsearch Loaded: loaded (/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2020-09-05 08:41:18 UTC; 9s ago Docs: http://www.elastic.co Main PID: 7085 (java) Tasks: 17 (limit: 2353) Memory: 1.1G CGroup: /system.slice/elasticsearch.service ??7085 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -> Sep 05 08:41:18 ubunt4 systemd[1]: Started Elasticsearch.
Теперь проверьте ответ Elasticcsearch с помощью следующей команды:
curl -X GET http://localhost:9200
Вы должны получить следующий результат:
{ "name" : "vzg8H4j", "cluster_name" : "graylog", "cluster_uuid" : "6R9SlXxNSUGe6aclcJa9VQ", "version" : { "number" : "6.8.12", "build_flavor" : "oss", "build_type" : "deb", "build_hash" : "7a15d2a", "build_date" : "2020-08-12T07:27:20.804867Z", "build_snapshot" : false, "lucene_version" : "7.7.3", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
Установить сервер MongoDB
Graylog использует MongoDB в качестве базы данных. Поэтому вам нужно будет установить базу данных MongoDB на свой сервер. Вы можете установить его с помощью следующей команды:
apt-get install mongodb-server -y
После установки MongoDB запустите службу MongoDB и включите ее запуск при перезагрузке системы с помощью следующей команды:
systemctl start mongodb
systemctl enable mongodb
Как только вы закончите, вы можете перейти к следующему шагу.
Установите и настройте Graylog
По умолчанию пакет Graylog недоступен в стандартном репозитории Ubuntu. Поэтому вам нужно будет установить репозиторий Graylog на свой сервер.
Вы можете загрузить пакет репозитория Graylog с помощью следующей команды:
wget https://packages.graylog2.org/repo/packages/graylog-3.3-repository_latest.deb
После завершения загрузки установите загруженный пакет с помощью следующей команды:
dpkg -i graylog-3.3-repository_latest.deb
Затем обновите репозиторий и установите сервер Graylog с помощью следующей команды:
apt-get update -y
apt-get install graylog-server -y
После установки сервера Graylog вам нужно будет сгенерировать секрет для защиты паролей пользователей. Вы можете сгенерировать его с помощью следующей команды:
pwgen -N 1 -s 96
Вы должны увидеть следующий вывод:
Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3c
Далее вам также потребуется создать безопасный пароль для пользователя-администратора Graylog. Этот пароль понадобится вам для входа в веб-интерфейс Graylog. Вы можете сгенерировать его с помощью следующей команды:
echo -n password | sha256sum
Вы должны увидеть следующий вывод:
5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8 -
Теперь отредактируйте основной файл конфигурации Graylog и определите оба пароля:
nano /etc/graylog/server/server.conf
Вставьте оба пароля, которые вы сгенерировали выше, как показано ниже:
password_secret = Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3c root_password_sha2 = 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
Затем вам также нужно будет определить адрес привязки вашего сервера, как показано ниже:
http_bind_address = 127.0.0.1:9000
Сохраните и закройте файл, когда закончите, затем запустите службу Graylog и включите ее запуск при перезагрузке системы с помощью следующей команды:
systemctl daemon-reload
systemctl start graylog-server
systemctl enable graylog-server
Затем вы можете проверить состояние сервера Graylog, используя следующую команду:
systemctl status graylog-server
Вы должны увидеть следующий вывод:
? graylog-server.service - Graylog server Loaded: loaded (/lib/systemd/system/graylog-server.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2020-09-05 08:50:16 UTC; 15min ago Docs: http://docs.graylog.org/ Main PID: 8693 (graylog-server) Tasks: 156 (limit: 2353) Memory: 865.0M CGroup: /system.slice/graylog-server.service ??8693 /bin/sh /usr/share/graylog-server/bin/graylog-server ??8726 /usr/bin/java -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX> Sep 05 08:50:16 ubunt4 systemd[1]: Started Graylog server.
Вы также можете проверить журнал сервера Graylog с помощью следующей команды:
tail -f /var/log/graylog-server/server.log
После успешного запуска сервера Graylog вы должны получить следующий вывод:
2020-09-05T08:51:36.473Z INFO [ServerBootstrap] Services started, startup times in ms: {InputSetupService [RUNNING]=59, JobSchedulerService [RUNNING]=105, GracefulShutdownService [RUNNING]=106, OutputSetupService [RUNNING]=110, BufferSynchronizerService [RUNNING]=111, UrlWhitelistService [RUNNING]=153, JournalReader [RUNNING]=166, KafkaJournal [RUNNING]=222, MongoDBProcessingStatusRecorderService [RUNNING]=240, ConfigurationEtagService [RUNNING]=259, EtagService [RUNNING]=302, StreamCacheService [RUNNING]=306, LookupTableService [RUNNING]=376, PeriodicalsService [RUNNING]=655, JerseyService [RUNNING]=58701} 2020-09-05T08:51:36.477Z INFO [ServerBootstrap] Graylog server up and running.
На данный момент сервер Graylog запущен и прослушивает порт 9000.
Настройте Nginx в качестве обратного прокси для Graylog
Далее вам нужно будет установить и настроить Nginx в качестве обратного прокси-сервера для доступа к серверу Graylog.
Сначала установите сервер Nginx с помощью следующей команды:
apt-get install nginx -y
После установки сервера Nginx создайте новый файл конфигурации виртуального хоста Nginx с помощью следующей команды:
nano /etc/nginx/sites-available/graylog.conf
Добавьте следующие строки:
server { listen 80; server_name graylog.example.org; location / { proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Graylog-Server-URL http://$server_name/; proxy_pass http://127.0.0.1:9000; } }
Сохраните и закройте файл, когда закончите. Затем проверьте Nginx на наличие синтаксической ошибки с помощью следующей команды:
nginx -t
Вы должны получить следующий результат:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Затем включите файл конфигурации виртуального хоста Nginx с помощью следующей команды:
ln -s /etc/nginx/sites-available/graylog.conf /etc/nginx/sites-enabled/
Наконец, перезапустите службу Nginx, чтобы применить изменения:
systemctl restart nginx
Затем проверьте состояние Graylog с помощью следующей команды:
systemctl status nginx
Вы должны получить следующий результат:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-09-05 09:07:50 UTC; 20s ago Docs: man:nginx(8) Process: 9408 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 9419 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 9423 (nginx) Tasks: 3 (limit: 2353) Memory: 10.2M CGroup: /system.slice/nginx.service ??9423 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ??9424 nginx: worker process ??9425 nginx: worker process Sep 05 09:07:50 ubunt4 systemd[1]: Starting A high performance web server and a reverse proxy server... Sep 05 09:07:50 ubunt4 systemd[1]: Started A high performance web server and a reverse proxy server.
Доступ к веб-интерфейсу Graylog
Теперь откройте веб-браузер и введите URL-адрес http://graylog.example.com. Вы будете перенаправлены на страницу входа в Graylog, как показано ниже:
Укажите имя пользователя и пароль администратора и нажмите кнопку «Войти». Вы должны увидеть панель управления Graylog на следующей странице:
Теперь нажмите Система >> Обзор. Вы должны увидеть статус сервера Graylog на следующей странице:
Заключение
Поздравляем! вы успешно установили и настроили сервер Graylog с Nginx в качестве обратного прокси-сервера в Ubuntu 20.04. Теперь вы можете изучить Graylog и создать вход для получения журналов Rsyslog из внешних источников. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.