Unix / Linux - System Logging

Привет, будущие маги Unix/Linux! Сегодня мы погружаемся в fascинирующий мир системной регистрации. Не волнуйтесь, если вы новички в этом — я буду вашим доброжелательным проводником в этом путешествии, как я был для countless студентов на протяжении многих лет. Давайте начнем!

Unix / Linux - System Logging

Что такое системная регистрация?

Прежде чем мы углубимся в Details, давайте поймем, что такое системная регистрация. Представьте, что вы детектив, пытающийся решить тайну на вашем компьютере. Системные логи — это как ваш верный блокнот, записывающий все, что happens в вашей системе. Круто, правда?

Why это важно?

Системная регистрация важна для:

  1. Устранения проблем
  2. Мониторинга здоровья системы
  3. Обнаружения нарушений безопасности
  4. Соответствия требованиям regulatons

Теперь, когда мы знаем, почему это важно, давайте рассмотрим компоненты системной регистрации.

Syslog Facilities

Syslog-службы resemble diferentes departamentos en una gran empresa. Каждый отдел занимается определенными типами информации. Вот таблица некоторых common syslog-служб:

Услуга Описание
auth События аутентификации и безопасности
cron Demons cron (запланированные задачи)
daemon Различные системные demоны
kern Сообщения ядра
mail Почтовая система
user Сообщения уровня пользователя

Например, если вы видите запись в логе с "mail" в качестве услуги, вы знаете, что она связана с вашей почтовой системой. Pretty handy, isn't it?

Syslog Priorities

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

Вот таблица syslog-приоритетов, от самых серьезных до наименее serious:

Приоритет Ключевое слово Описание
0 emerg Система неисправима
1 alert Необходимо срочно принять меры
2 crit Критические условия
3 err Условия ошибки
4 warning Условия警告
5 notice Normal но значительные условия
6 info Информационные сообщения
7 debug Сообщения уровня отладки

Например, если ваша система遭遇ит "crit" (критическое) событие, это время надеть ваш супергеройский плащ и спасти день!

Файл /etc/syslog.conf

Теперь давайте поговорим о mainmind behind системной регистрацией: файл /etc/syslog.conf. Этот файл resembles 导演а пьесы, telling каждый actor (log) куда идти и что делать.

Вот пример того, что вы можете найти в этом файле:

mail.*                  /var/log/mail
*.err                   /var/log/errors
kern.*                  /var/log/kernel

Давайте разберем это:

  • mail.* означает "все логи mail-услуги"
  • *.err означает "все логи с приоритетом ошибки от любой услуги"
  • kern.* означает "все логи kern-услуги"

Часть после пробела говорит, где эти логи должны быть сохранены. Круто, правда?

Действия регистрации

Действия регистрации определяют, что happens с логами. Вот некоторые common действия:

  1. Регистрация в файл: Логи записываются в файл Пример: mail.* /var/log/mail

  2. Именованные каналы: Логи отправляются в именованный канал Пример: mail.* |/usr/bin/mypipe

  3. Консоль/терминал: Логи отображаются на консоли Пример: *.emerg *

  4. Удаленная машина: Логи отправляются на другую машину Пример: *.* @192.168.1.100

Команда logger

Команда logger resembles ваш личный курьер для syslog-системы. Вы можете использовать его для создания своих log-записей. Вот как:

logger "Привет, syslog!"

Это создаст запись в логе с сообщением "Привет, syslog!". Вы можете проверить его в /var/log/messages или wherever ваша система хранит логи пользователей.

Вы также можете указать приоритет:

logger -p user.err "Упс, что-то пошло не так!"

Это создает log-запись уровня ошибки в user-услуге.

Rotación de Logs

Представьте, если бы мы никогда не чистили наши гардеробы — они бы became pretty заполненными, правда? То же самое happens с log-файлами. Вот где появляется rotación de logs. Это resembles регулярная весенняя уборка для ваших логов.

Rotación de logs typically:

  1. Переименовывает текущий log-файл
  2. Создает новый пустой log-файл
  3. Сжимает старые log-файлы
  4. Удаляет очень старые log-файлы

Вот простой пример конфигурации rotación de logs (/etc/logrotate.d/myapp):

/var/log/myapp.log {
weekly
rotate 4
compress
missingok
notifempty
}

Эта конфигурация:

  • Rotates лог weekly
  • Сохраняет 4 старые версии
  • Сжимает старые логи
  • Не жаловаться, если лог отсутствует
  • Не rotate пустые логи

Важные места логов

Наконец, давайте посмотрим, где вы можете найти некоторые важные логи. Это resembles treasure map для системной информации!

Log File Описание
/var/log/messages General системные сообщения
/var/log/auth.log Логи аутентификации
/var/log/kern.log Логи ядра
/var/log/cron.log Логи задач cron
/var/log/maillog Логи почтового сервера
/var/log/apache2/error.log Логи ошибок Apache
/var/log/mysql/error.log Логи ошибок MySQL

Remember, эти места могут варьироваться в зависимости от вашей конкретной Linux-дистрибуции.

И вот оно, folks! Вы только что completed бешеную экскурсию по Unix/Linux системной регистрации. От понимания, что такое регистрация и почему это важно, до исследования различных компонентов, таких как услуги, приоритеты и rotación de logs, вы теперь equipped с знаниями, чтобы начать ваше приключение с системной регистрацией.

Remember, лучший способ learn — это doing. Так что не бойтесь explore ваши системные логи, try использовать команду logger, и maybe даже настроить некоторые пользовательские правила регистрации. Счастливой регистрации, и пусть ваши системы всегда работают без сбоев!

Credits: Image by storyset