Добавление сообщений в файлы системного журнала Linux вручную
Файл журнала — это файл, содержащий набор записей (или список событий), зарегистрированных самой системой. Используя файлы журналов, системный администратор может отслеживать, что произошло в определенный день или время. В основном файлы журналов используются администраторами для устранения неполадок. Файлы журналов создаются автоматически и сохраняются в общем каталоге — /var/log/
. Мы также можем вручную добавлять сообщения в файлы системного журнала Linux. Например, после настройки сервера журналов вы можете проверить, правильно ли работает сервер журналов. Для этого мы можем вручную добавить некоторые записи в файлы журналов, чтобы протестировать сервер журналов. Вот тут-то и пригодится команда logger.
Добавление сообщений в файлы системного журнала Linux с помощью команды Logger
Команда logger является частью пакета util-linux, поэтому не утруждайте себя ее установкой. Позвольте мне показать вам несколько примеров команд logger
.
Добавлять записи в файлы системного журнала вручную очень просто! Типичное использование команды logger
:
logger <message-to-add>
Пример:
logger Welcome to OSTechNix
Приведенная выше команда добавит запись 'Добро пожаловать в OSTechNix' в файлы системного журнала.
Проверим, добавилось ли сообщение или нет, с помощью команды tail
:
tail -l /var/log/syslog
Пример вывода:
Jan 31 07:19:23 ubuntuserver systemd[1705]: Listening on REST API socket for snapd user session agent.
Jan 31 07:19:23 ubuntuserver systemd[1705]: Listening on GnuPG network certificate management daemon.
Jan 31 07:19:23 ubuntuserver systemd[1705]: Listening on GnuPG cryptographic agent and passphrase cache.
Jan 31 07:19:23 ubuntuserver systemd[1705]: Reached target Sockets.
Jan 31 07:19:23 ubuntuserver systemd[1705]: Reached target Timers.
Jan 31 07:19:23 ubuntuserver systemd[1705]: Reached target Basic System.
Jan 31 07:19:23 ubuntuserver systemd[1]: Started User Manager for UID 1000.
Jan 31 07:19:23 ubuntuserver systemd[1705]: Reached target Default.
Jan 31 07:19:23 ubuntuserver systemd[1705]: Startup finished in 298ms.
Jan 31 07:33:14 ubuntuserver sk: Welcome to OSTechNix
Добавление сообщений в файлы системного журнала Linux с помощью команды Logger
Как вы видите в выводе, данное сообщение было добавлено в файл системного журнала.
Внимание:
Различные операционные системы Linux хранят сообщения журнала в разных файлах. Я предлагаю вам заглянуть в каталог /var/log/
, чтобы узнать, в каких файлах хранятся логи. В системах на базе RPM, таких как CentOS, общие сообщения журнала будут храниться в файле /var/log/messages
вместо /var/log/. файл системного журнала
.
Вы также можете добавлять сообщения, заключая их в одинарные или двойные кавычки.
logger "Welcome to OSTechNix blog"
Или,
logger 'Howdy, Welcome to OSTechNix blog'
Проверьте, были ли добавлены записи в файл системного журнала, с помощью команды tail
:
$ tail -l /var/log/syslog
[...]
Jan 31 07:40:02 ubuntuserver sk: Welcome to OSTechNix blog
Jan 31 07:40:31 ubuntuserver sk: Howdy, Welcome to OSTechNix blog
Добавить PID регистратора в системные журналы
Мы даже можем регистрировать PID процесса регистрации в каждой строке, используя флаг -i
, как показано ниже.
logger -i 'Howdy, Welcome to OSTechNix blog'
Проверьте сообщения журнала с помощью команды tail
:
$ tail -l /var/log/syslog
[...]
Jan 31 07:49:22 ubuntuserver sk[1879]: Howdy, Welcome to OSTechNix blog
Здесь 1879
— это идентификатор процесса регистратора.
Добавляйте теги к сообщениям
Как вы могли заметить из приведенных выше результатов, вновь добавленные записи помечаются именем пользователя, вошедшего в систему в данный момент, то есть sk. Тег по умолчанию — это имя пользователя, вошедшего в систему на терминале. Однако мы можем пометить каждую строку для регистрации определенным тегом, используя флаг -t
.
logger -i -t ostechnix 'Howdy, Welcome to OSTechNix blog'
Проверьте записи журнала:
$ tail -l /var/log/syslog
[...]
Jan 31 07:54:02 ubuntuserver ostechnix[1881]: Howdy, Welcome to OSTechNix blog
Видеть? последняя запись помечена тегом ostechnix, а ее идентификатор процесса — 1881
.
Добавлять сообщения из файла в файлы журналов
Также возможно добавлять записи из файла в файлы системного журнала.
Давайте создадим образец текстового файла.
echo "This is test file" > file.txt
$ cat file.txt
This is test file
Теперь добавьте содержимое file.txt
в файлы системного журнала с помощью команды:
logger -f file.txt
Проверьте файлы журналов:
tail -l /var/log/syslog
[...]
Jan 31 08:43:06 ubuntuserver sk: This is test file
Если во входном файле есть пустые строки, вы можете исключить их из добавления в файлы журналов, используя флаг -e
, как показано ниже.
logger -e -f file.txt
Записывать сообщения с приоритетом
Можно регистрировать сообщения с заданным приоритетом.
logger "Welcome To OSTechNix" --priority user.warning
Приоритет по умолчанию — 'user.notice
'. См. справочную страницу регистратора, чтобы узнать все доступные параметры приоритета.
Перенос данных со стандартного ввода и сообщений в системные журналы.
Мы можем передать входные данные со стенда и отправить их в системный журнал с помощью команды:
echo "Welcome to OSTechNix" | logger
Отправлять сообщения на удаленный сервер журналов
Чтобы отправить сообщения на удаленный сервер системного журнала, работающий на определенном порту, выполните:
logger "Welcome to OSTechNix" --server <hostname-or-ip> --port <port-no>
Или,
logger "Welcome to OSTechNix" -n <hostname-or-ip> -p <port-no>
Номер порта по умолчанию — 514
.
Ограничьте размер сообщений
Мы можем установить максимально разрешенный размер сообщения, используя флаг --size
.
logger --size 5 abcdefghijklmnopqrswxyz
Проверьте размер сообщения журнала:
$ tail -l /var/log/syslog
[...]
Jan 31 09:09:02 ubuntuserver sk: abcde
По умолчанию используются символы 1 КиБ
.
Для получения более подробной информации посетите справочные страницы.
man logger
Заключение
В этом кратком руководстве мы обсудили, что такое команда logger, как вы можете использовать команду logger для ручного добавления сообщений в файлы системного журнала Linux, чтобы проверить, правильно ли работает сервер журналов.
Рекомендуется прочитать:
- Как управлять файлами журналов с помощью Logrotate в Linux