Практика

Вопросы

  1. Куда программы ведут свои логи?

  2. Что такое syslog? Как программы отправляют логи в syslog?

  3. Какие обьекты логирования есть у syslog?

  4. В чем отличие journald от rsyslog?

  5. Зачем в системе два демона логирования?

  6. Как сделать так, чтобы логи с journald оставались после перезагрузки?

  7. Как изменить время хранения логов journald?

  8. Как посмотреть сообщения ядра?

  9. Как посмотреть логи определённого сервиса?

  10. Как посмотреть последние логи сервиса?

  11. Как посмотреть логи с последнего запуска системы?

  12. Что такое ротация логов и как её настроить?

  13. Как отправить свои сообщения в syslog?

  14. Как смотреть логи определённого сервиса в реальном времени?

Задания

  1. Создайте скрипт, который будет создавать файл. После чего скрипт будет прописывать последнюю строчку из сообщений syslog в этот файл. Затем будет отправлять в syslog своё сообщение - «Logs collected».

  2. Настройте rsyslog, чтобы логи, посланные этим скриптом, сохранялись в отдельном файле «collect.log» в директории /var/log.

  3. Настройте ротацию этих логов, чтобы они сохранялись на протяжении месяца с еженедельной ротацией.

  4. Запустите скрипт и убедитесь, что все ранее проделанные шаги выполнили свою задачу.

  5. Создайте скрипт, который будет отправлять логи в syslog – This is normal log → debug, This is error → error и This is critical error → crit. Настройте syslog, чтобы записывал эти логи в соответствующие файлы - /var/log/mylog.debug, /var/log/mylog.crit, /var/log/mylog.error. Настройте ротацию этих логов, чтобы они ротировались 5 раз. debug и error должны ротировались ежедневно, debug с сжатием, а error без сжатия. crit должен ротироваться раз в неделю.

  6. Создайте файл /etc/allowedusers, в котором пропишите логин своего пользователя. Создайте скрипт, который сначала проверит, имеет ли данный текущий пользователь право запускать скрипт (пользователь должен быть в списке /etc/allowedusers). Если прав нету, то следует вывести на экран сообщение «This incident will be reported», а в syslog в секцию error написать «User username tried to run this script!». После запуска скрипт должен вывести содержимое директории /data/. После чего предложить пользователю указать имя файла и указать дату и время модификации для смены.