среда, 18 апреля 2012 г.

Важные лог-файлы в директории /var/log

Важные лог-файлы в директории /var/log, а так же утилиту logrorate для ротации журналов (логов).
Всю журнальную информацию не рекомендуется уничтожать, потому что она требует тщательного анализа на предмет обнаружения попыток взлома системы и других вредоносных действий. Кроме того, эта информация может помочь инженеру выявить и устранить возникающие и уже имеющие место аппаратные и программные сбои.
Накапливающаяся информация со временем теряет некоторую актуальность для сиюминутного использования и, как правило, сжимается архивирующими утилитами, через определенные интервалы времени. Методы реализации такой стратегии в системе называются ротацией. Система ротации предполагает хранение резервных журнальных файлов с разбивкой по времени их создания.
Утилита, которая присутствует практически во всех дистрибутивах Linux и занимается журнальной ротаций, называется logrotate.
А полнофункциональная система регистрации событий, написанная Эриком Оллманом и решающая вопросы автоматизации ведения журнальных файлов и управления журнальной регистрацией, называется syslogd.

Logrotate

Как уже говорилось выше, logrotate занимается ротацией логов. Если по каким то причинам у вас не установлена программа logrotate, это можно сделать выполнив следующую команду:
# apt-get install logrotate
Опции:

  • -d – debug – активирует режим отладки, в котором включена и опция -v (действия программы сопровождаются выводом подробной информации). В режиме отладки файлы системных сообщений, а также файл состояния logrotate, не подвергаются изменениям со стороны утилиты
  • -f ,–force – принуждает logrotate произвести обращение журналов, даже если сама программа не считает это необходимым. Иногда это полезно после добавления новых записей в logrotate или если старый файл журнала был удалён вручную; таким образом будут созданы новые файлы и журналирование будет корректно продолжено
  • -m, –mail <команда> – указывает logrotate, какую команду использовать для отправки журналов по электронной почте. Эта команда может принять два аргумента: 1) тема письма и 2) получатель. Команда должна читать сообщение со стандартного входа и отсылать его электронной почтой получателю. Командой по умолчанию является /bin/mail -s
  • -s, –state <файл> – предписывает logrotate использовать альтернативный файл состояния. Это полезно, если logrotate запускается от имени разных пользователей для разных наборов файлов системных сообщений. Файл состояния по умолчанию — /var/lib/logrotate/status
  • –usage – выводит краткую справку об использовании
Конфигурационный файл программы logrotate находится в /etc/logrotate.conf, пример которого находится в листинге ниже:
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp, or btmp -- we'll rotate them here
/var/log/wtmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0660 root utmp
    rotate 1
}

# system-specific logs may be configured here
Как видно из конфигурационного файла, logrotate будет хранить 4 старых архива логов (rotate 4), ротация будет производиться раз в неделю в независимости от размера (weekly), будут создаваться новые пустые файлы логов после архивирования старых (create), но сжатие старых архивов отключено (#compress – строка закомментирована), а далее указаны отдельные логи и отдельные настройки для них.
Далее дано более подробное описание директив, которые могут быть включены в конфигурационный файл logrotate:
  • rotate <число> – количество хранимых файлов
  • daily, weekly, monthly – производить ротацию раз в день/неделю/месяц
  • size <байт> – производить ротацию если log-файл превысил указанный размер
  • start <число> – число с которого начнётся нумерация файлов
  • compress – архивировать файлы (по умолчанию gzip)
  • nocompress – отключает compress
  • delaycompress - не сжимать ‘свеже’ созданный архив. Например access.log.1 не будет зжат. Используется с compress
  • create <права> <владелец> <группа> - после ротации создать пустой log-файл. Любые из этих атрибутов могут быть опущены, в этом случае вместо них для нового файла будут использованы атрибуты, имеющие те же значения, что и первоначальный log-файл
  • nocreate - не создавать файл
  • copy - создать копию оригинального log-файла, не изменяя его. Исключает create
  • nocopy - отключает copy
  • copytruncate – создать копию оригинального log-файла, а потом его ‘обнулить’.
    Таким образом сам файл не удаляется. Исключает copy, create
  • ifempty – архивирует даже пустой файл (используется по умолчанию)
  • notifempty - не архивировать пустые файлы
  • missingok - в случае отсутствия оригинального log-файла не вызовет ошибку
  • nomissingok - в случае отсутствия оригинального log-файла вызовет ошибку
  • postrotate <команды> endscript - строки, находящиеся между postrotate и endscript
    будут выполнены как sh скрипт после архивирования log-файла
  • prerotate <команды> endscript - аналогично postrotate, только действия будут выполнены до начала архивирования
  • sharedscripts - скрипты postrotate и prerotate будут выполнены только один раз в рамках своей секции.
  • nosharedscripts - отключает sharedscripts. Скрипты будут выполняются при ротации каждого log-файла, при определение /var/log/apache2/*.log скрипт будет выполнен столько раз сколько уникальных log-файлов будет находится в данной директории
  • olddir <путь> – перемещать архивные файлы в указанную директорию
  • noolddir - отключает olddir
Посмотреть более полную информацию по программе logrotate можно обратившись к man-странице программы:
man logrotate

Лог-файлы /var/log

С ротацией я думаю разобрались, теперь представляю вашему вниманию описание важных, по моему мнению, журнальных файлов linux:
/var/log/alternatives.log – журнальный файл программы update-alternatives, которая является механизмом выбора предпочтительного ПО среди нескольких вариантов в таких дистрибутивах Linux, как Debian и Ubuntu.
/var/log/auth.log – содержит информацию системы авторизации, в том числе логины и механизм проверки подлинности, которые были использованы.
/var/log/daemon.log – содержит информацию о различных демонах/сервисах запущенных в системе. С помощью этого файла можно обнаруживать и устранения проблемы во времени падения системы.
/var/log/dpkg.log – файл содержит информацию, которая логируется при установки/удалении пакета с помощью программы dpkg.
/var/log/yum.log – файл содержит информацию, которая логируется при установки/удалении пакета с помощью программы yum.
/var/log/faillog – в этом файле хранится число неудачных попыток входа в систему и их предельное число для каждой учётной записи. Используйте команду faillog для отображения этого файла.
/var/log/kern.log – файл журнала ядра, предоставляет подробный лог сообщений от ядра Linux. Эти сообщения могут быть полезными при анализе и устранении неисправностей.
/var/log/maillog или /var/log/mail.log – содержит информацию журнала почтового сервера, который работает в системе. Например sendmail.
/var/log/messages – файл содержит глобальные настройки, в том числе сообщения, которые регистрируются при запуске системы.
/var/log/wtmp – файл содержит двоичные данные о времени регистрации и продолжительность работы всех пользователей системы. Он пользуется командой last для вывода списка регистрировавшихся пользователей.
/var/run/utmp – двоичный файл, содержащий сведения о пользователях, зарегистрированных в системе в настоящее время. Он пользуется такими командами, как who, w и т.п.
/var/log/lastlog – файл содержащий записи о предыдущих входах в систему.
/var/log/dmesg – в файле содержаться все сообщения ядра, начиная с этапа загрузки системы. Просмотреть содержимое этого файла можно используя команду dmesg.
/var/log/boot – содержит информацию, которая регистрируется во время загрузки системы. Включить или отключить логирование можно отредактировав файл /etc/default/bootlogd:
# Run bootlogd at startup ?
BOOTLOGD_ENABLE=No
/var/log/btmp – файл содержит записи обо всех неудавшихся попытках регистрации пользователей в системе. Посмотреть неудачные попытки входа в систему можно с помощью команды lastb.
/var/log/secure – cодержит записи соединений, которые требуют проверки подлинности. Например, демон sshd содержит все сообщения в этом файле, включая неудачные попытки соединения.

Комментариев нет:

Отправить комментарий