Вернуть старое меню
Бесплатно, 24/7 8 (800) 775-97-42
Country flag RU
Country flag EN
Country flag DE
₽ RUB
$ USD
€ EUR
Выбрать VPS
Маркетплейс
О нас
Сообщество
Поддержка
Баланс:
Бонусы:
Войти
Выйти
Зарегистрироваться
ГОТОВЫЕ ТАРИФЫ
Ref icon
VPS Старт От 139 рублей/мес
Ref icon
VPS Мощные Мощные серверы по выгодной цене
Ref icon
VPS Windows Удобные конфигурации для работы с ОС Windows
Ref icon
VPS Быстрые NVMe Максимальная скорость с промышленными NVMe дисками
Ref icon
VPS Plesk Настройте сервер под себя в несколько кликов
Ref icon
VPS с 1C для бухгалтеров Оптимизированные под 1C серверы
Ref icon
VPS для трейдинга Установите торговые терминалы за 1 клик
Ref icon
VPS для геймеров Мощное железо для мощных рейдов
Ref icon
VPS для бизнеса Настроить любой параметр сервера
Ref icon
Посмотреть все тарифы
Card icon Своя конфигурация
Удобный конфигуратор позволит вам настроить любой параметр сервера, а мы предложим за него лучшую цену.
Собрать
Card icon Бесплатный тест на 3 дня
Только для новых пользователей. Возьмите на тест любой сервер до 3000 рублей, проверьте приложения и программы, установив их на VPS.
Попробовать
АККАУНТ Мои серверы Домены Заказать Настройки Партнеру
КЛИЕНТАМ
О компании Входим в топ-15 IAAS в России
Дата-центры 17 ЦОД уровня Tier III в 7 странах
Аттестация по ФСТЭК Поможем с гос. лицензированием
Бонусная программа Накопительная система лояльности
Card icon Пинг до дата-центров
Измерьте ping от вас до всех наших дата-центров. Мы подберем тот, который подходит для вас идеально.
Измерить
Card icon Бесплатный тест на 3 дня
Только для новых пользователей. Возьмите на тест любой сервер до 3000 рублей, проверьте приложения и программы, установив их на VPS.
Попробовать
АККАУНТ Мои серверы Домены Заказать Настройки Партнеру
КЛИЕНТАМ
Справочник Пошаговые инструкции, как настроить VPS
FAQ Частые вопросы о настройке VPS и сервисе
Новости и события Новости сервиса, информация о событиях и спецпроектах компании
Card icon Соцсети
Наш блог на Хабре, выступления, новости компании.
Присоединиться
Card icon Бесплатный тест на 3 дня
Только для новых пользователей. Возьмите на тест любой сервер до 3000 рублей, проверьте приложения и программы, установив их на VPS.
Попробовать
АККАУНТ Мои серверы Домены Заказать Настройки Партнеру
Бесплатно, 24/7 8 (800) 775-97-42
Mobile menu button
Выбрать VPS
Mobile card icon
Своя конфигурация Удобный конфигуратор позволит вам настроить любой параметр сервера, а мы предложим за него лучшую цену.
Собрать
Ref icon
VPS Старт От 139 рублей/мес
Ref icon
VPS Мощные Мощные серверы по выгодной цене
Ref icon
VPS Windows Удобные конфигурации для работы с ОС Windows
Ref icon
VPS Быстрые NVMe Максимальная скорость с промышленными NVMe дисками
Ref icon
VPS Plesk Настройте сервер под себя в несколько кликов
Ref icon
VPS с 1C для бухгалтеров Оптимизированные под 1C серверы
Ref icon
VPS для трейдинга Установите торговые терминалы за 1 клик
Ref icon
VPS для геймеров Мощное железо для мощных рейдов
Ref icon
VPS для бизнеса Настроить любой параметр сервера
Ref icon
Посмотреть все тарифы
Ref icon
Бесплатный тест на 3 дня
Маркетплейс
О нас
Mobile card icon
Пинг до дата-центров Измерьте ping от вас до всех наших дата-центров. Мы подберем тот, который подходит для вас идеально.
Измерить
О компании Входим в топ-15 IAAS в России
Дата-центры 17 ЦОД уровня Tier III в 7 странах
Аттестация по ФСТЭК Накопительная система лояльности
Бонусная программа Накопительная система лояльности
Сообщество
Mobile card icon
Соцсети Наш блог на Хабре, выступления, новости компании.
Присоединиться
Справочник Пошаговые инструкции, как настроить VPS
FAQ Частые вопросы о настройке VPS и сервисе
Новости и события Новости сервиса, информация о событиях и спецпроектах компании
Поддержка
Country flag RU
Country flag EN
Country flag DE
₽ RUB
$ USD
€ EUR
Войти
Зарегистрироваться
Личный кабинет
Мои серверы
Домены
Баланс: Бонусы:
Заказать
Настройки
Партнеру
Выйти
Мои серверы
Домены
Заказать
Настройки
Партнеру
  • ВЫБРАТЬ VPS
  • ДАТА-ЦЕНТРЫ
  • СПРАВОЧНИК
  • ПОДДЕРЖКА
  • ВОЙТИ
RuVDS/Справочник/Настройка VPS Сервера/Как централизовать логи с помощью Journald в Ubuntu 20.04

Как централизовать логи с помощью Journald в Ubuntu 20.04

2341 просмотров 1 2021-02-17 2021-02-24

Одним из важных компонентов в системах Linux являются системные журналы работы. Они наполняются важной информацией о работе системы, ее состоянии, наличии ошибок, критических сбоях, состоянии безопасности. Системы Linux, как правило, хранят журналы локально. Но такой метод совершенно не пригоден для кластерных систем. Для этого целесообразней использовать централизованный сервер журналирования, на который каждый сервер (хост) Linux будет пересылать свои данные в реальном времени. Централизованное администрирование экономит дисковое пространство на серверах, т.к. логирование переносится на специально отведенный сервер. Соответственно дисковое пространство на центральном сервере должно быть большей емкости. Журналы логирования централизованы, а значит доступ к ним предоставляется определенному кругу лиц из числа ИТ персонала, которые не могут войти напрямую на сервера из соображений безопасности. Рассмотрим, как централизовать логи с помощью Journald в Ubuntu 20.04. Нам необходимо произвести установку и настройку этого компонента как на клиентской, так и на серверной части оборудования.

Для осуществления поставленной цели необходимо иметь два настроенных хоста Ubuntu 20.04 (конфигурцаию будем производить со включенным брандмауэром UFW на обоих хостах).

И так начнем. Зайдем на наши настроенные хосты под Ubuntu 20.04 под разными терминальными сессиями через SSH. Присвоим условные имена server.domain (далее сервер) и client.domain (далее клиент).

Устанавливаем systemd-journal-remote

Необходимо уставить пакет systemd-journal-remote на наших хостах. В нем содержатся все те компоненты, которые будут использованы для передачи информации о работе оборудования.

Обновим систему на client.domain и на server.domain:

$ sudo apt update
$ sudo apt upgrade

Этот пакет systemd-journal-remote необходимо инсталлировать на client.domain и server.domain:

$ sudo apt install systemd-journal-remote

После установки пакета, необходимо включить и запустить некоторые основные компоненты systemd, нужные для полноценной централизованной работы сервера журналирования:

$ sudo systemctl enable --now systemd-journal-remote.socket
$ sudo systemctl enable systemd-journal-remote.service

Первая команда с параметром now запускает службу systemd-journal-remote.socket немедленно.

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

Теперь на клиенте после установки необходимо включить компонент systemd, необходимый для передачи лог-журналов на сервер централизации.

$ sudo systemctl enable systemd-journal-upload.service

Далее, нам необходимо на сервере server.domain открыть порты 80 и 19532  в UFW для получения логов от клиента client.domain. Порт 80 используются для формирования TLS-сертификата. Откроем необходимые нам порты:

$ sudo ufw allow in 19532/tcp
$ sudo ufw allow in 80/tcp

На клиентском хосте выполним следующую команду для открытия порта 80:

$ sudo ufw allow in 80/tcp

На этом этапе необходимые начальные настройки компонентов на клиентской и серверной части произведены. Но прежде чем продолжить настройку компонентов для передачи и получения логов, необходимо настроить TLS-сертификаты от Let’s Encrypt для хостов client.domain и server.domain. Используем утилиту Certbot.

Устанавливаем Certbot

Let’s Encrypt — это ЦС, предназначенный для выдачи бесплатных TLS-сертификатов. Сертификаты позволят нашим хостам шифровать трафик и проверять подлинность друг друга и осуществлять защиту данных по средствам протокола HTTPS.

Сервис Certbot позволяет регистрировать сертификаты, обновляет их по истечении сроков действия.  Регистрировать сертификаты мы будет на каждом из наших хостов. Именование хоста при регистрации должно соответствовать действенному имени узла, на котором проходит регистрация.

Для установки Certbot будем использовать так называемые snap пакеты. Для этого, и на server.domain, и на client.domain нужно установить snap:

$ sudo apt update
$ sudo apt install snapd

Установку Certbot также осуществляем на обоих наших хостах:

$ sudo snap install --classic certbot

И ещё одной командой необходимо подготовить установленный пакет к работе:

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

После установки Certbot, производим регистрацию сертификатов на наших хостах. Используем следующую команду:

$ sudo certbot certonly --standalone --agree-tos --email my_email@my_domain -d my_domain

Параметры в команде означают следующее:

  • certonly: регистрация сертификата без изменений.
  • standalone: проверка запроса встроенным сервером Certbot.
  • agree-tos: соглашение с условиями Let’s Encrypt.
  • my_email@my_domain: электронная почта для получения необходимых служебных уведомлений.
  • my_domain: именование узла, для которого выделяется TLS-сертификат. Это значение должно  соответствовать системе, в которой запускается команда.

После завершения процесса регистрации сертификата, файлы будут располагаться в каталоге /etc/letsencrypt/live/domain/ (где domain – имя узла, который зарегистрирован в сертификате).

Устанавливаем сертификат

Для проверки подлинности сертификатов наших хостов, необходимо загрузить файлы ЦС Let’s Encrypt. После загрузки, поместим их в один файл, который будет осуществлять проверку подлинности сертификатов наших хостов при передачи лог-информации от клиента серверу.

Загрузим сертификаты с веб-сайта Let’s Encrypt и запишем в один файл letsencrypt-comdated-certs.pem. Располагаться он будет в каталоге /home:

$ curl -s https://letsencrypt.org/certs/{isrgrootx1.pem.txt,letsencryptauthorityx3.pem.txt} > ~/letsencrypt-combined-certs.pem

После загрузки и объединения сертификатов в один файл, переместим его в папку Let’s Encrypt. Используем следующую команду на наших хостах:

$ sudo cp ~/letsencrypt-combined-certs.pem /etc/letsencrypt/live/domain/

На этом этапе регистрация необходимых сертификатов и ключей завершена. Теперь необходимо произвести настройки основного сервера, на котором осуществляется централизованный сбор и хранение лог-журналов, чтобы он мог работать с нашим клиентом.

Приступим к настройке сервера

Чтобы наш сервер начал получать лог-журналы от клиентского хоста,  необходимо настроить поддержку сертификатов и ключей.

systemd-journal-remote — это компонент, который слушает сообщения логов. Внесем некоторые изменения в файл конфигурации /etc/systemd/journal-remote.conf:

$ sudo nano /etc/systemd/journal-remote.conf

Необходимо снять комментарий со всех строк в разделе [Remote] и указать соответствующие пути на каталог размещения TLS-сертификатов:

/etc/systemd/journal-remote.conf - Как централизовать логи с помощью Journald в Ubuntu 20.04

Немного конкретики по используемым опциям:

  • Seal=false: отвечает за идентификацию данных в лог-журнале. Включение данного параметра обеспечивает максимальную безопасность, иначе можно использовать ключ false;
  • SplitMode=host: лог-журналы будут храниться раздельно по каждому хосту  в /var/log/journal/remote. Иначе можно использовать значение false, чтобы все логи собирались в один файл;
  • ServerKeyFile: каталог, в котором расположен файл закрытого ключа сервера централизации;
  • ServerCertificateFile: директория, в которой расположен файл сертификата сервера централизации;
  • TrustedCertificateFile: каталог, в котором содержатся сертификаты Let’s Encrypt.

Выйдем из редактирования конфигурационного файла с сохранением.

Предоставить сервису systemd-journal-remote  права, для осуществления необходимого функционала. Разрешим чтение и выполнение:

$ sudo chmod 0755 /etc/letsencrypt/{live,archive}

– эти права дают возможность пользователю читать и запускать на выполнение, владелец может редактировать;

$ sudo chmod 0640 /etc/letsencrypt/live/server.domain/privkey.pem

– эти права дают возможность владельцу чтения и записи, группе только чтение.

Назначим группе systemd-journal-remote права на владение закрытым ключом:

$ sudo chgrp systemd-journal-remote /etc/letsencrypt/live/server.domain/privkey.pem

Теперь запустим службу на сервере systemd-journal-remote:

$ sudo systemctl start systemd-journal-remote.service

Настройки сервера завершены. На данном этапе server.domain готов к приему сообщений от client.domain.

Перейдем к настройке клиента, для того чтобы он смог передавать информацию на сервер.

Приступим к настройке клиента

На клиенте используется компонент systemd-journal-upload, который отвечает за передачу сообщений на сервер.

Для полноценного функционирования компонента systemd-journal-upload, необходимо создать системного пользователя с именем system:

$ sudo adduser --system --home /run/systemd --no-create-home --disabled-login --group systemd-journal-upload

Разберем используемую команду:

  • --system: создаем пользователя с идентификатором UID ниже 1000.
  • --home /run/systemd: указываем домашний каталог для системного пользователя /run/systemd.
  • --no-create-home: данный параметр позволяет отключить создание домашних каталогов для нашего системного пользователя.
  • --disabled-login: отключение входа в нашей системе для системного пользователя (доступ по  SSH).
  • --group: создание группы system.

Необходимо установить права на файлы сертификатов Let’s Encrypt:

$ sudo chmod 0755 /etc/letsencrypt/{live,archive}

– эти права дают возможность на чтение и выполнение пользователю, а владельцу право на редактирование.

$ sudo chmod 0640 /etc/letsencrypt/live/client.domain/privkey.pem

– эти права дают возможность владельцу право на чтение и запись, группе только чтение.

Назначим группе systemd-journal-upload право на владение закрытым ключом:

$ sudo chgrp systemd-journal-upload /etc/letsencrypt/live/client.domain/privkey.pem

Редактирует файл конфигурации /etc/systemd/journal-upload.conf:

$ sudo nano /etc/systemd/journal-upload.conf

Приводим к следующему виду:

/etc/systemd/journal-upload.conf - Как централизовать логи с помощью Journald в Ubuntu 20.04

Перезапускаем сервис systemd-journal-upload, для того, чтобы применить измененную конфигурацию:

$ sudo systemctl restart systemd-journal-upload.service

Настройки клиента завершены. Теперь он может передавать сообщения лог-файлов на сервер-централизации. Осталось провести проверку на работоспособность произведенных настроек.

Тестирование системы централизованного логирования

Централизованный сервер логирования хранит информацию хост-клиентов в каталоге /var/log/journal/remote/. После перезапуска клиента client.domain он уже передал сообщения логов. Имя файла в каталоге должно совпадать с используемым именем  хоста, зарегистрированным в TLS-сертификате.

Проверим наличие лог-файла на сервер. Для этого введем команду ls -la:

$ sudo ls -la /var/log/journal/remote/

Результат выполнения команды:

sudo ls -la /var/log/journal/remote/

Для проверки регистрации событий на сервере, используем утилиту logger. Если все работает правильно, то  systemd-journal-upload отправит сообщение на сервер-централизации.

Введем следующую команду на client.domain:

$ sudo logger -p syslog.debug “test message from client.domain”

В этой команде параметр -p syslog.debug устанавливает субъекта (syslog) и уровень важности сообщения (debug). Указывая syslog.debug, мы отправим тестовое сообщение.

Этой командой мы запишем сообщение “test message from client.domain” в лог-файл хост-клиента. В свою очередь сервис systemd-journal-upload отправит ее на сервер централизации.

После выполнения команды, проверим правильность записи лог-файла клиента на сервере. Прочитать лог-файл можно только компонентом journalctl с ключом -file:

$ sudo journalctl --file=/var/log/journal/remote/remote-CN=client.domain.journal

Мы получим следующее сообщение:

sudo journalctl --file=/var/log/journal/remote/remote-CN=client.domain.journal

Сервер исправно получил данные от клиента.

Сделаем вывод. Все настройки, которые мы применили в организации нашей системы централизованного хранения и передачи лог-файлов, исправно работают и могут быть применимы в проектах. Наш сервер централизации прекрасно сопряжен с хост-клиентом и может благополучно принимать и хранить лог-журналы.

Статья полезна?

1 Да  Нет
Похожие статьи
  • Как добавить русский язык в Windows Server 2019/2022
  • Двухфакторная аутентификация с использованием одноразовых паролей
  • Как настроить PTR-записи для домена
  • Как в Linux закрыть доступ для пользователей без пароля
  • Защита SSH-подключения
  • Общая безопасность виртуального сервера
Оставить комментарий Отменить ответ

Популярные статьи
  • Как подключиться по RDP из-под MacOS
  • Как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04
  • Управление портами в Linux (Ubuntu/Debian/CentOS)
  • Настройка VPN с использованием WireGuard
  • Как извлекать и разархивировать файлы .tar.gz в Linux-системах
Разделы Справочника
  • Настройка VPS Сервера
  • Начало работы
  • Особенности виртуального сервера
  • Партнерам
  • Развертывание ПО на VPS сервере
  • Сетевые настройки сервера
GAME OVERNIGHT
CLOUDRUSSIA
STRATONET
SPACE DC
ARCTIC DC
VPS/VDS серверы:
Тестовый период
Дешевый VPS
VPS Старт
VPS Мощные
VPS Windows
VPS Быстрые NVMe
VPS с 1C
Форекс VPS
Игровые серверы
VPS для бизнеса
Пинг до дата-центров
Услуги:
Маркетплейс
Панель ispmanager
Антивирусная защита
Аренда лицензий
Облачное хранилище
VPS серверы с Plesk Obsidian
Колокация
Looking Glass
DNS
Клиентам:
О компании
Дата-Центры
Новости
Аттестация по ФСТЭК
Бонусная программа
Публичная Оферта
Соглашение об уровне услуг
Политика обработки персональных данных
Сувениры от RuVDS
Партнерам:
Для прессы
Партнерская программа
Отзывы
API
Помощь:
Справочник
FAQ
Созданных
серверов
231504
Huawey
Supermicro
Cisco
Intel
Microsoft
ISP
Kaspersky
RDCA Logo

«Креатив года» Премия ЦОДы.рф 2021, 2025

RDCA Logo

«Хостер года» Премия ЦОДы.рф 2023

RDCA Logo

«Человек года» Премия ЦОДы.рф 2024

RuVDS
support@RUVDS.com
8 (800) 775-97-42
+7 (495) 135-10-99
МЫ В СОЦИАЛЬНЫХ СЕТЯХ
Copyright © 2025 RuVDS. Все права защищены.
ООО "МТ ФИНАНС" | ОГРН 1157746680332
Оставить отзыв

Условия получения бонуса за оставленный отзыв:

  1. Напишите про нас на любом из специализированных сайтах для отзывов.
  2. Пришлите нам текст отзыва и ссылку на ваш отзыв.
  3. После проверки, мы опубликуем ваш отзыв у нас на сайте и также начислим бонус на ваш баланс.
Strong Testimonials form submission spinner.

Обязательное поле

Укажите электронную почту вашего аккаунта RUVDS
Укажите ссылку на ваш отзыв
rating fields
Поставьте оценку серверам RUVDS
Оставить отзыв
Strong Testimonials form submission spinner.

Обязательное поле

Укажите электронную почту вашего аккаунта RUVDS
Укажите ссылку на ваш отзыв
rating fields
Поставьте оценку серверам RUVDS