Поиск по сайту:

Добавление сообщений в файлы системного журнала 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

Статьи по данной тематике