Сервер логирования Journald: различия между версиями
PastorDi (обсуждение | вклад) Новая страница: «==Сервер логирования Journald== Централизованный сервер логов может помочь с анализом событий на компьютерах в вашей инфраструктуре. Настроить их сбор с журналов можно разными способами, проверенный способ через rsyslog и новый сопособ с помощью journald. Journald вх...» |
PastorDi (обсуждение | вклад) Нет описания правки |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 1: | Строка 1: | ||
Journald — это компонент системы инициализации Systemd, отвечающий за сбор и хранение журналов (логов) системы и служб в системе Rosa Linux | |||
==Сервер логирования Journald== | ==Сервер логирования Journald== | ||
Централизованный сервер логов может помочь с анализом событий на компьютерах в вашей инфраструктуре. Настроить их сбор с журналов можно разными способами, проверенный способ через rsyslog и новый сопособ с помощью journald. Journald входит в состав systemd. | Централизованный сервер логов может помочь с анализом событий на компьютерах в вашей инфраструктуре. Настроить их сбор с журналов можно разными способами, проверенный способ через rsyslog и новый сопособ с помощью journald. Journald входит в состав systemd. | ||
Строка 76: | Строка 78: | ||
===Настройка systemd-journal-upload на клиентах=== | ===Настройка systemd-journal-upload на клиентах=== | ||
Пропишем в /etc/hosts наш сервер на обеих клиентах: | Пропишем в /etc/hosts наш сервер на обеих клиентах: | ||
192.168.1.15 rosaserver | |||
Создадим директорию для сертификата | |||
mkdir /etc/pki/tls/ca | |||
ln -s /etc/pki/tls/ca /etc/ssl/ca | |||
Остальные директории и ссылки /etc/ssl/certs и /etc/ssl/private уже созданы. | |||
Заходим еще раз на сервер. Копируем ключи и сертификаты для первого клиента по ssh. | |||
scp /etc/ssl/ca/caserver.pem root@192.168.1.111:/etc/ssl/ca/ | |||
scp /etc/ssl/private/rosaserver1.pem root@192.168.1.111:/etc/ssl/private/ | |||
scp /etc/ssl/certs/rosaserver1.key root@192.168.1.111:/etc/ssl/certs/ | |||
Заходим еще раз на сервер. Копируем ключи и сертификаты для второго клиента по ssh. | |||
scp /etc/ssl/ca/caserver.pem root@192.168.1.232:/etc/ssl/ca/ | |||
scp /etc/ssl/private/rosaserver2.pem root@192.168.1.232:/etc/ssl/private/ | |||
scp /etc/ssl/certs/rosaserver2.key root@192.168.1.232:/etc/ssl/certs/ | |||
На первом клиенте даем нужные права: | |||
chmod 644 /etc/ssl/certs/rosaserver1.key | |||
chmod 644 /etc/ssl/private/rosaserver1.pem | |||
На втором клиенте даем нужные права: | |||
chmod 644 /etc/ssl/certs/rosaserver2.key | |||
chmod 644 /etc/ssl/private/rosaserver2.pem | |||
Приводим файл конфигурации первого клиента к такому виду: | |||
<pre> | |||
[Upload] | |||
URL=https://rosaserver:19532 | |||
ServerKeyFile=/etc/ssl/certs/rosaserver1.key | |||
ServerCertificateFile=/etc/ssl/private/rosaserver1.pem | |||
TrustedCertificateFile=/etc/ssl/ca/caserver.pem | |||
</pre> | |||
Приводим файл конфигурации второго клиента к такому виду: | |||
<pre> | |||
[Upload] | |||
URL=https://rosaserver:19532 | |||
ServerKeyFile=/etc/ssl/certs/rosaserver2.key | |||
ServerCertificateFile=/etc/ssl/private/rosaserver2.pem | |||
TrustedCertificateFile=/etc/ssl/ca/caserver.pem | |||
</pre> | |||
'''Запуск логирования Journald''' | |||
На сервере запускаем: | |||
systemctl start systemd-journal-gatewayd.service | |||
systemctl start systemd-journal-remote.service | |||
На обеих клиентах: | |||
systemctl start systemd-journal-gatewayd.service | |||
systemctl start systemd-journal-upload.service | |||
==Проверка работы сервера логов Journald== | |||
Для чтения собственных логов самого сервера: | |||
journalctl | |||
Для чтения логов с удаленных клиентов: | |||
journalctl -D /var/log/journal/remote | |||
Для проверик лога с удаленного сервера сделаем следующее. Зайдем на клента 2, т.е. на rosaserver2 и дадим команду: | |||
logger -p syslog.debug "### TEST-2 MESSAGE from client rosaserver2 ###" | |||
Зайдем на наш сервер и посмотрим, как данная запись с удаленного клиента rosaserver2 отразилась в журнале на нашем сервере | |||
Логи с удаленных серверов будет хранится в <code>/var/log/journal/remote</code> по имени хоста | |||
[[Категория:Сервер]] |
Текущая версия от 17:43, 23 апреля 2025
Journald — это компонент системы инициализации Systemd, отвечающий за сбор и хранение журналов (логов) системы и служб в системе Rosa Linux
Сервер логирования Journald
Централизованный сервер логов может помочь с анализом событий на компьютерах в вашей инфраструктуре. Настроить их сбор с журналов можно разными способами, проверенный способ через rsyslog и новый сопособ с помощью journald. Journald входит в состав systemd.
Мы разберем использование journald. В качестве сервера и клиентов могут выступать различные системы на базе Linux.
В systemd предусмотрены специальные компоненты для решения этой задачи: systemd-journal-remote, systemd-journal-upload и systemd-journal-gatewayd.
Установка сервера логирования Journald
Для примера будем использовать 3 разных хоста:
- rosaserver - это сервер логирования journald
- rosaserver1 - это первый клиент (сервер/десктоп)
- rosaserver2 - это второй клиент (сервер/десктоп)
Для работы потребуется пакет systemd-journal-gateway. Устанавливаем его на все 3 наших хоста.
dnf install systemd-journal-gateway
Настройка сервера логирования Journald
Разделим настройку на 2 части. В первой части настраивать будем сам сервер с именем хоста: rosaserver
Во второй части настроим 2 наших клиента (сервера/десктопа) c именами хостов/ip: rosaserver1/192.168.1.111
и rosaserver2/192.168.1.232
Настройка systemd-jourunal-remote на сервере
Пропишем в /etc/hosts
наши клиенты:
192.168.1.111 rosaserver1 192.168.1.232 rosaserver2
Все журналы с клиентов будут хранится в /var/log/journal/remote
, создадим эту директорию:
mkdir -p /var/log/journal/remote
Дадим права на этут папку:
chown systemd-journal-remote:systemd-journal-remote /var/log/journal/remote
Создадим директорию для сертификата
mkdir /etc/pki/tls/ca ln -s /etc/pki/tls/ca /etc/ssl/ca
Остальные директории и ссылки /etc/ssl/certs и /etc/ssl/private уже созданы.
Генерируем ключ сервера:
openssl req -newkey rsa:2048 -days 3650 -x509 -nodes -out /etc/ssl/ca/caserver.pem -keyout /etc/ssl/ca/caserver.key -subj '/CN=Certificate authority/' Генерируем сертификаты для сервера. CN - SERVER должно совпадать с именем хоста сервера, в нашем случае /CN=rosaserver
openssl req -newkey rsa:2048 -nodes -out /etc/ssl/certs/rosaserver.csr -keyout /etc/ssl/certs/rosaserver.key -subj "/CN=rosaserver/" openssl x509 -req -in /etc/ssl/certs/rosaserver.csr -CA /etc/ssl/ca/caserver.pem -CAkey /etc/ssl/ca/caserver.key -out /etc/ssl/private/rosaserver.pem
Генерируем сертификаты для клиента 1. CN - CLIENT должно совпадать с именем хоста клиента, в нашем случае /CN=rosaserver1
openssl req -newkey rsa:2048 -nodes -out /etc/ssl/certs/rosaserver1.csr -keyout /etc/ssl/certs/rosaserver1.key -subj "/CN=rosaserver1/" openssl x509 -req -in /etc/ssl/certs/rosaserver1.csr -CA /etc/ssl/ca/caserver.pem -CAkey /etc/ssl/ca/caserver.key -out /etc/ssl/private/rosaserver1.pem
Генерируем сертификаты для клиента 2. CN - CLIENT должно совпадать с именем хоста клиента, в нашем случае /CN=rosaserver2
openssl req -newkey rsa:2048 -nodes -out /etc/ssl/certs/rosaserver2.csr -keyout /etc/ssl/certs/rosaserver2.key -subj "/CN=rosaserver2/" openssl x509 -req -in /etc/ssl/certs/rosaserver2.csr -CA /etc/ssl/ca/caserver.pem -CAkey /etc/ssl/ca/caserver.key -out /etc/ssl/private/rosaserver2.pem
Сгенерированные ключи и сертификаты для сервера уже лежат на месте. Остается скопировать ключи и сертификаты для клиентов.
На сервере даем нужные права:
chmod 644 /etc/ssl/certs/rosaserver.key chmod 644 /etc/ssl/private/rosaserver.pem
Правим файл конфигурации /etc/systemd/journal-remote.conf
Приводим файл конфигурации к такому виду:
[Remote] Seal=false SplitMode=host ServerKeyFile=/etc/ssl/certs/rosaserver.key ServerCertificateFile=/etc/ssl/private/rosaserver.pem TrustedCertificateFile=/etc/ssl/ca/caserver.pem
Записываем его и выходим.
Настройка systemd-journal-upload на клиентах
Пропишем в /etc/hosts наш сервер на обеих клиентах:
192.168.1.15 rosaserver
Создадим директорию для сертификата
mkdir /etc/pki/tls/ca ln -s /etc/pki/tls/ca /etc/ssl/ca
Остальные директории и ссылки /etc/ssl/certs и /etc/ssl/private уже созданы.
Заходим еще раз на сервер. Копируем ключи и сертификаты для первого клиента по ssh.
scp /etc/ssl/ca/caserver.pem root@192.168.1.111:/etc/ssl/ca/ scp /etc/ssl/private/rosaserver1.pem root@192.168.1.111:/etc/ssl/private/ scp /etc/ssl/certs/rosaserver1.key root@192.168.1.111:/etc/ssl/certs/
Заходим еще раз на сервер. Копируем ключи и сертификаты для второго клиента по ssh.
scp /etc/ssl/ca/caserver.pem root@192.168.1.232:/etc/ssl/ca/ scp /etc/ssl/private/rosaserver2.pem root@192.168.1.232:/etc/ssl/private/ scp /etc/ssl/certs/rosaserver2.key root@192.168.1.232:/etc/ssl/certs/
На первом клиенте даем нужные права:
chmod 644 /etc/ssl/certs/rosaserver1.key chmod 644 /etc/ssl/private/rosaserver1.pem
На втором клиенте даем нужные права:
chmod 644 /etc/ssl/certs/rosaserver2.key chmod 644 /etc/ssl/private/rosaserver2.pem
Приводим файл конфигурации первого клиента к такому виду:
[Upload] URL=https://rosaserver:19532 ServerKeyFile=/etc/ssl/certs/rosaserver1.key ServerCertificateFile=/etc/ssl/private/rosaserver1.pem TrustedCertificateFile=/etc/ssl/ca/caserver.pem
Приводим файл конфигурации второго клиента к такому виду:
[Upload] URL=https://rosaserver:19532 ServerKeyFile=/etc/ssl/certs/rosaserver2.key ServerCertificateFile=/etc/ssl/private/rosaserver2.pem TrustedCertificateFile=/etc/ssl/ca/caserver.pem
Запуск логирования Journald
На сервере запускаем:
systemctl start systemd-journal-gatewayd.service systemctl start systemd-journal-remote.service
На обеих клиентах:
systemctl start systemd-journal-gatewayd.service systemctl start systemd-journal-upload.service
Проверка работы сервера логов Journald
Для чтения собственных логов самого сервера:
journalctl
Для чтения логов с удаленных клиентов:
journalctl -D /var/log/journal/remote
Для проверик лога с удаленного сервера сделаем следующее. Зайдем на клента 2, т.е. на rosaserver2 и дадим команду:
logger -p syslog.debug "### TEST-2 MESSAGE from client rosaserver2 ###"
Зайдем на наш сервер и посмотрим, как данная запись с удаленного клиента rosaserver2 отразилась в журнале на нашем сервере
Логи с удаленных серверов будет хранится в /var/log/journal/remote
по имени хоста