Установка Graylog · 8 min read · Nov 19, 2025

Как установить Graylog 4 на Ubuntu 22.04

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

В этом руководстве мы покажем вам, как установить Graylog на сервер Ubuntu 22.04.

Предварительные требования

  • Сервер с установленной Ubuntu 22.04 и минимум 4 ГБ ОЗУ
  • Пароль root настроен на сервере.

Начало работы

Сначала вам нужно обновить пакеты вашей системы до последней версии. Вы можете обновить их все с помощью следующей команды:

apt update -y  
apt upgrade

После обновления всех пакетов вам также нужно будет установить некоторые зависимости на вашем сервере. Вы можете установить их все с помощью следующей команды:

apt install apt-transport-https gnupg2 uuid-runtime pwgen curl dirmngr -y

После установки всех необходимых зависимостей вы можете перейти к следующему шагу.

Установка Java JDK

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

apt install openjdk-11-jre-headless -y

После установки Java вы можете проверить установленную версию Java, выполнив следующую команду:

java -version

Вы должны получить следующий вывод:

openjdk version "11.0.16" 2022-07-19
OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Ubuntu-0ubuntu122.04, mixed mode, sharing)

Когда вы закончите, вы можете перейти к следующему шагу.

Установка и настройка Elasticsearch

Graylog использует Elasticsearch для хранения журналов, поступающих из внешних ресурсов. Поэтому вам нужно будет установить Elasticsearch в вашу систему.

По умолчанию пакет Elasticsearch недоступен в стандартном репозитории Ubuntu. Поэтому вам нужно будет добавить репозиторий Elasticsearch в вашу систему.

Сначала загрузите и добавьте GPG-ключ Elasticsearch с помощью следующей команды:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -

Затем добавьте репозиторий Elasticsearch с помощью следующей команды:

echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

Затем обновите репозиторий и установите Elasticsearch с помощью следующей команды:

apt update -y  
apt 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 Sun 2022-09-25 07:05:27 UTC; 21s ago
       Docs: https://www.elastic.co
   Main PID: 74226 (java)
      Tasks: 48 (limit: 4579)
     Memory: 1.2G
        CPU: 22.739s
     CGroup: /system.slice/elasticsearch.service
             ??74226 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.t>

Sep 25 07:05:11 ubuntu2204 systemd[1]: Starting Elasticsearch...
Sep 25 07:05:27 ubuntu2204 systemd[1]: Started Elasticsearch.

Теперь проверьте ответ Elasticcsearch с помощью следующей команды:

curl -X GET http://localhost:9200

Вы должны получить следующий вывод:

{
  "name" : "ubuntu2204",
  "cluster_name" : "graylog",
  "cluster_uuid" : "6IWBEBx_THa2Gzqb7a1LTQ",
  "version" : {
    "number" : "7.10.2",
    "build_flavor" : "oss",
    "build_type" : "deb",
    "build_hash" : "747e1cc71def077253878a59143c1f785afa92b9",
    "build_date" : "2021-01-13T00:42:12.435326Z",
    "build_snapshot" : false,
    "lucene_version" : "8.7.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Установка сервера MongoDB

Graylog использует MongoDB в качестве базы данных. Поэтому вам нужно будет установить базу данных MongoDB на ваш сервер. По умолчанию пакет MongoDB не включен в стандартный репозиторий Ubuntu. Поэтому вам нужно будет добавить официальный репозиторий MongoDB в вашу систему:

Вы можете добавить его с помощью следующей команды:

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -  
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list

После добавления репозитория обновите кэш репозитория и установите Graylog с помощью следующей команды:

apt update -y  
apt install -y mongodb-org

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

systemctl enable --now mongod

Вы также можете проверить статус MongoDB с помощью следующей команды:

systemctl status mongod

Вы должны увидеть статус MongoDB в следующем выводе:

? mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-09-25 07:20:35 UTC; 8s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 77018 (mongod)
     Memory: 60.0M
        CPU: 936ms
     CGroup: /system.slice/mongod.service
             ??77018 /usr/bin/mongod --config /etc/mongod.conf

Sep 25 07:20:35 ubuntu2204 systemd[1]: Started MongoDB Database Server.

Когда вы закончите, вы можете перейти к следующему шагу.

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

По умолчанию пакет Graylog недоступен в стандартном репозитории Ubuntu. Поэтому вам нужно будет установить репозиторий Graylog на ваш сервер.

Вы можете загрузить пакет репозитория Graylog с помощью следующей команды:

wget https://packages.graylog2.org/repo/packages/graylog-4.3-repository_latest.deb

После завершения загрузки установите загруженный пакет с помощью следующей команды:

dpkg -i graylog-4.3-repository_latest.deb

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

apt update -y  
apt install graylog-server -y

После установки сервера Graylog вам нужно будет сгенерировать секрет для защиты паролей пользователей. Вы можете сгенерировать его с помощью следующей команды:

pwgen -N 1 -s 96

Вы должны увидеть следующий вывод:

d1fDH1NEOMgb3nxbFYY3eVpqzjOprwgPgFuGh2F0flDdZglJP2CxENV4WEeW8iqZXsjDEZgMob3oBvQYm62RXxoc33hKTPJa

Затем вам также нужно будет сгенерировать безопасный пароль для администратора Graylog. Вам нужен будет этот пароль для входа в веб-интерфейс Graylog. Вы можете сгенерировать его с помощью следующей команды:

echo -n "Введите пароль: " && head -1

Вы должны увидеть следующий вывод:

Введите пароль: вашпароль
e472e1436cbe87774c1bc75d0a646d67e506bea1dff8701fd41f34bca33e1419

Теперь отредактируйте основной файл конфигурации Graylog и определите оба пароля:

nano /etc/graylog/server/server.conf

Вставьте оба пароля, которые вы сгенерировали выше, как показано ниже:

password_secret = Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3c
root_password_sha2 = e472e1436cbe87774c1bc75d0a646d67e506bea1dff8701fd41f34bca33e1419   

Затем вам также нужно будет определить адрес привязки вашего сервера, как показано ниже:

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 Sun 2022-09-25 07:25:13 UTC; 10s ago
       Docs: http://docs.graylog.org/
   Main PID: 78082 (graylog-server)
      Tasks: 44 (limit: 4579)
     Memory: 539.4M
        CPU: 18.488s
     CGroup: /system.slice/graylog-server.service
             ??78082 /bin/sh /usr/share/graylog-server/bin/graylog-server
             ??78119 /usr/bin/java -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:-OmitStackTraceInFastThrow -Djdk.tls.acknowledgeC>

Sep 25 07:25:13 ubuntu2204 systemd[1]: Started Graylog server.
Sep 25 07:25:13 ubuntu2204 graylog-server[78119]: OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 a>
Sep 25 07:25:14 ubuntu2204 graylog-server[78119]: WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performan>
Sep 25 07:25:17 ubuntu2204 graylog-server[78119]: WARNING: An illegal reflective access operation has occurred
Sep 25 07:25:17 ubuntu2204 graylog-server[78119]: WARNING: Illegal reflective access by retrofit2.Platform (file:/usr/share/graylog-server/gr>
Sep 25 07:25:17 ubuntu2204 graylog-server[78119]: WARNING: Please consider reporting this to the maintainers of retrofit2.Platform
Sep 25 07:25:17 ubuntu2204 graylog-server[78119]: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access >
Sep 25 07:25:17 ubuntu2204 graylog-server[78119]: WARNING: All illegal access operations will be denied in a future release

Вы также можете проверить журнал сервера Graylog с помощью следующей команды:

tail -f /var/log/graylog-server/server.log

Когда сервер Graylog успешно запустится, вы должны получить следующий вывод:

2022-09-25T07:25:40.117Z INFO  [ServerBootstrap] Services started, startup times in ms: {FailureHandlingService [RUNNING]=73, GeoIpDbFileChangeMonitorService [RUNNING]=88, PrometheusExporter [RUNNING]=88, OutputSetupService [RUNNING]=89, JobSchedulerService [RUNNING]=89, InputSetupService [RUNNING]=90, BufferSynchronizerService [RUNNING]=91, LocalKafkaMessageQueueReader [RUNNING]=92, LocalKafkaMessageQueueWriter [RUNNING]=92, GracefulShutdownService [RUNNING]=93, MongoDBProcessingStatusRecorderService [RUNNING]=93, UserSessionTerminationService [RUNNING]=101, StreamCacheService [RUNNING]=133, LocalKafkaJournal [RUNNING]=134, UrlWhitelistService [RUNNING]=134, ConfigurationEtagService [RUNNING]=137, EtagService [RUNNING]=139, PeriodicalsService [RUNNING]=174, LookupTableService [RUNNING]=203, JerseyService [RUNNING]=4076}
2022-09-25T07:25:40.133Z INFO  [ServerBootstrap] Graylog server up and running.

На этом этапе сервер Graylog запущен и слушает на порту 9000. Вы можете проверить это с помощью следующей команды:

ss -antpl | grep 9000

Вы должны получить следующий вывод:

LISTEN            0                 4096                         [::ffff:127.0.0.1]:9000                                    *:*                users:(("java",pid=78119,fd=56))                                                                                                              

Настройка Nginx как обратного прокси для Graylog

Далее вам нужно будет установить и настроить Nginx как обратный прокси для доступа к серверу Graylog на порту 80.

Сначала установите сервер Nginx с помощью следующей команды:

apt 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://208.117.84.72:9000;
    }

}

Сохраните и закройте файл, когда закончите. Затем проверьте Nginx на наличие синтаксических ошибок с помощью следующей команды:

ginx -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:

rm -rf /etc/nginx/sites-enabled/default

Наконец, перезапустите службу 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 Sun 2022-09-25 07:30:45 UTC; 8s ago
       Docs: man:nginx(8)
    Process: 78980 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 78981 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 78982 (nginx)
      Tasks: 3 (limit: 4579)
     Memory: 3.3M
        CPU: 49ms
     CGroup: /system.slice/nginx.service
             ??78982 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ??78983 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

Sep 25 07:30:45 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server...
Sep 25 07:30:45 ubuntu2204 systemd[1]: Started A high performance web server and a reverse proxy server.

Доступ к веб-интерфейсу Graylog

Теперь откройте ваш веб-браузер и введите URL http://graylog.example.com. Вы будете перенаправлены на страницу входа в Graylog, как показано ниже:

Graylog Login

Введите ваше имя пользователя администратора, пароль и нажмите кнопку Войти. Вы должны увидеть панель управления Graylog на следующей странице:

Graylog dashboard

Заключение

Поздравляем! вы успешно установили и настроили сервер Graylog с Nginx в качестве обратного прокси на Ubuntu 22.04. Теперь вы можете исследовать Graylog и создать вход для получения журналов Rsyslog из внешних источников. Не стесняйтесь задавать мне вопросы.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.