Access log ubuntu як відкрити. Системні журнали Linux (Управління логуванням). файли журналу Exim

💖 Подобається?Поділися з друзями посиланням

Лог файл (файл журналу), як ви напевно здогадалися, зберігає хронологію подій для операційної системи Linux, її додатків та служб.

Файли зберігаються у вигляді звичайного тексту, щоб їх можна було легко читати. У нашій статті ми розповімо, де знайти лог файли, наведемо приклад декількох основних файлів журналу і пояснимо, як їх читати.

Де знаходяться лог файли в Linux

Файли журналів Linux зазвичай зберігаються у папці /var/logs.

У папці зберігається велика кількість файлів, з яких можна отримати інформацію для кожної програми.

Наприклад, коли команда lsвиконується наприклад у папці /var/logs, ось кілька доступних журналів:

  • kern.log
  • auth.log
  • bootstrap.log
  • alternatives.log
  • samba
  • lightdm

Останні три з цього списку є папками, але вони також мають файли журналу.

Оскільки лог файли знаходяться у текстовому форматі, їх можна прочитати, ввівши таку команду:

Наведена вище команда відкриває файл журналу у редакторі nano. Якщо лог файл має невеликий розмір, то немає нічого кращого, ніж відкрити файл журналу в редакторі, але якщо файл журналу великий, вас, ймовірно, цікавить тільки кінець журналу.

Можна вказати, скільки рядків має відображатися за допомогою -n наступним чином:

Якщо ви хочете побачити початок файлу, ви можете використовувати команду head.

Основні системні журнали

Наступні лог файли є основними в Linux.

  • Журнал авторизації
  • Журнал демонів
  • Журнал налагодження
  • Журнал ядра
  • Системний журнал

Журнал демонів (daemon.log) відстежує служби, що працюють у фоновому режиміта виконують важливі завдання. Демони, як правило, не виводяться на екрані.

Журнал налагодження надає виведення налагодження для програм.

Журнал ядра містить докладну інформацію про ядро ​​Linux.

Системний журнал містить більшу частину інформації про вашу систему, і якщо у якогось додатка немає свого власного журналу, записи, ймовірно, будуть у цьому лог файлі.

Аналіз вмісту файлу журналу

Зображення вище вказує зміст останніх 50 файлів у файлі системного журналу (syslog).

Кожен рядок журналу містить такі дані:

  • Ім'я хоста
  • Служба/Додаток
  • Повідомлення

Приклад одного із рядків у файлі syslog:

jan 20 12:28:56 gary-virtualbox systemd: starting cups scheduler

Ротація логів

Файли журналу періодично змінюються, щоб вони не ставали надто великими.

Утиліта log rotate відповідає за ротацію файлів журналу. Ви можете визначити, що журнал був замінений, тому що його назва буде містити число, наприклад auth.log.1, auth.log.2.

Можна змінити частоту заміни журналу, відредагувавши файл /etc/logrotate.conf.

Нижче наведено приклад записів із файлу logrotate.conf:

#rotate log files
weekly

#keep 4 weeks worth of log files

create new log files after rotating

Як ви можете бачити, ці файли журналів змінюються щотижня, і одночасно можуть зберігатися лог файли за чотири тижні.

При заміні файлу журналу на його місці створюється новий файл.

Кожна програма може мати свою власну політику ротації. Це, безумовно, корисно, тому що файл системного журналу буде зростати швидше, ніж файл журналу cups.

Політики ротації зберігаються у /etc/logrotate.d. Кожна програма, для якої потрібна власна політика ротації, в папці з додатком зберігатиметься файл конфігурації.

Наприклад, інструмент apt містить файл у папці logrotate.d з таким змістом:

/var/log/apt/history.log (
rotate 12
monthly
compress
missingok
notifempty
}

В принципі цей журнал говорить вам наступне. Журнал зберігатиме лог файли протягом 12 тижнів і змінюватиметься щомісяця (по одному на місяць). Файл журналу буде стиснутий. Якщо журнал не записуються повідомлення (тобто він порожній), це нормально. Журнал не замінюватиметься на новий, якщо він порожній.

Щоб змінити політику файлу, замініть його параметри на потрібні вам, а потім виконайте наступну команду:

Знайшли друкарську помилку? Виділіть текст та натисніть Ctrl+Enter

Managing Log files on a Linux System

Linux"s Log Files

Всі Linux системи генерують системи logs, які можуть бути сприйняті до find information про свою running system. Ці log-файли можуть бути отримані з інформації про здоров'я від simple information messages to critical system issues. Most of logging files, що є створеними є в бланк тексту. Це означає, що це дуже зручно для того, щоб використовувати ці стандартні команди, як "more", "less", "cat", "head", "tail", "pg" або використовуючи ваш preferred text editor, як "vi або vim".


Будучи конвенцією, найбільшим log files, що є створеним під матеріалами "/var/log/". Це являє собою стандартну область, де система messages and logged/recorded. Залежно від того, наскільки Linux розповсюдження ви використовуєте, можливо, має "message" файл або "syslog" файл, який містить нову діяльність. Logfiles є, як правило, створені за допомогою її "syslogd" або "rsyslogd", що дають змогу. Ці демони є високо налаштовані і можуть бути filtr messages в спеціальні файли. Як добре, як handling місцевих заходів, це можливо для log messages to remote servers dedicated to receiving the type of messages. Це невпинний спільний зв'язок з великими організаціями, що має dedicated syslog server. Кілька основних параметрів параметрів буде зафіксовано. Це також як загальна практика, яка має деяку форму з log rotation process.

Це означає, що деякі інші спільні файли log that you will find. Деякий є ці distribution specific:


Log File Description
/var/log/messages Global system messages are logged here. (default logging area on some systems)
/var/log/syslog Global System messages є logged here. (default logging area on some systems)
/var/log/auth.log System Authorisation information, including user login information
/var/log/kern.log Kernel messages are logged here
/var/log/mail.log Contains logging information from your mail server
/var/log/boot.log System boot messages are logged here
/var/log/cups.log Printer related messages logged here
/var/log/wtmp Contains information relating to users logged onto your system
/var/log/samba Samba log файли для smbd і nmbd. Якщо configured can contain specific log files for users.
/var/log/dpkg.log Contains information from installations that use dpkg to install or remove a package
/var/log/zypper.log Contains messages from zypper package manager tool
/var/log/apt Contains information from package updates that use APT
/var/log/dmesg Contains Kernel ring buffer messages

Більше того, що не є розкішним переглядом всіх файлів, які можуть бути зроблені в "/var/log" області. Це так, що ви думаєте про те, що це означає. Це важливе значення для того, що багато третіх частин продукції (software) буде також вести до цієї області. За допомогою sub-directory is created with log information held within. Samba is a good example of this.

Як mentioned earlier it is "syslogd" або "rsyslogd" daemon що handles majority logging on your systems.

rsyslogd - logging utility

Rsyslogd є надійною розширеною версією syslogd service. Linux використовує rsyslogd як його mechanismus для запису log files either в центрі або split в окремі directories для clarity. Це є також можливо для того, щоб дізнатися про dedicated logging server. Багато процесів можуть бути введені до тієї ж області без causing file locking. Simple commands може бути використаний безпосередньо з scripts на реєстрацію до цього регіону.

Configuration Files

Нижче rsyslogd виконується на вашій системі є вниз до її налаштування. Цей файл є located в "/etc/rsyslog.conf". Це file contains text which describes what should happen to messages when they are logged. Це є те, що ви можете визначати конкретні directories для конкретних message types. Default logging rules є, як правило, розташований під "/etc/rsyslog.d/"

Example of rsyslogd.conf під Ubuntu

/etc/rsyslog.conf


# Default logging rules can be found in /etc/rsyslog.d/50-default.conf ##################### MODULES #### #### ############# $ModLoad imuxsock # provides support for local system loging $ModLoad imklog # provides # provides UDP syslog reception #$ModLoad imudp #$UDPServerRun 514 # provides TCP syslog reception #$ModLoad imtcp #$InputTCPServerRun 514 ######################### ### #### GLOBAL DIRECTIVES #### ########################## # # Use traditional timestamp format. # Для того, щоб досягти високої точки зору timestamps, повідомити про following line. # $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat # Filter duplicated messages $RepeatedMsgReduction on # # Set the default permissions for all log files. # $FileOwner syslog $FileGroup adm $FileCreateMode 0640 $DirCreateMode 0755 $Umask 0022 $PrivDropToUser syslog $PrivDropToGroup syslog # # Where to place spool files # $WorkDirectory /var/spool/rsyslog. d/ # $IncludeConfig /etc/rsyslog.d/*.conf

Hashes "#" є використаним для помітного коментаря або для переговорів з функцією, що не вимагається.
Notice the last line $IncludeConfig /etc/rsyslog.d/*.conf. Це where we can specify custom rules/mappings.


# Default rules for rsyslog. # # For more information see rsyslog.conf(5) and /etc/rsyslog.conf # # First some standard log files. Log by facility. # auth,authpriv.* /var/log/auth.log *.*;auth,authpriv.none -/var/log/syslog #cron.* /var/log/cron.log #daemon.* -/var/ log/daemon.log kern.* -/var/log/kern.log #lpr.* -/var/log/lpr.log mail.* -/var/log/mail.log #user.* -/var/ log/user.log # # Logging for mail system. Split it up so that # it is easy to write scripts to parse these files. # #mail.info -/var/log/mail.info #mail.warn -/var/log/mail.warn mail.err /var/log/mail.err # # Logging for INN news system. # news.crit /var/log/news/news.crit news.err /var/log/news/news.err news.notice -/var/log/news/news.notice # # Some "catch-all" log files. # #*.=debug;\ # auth,authpriv.none;\ # news.none;mail.none -/var/log/debug #*.=info;*.=notice;*.=warn;\ # auth , authpriv.none; \ # cron, daemon.none; \ # mail,news.none -/var/log/messages # # Emergencies are sent to everybody logged in. # *.emerg:omusrmsg:* # # У мене є повідомлення, які відображаються на консолі, але тільки на віртуальному # консолі я використовую найчастіше. # #daemon,mail.*;\ # news.=crit;news.=err;news.=notice;\ # *.=debug;*.=info;\ # *.=notice;*.=warn /dev /tty8 # Назва прапора /dev/xconsole is for the `xconsole' utility. .] # # NOTE: adjust the list below, or you"ll go crazy if you have a reasonably # busy site.. # daemon.*;mail.*;\ news.err;\ *.=debug;*.= info;\ *.=notice;*.=warn |/dev/xconsole

Більшість ділових місць називається "syslog", повідомити про екстрений


*.*;auth,authpriv.none -/var/log/syslog

What are Facilities and Levels?

Колиза rsyslogd daemon receives a logging message, його діти базуються на the message type (Facility) and a Level (Priority). Ці mappings можуть бути в вашому "/etc/syslog.conf" файлі або входять "/etc/syslog.d/*.conf" files.

Всі налаштування з налаштуванням файлу можуть бути визначені один або більше можливостей/рівень selectors, що випливає з дії. Selector consists of facility or facilities наведено на основі single action. Дія є normally name of the directory and file that is to receive the messages into.

facility.level action

Example: mail.* -/var/log/mail- Тут, "mail" - це можливість, рівень - "*" і "/var/log/mail"

Facility

A facility represents the creator of the message, thes normally consist of:

auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, syslog, user, local0 - local7, " * " signifies any facility

Ці можливості дають можливість керувати, коли повідомлення з певних джерел є це. The facilities local0 - local7 є для використання за допомогою своїх нових scripts.

Level (Priority)

Level specifies the severity threshold. These can be: (lowest priority first)

debug, info, notice, warning, err, crit, alert, emerg.

On older systems you may see "warn, error or panic". A level of none will disable the associated facility. Ці priority control the amount of detail that is sent to each logfile. A single period "." separates the facility from the level. Together these are known as the message selector . An asterisk " * "можна бути використана для будь-яких можливостей або рівнів. Подібні до можливостей, wildcards "*" може бути встановлена ​​протягом тривалого часу". = " and " ! "

Якщо ви вважаєте, що тільки один рівень зв selector без будь-яких змінників, ви є власне specifying, що рівень плюс всі інші priority. За прикладом selector user.notice is actually saying all user related messages having level of notice or higher will be sent to the specified actionобласть. Якщо ви потребуєте тільки рівня "відео", то ви будете використовувати " = " modifier:

user.=notice- Now means any user related messages with a level priority of "notice" тільки буде бути до того, що є важлива площа.

If you use the " ! " modifier, this will negate your level priority. So if we specified user.!notice is equivalent all user related messages with level priority "notice" or higher. You can also specify user.!=notice,який особливий all user related messages except for ones with level priority of "notice".

Actions

The action section is the destination for the messages. The action can be a filename є "/var/log/syslog" або hostname або IP address prefixed with "@" sign. Останній вибір є популярним в багатьох організаціях і підприємств. Безперервний захист відношення повідомлень може бути в центрі ведення сервера для другого скрути.

rsyslog.conf structures

Як rsyslogd is anhanced version of syslogd it can handle the oldder legacy styl constructs known as sysklogd. Існує такожі handles legacy versions rsyslog. However, true power of rsyslog переходить в play when you use what is known as " RainerScript". This is the new style format for rsyslog які можуть handle complex cases with ease. У прикладі нижче ви можете повідомити про попередній формат написів протягом декількох нових вузлів, які використовуються "як - тому" будови для більш важливих значень.

Example section of "/etc/rsyslog.conf є з OpenSUSE


# # NetworkManager в окремому файлі і перейти їх до подальшого процесу # if ($programname == "NetworkManager") or \ ($programname startswith "nm-") ​​\ then -/var/log/NetworkManager & ~ # # email-messages # mail.* -/var/log/mail mail.info -/var/log/mail.info mail.warning -/var/log/mail.warn mail.err /var/log/mail.err # # news-messages # news.crit -/var/log/news/news.crit news.err -/var/log/news/news.err news.notice -/var/log/news/news.notice

Message Testing with logger command

logger is a shell command interface в syslog module. Logger дозволить вам встановлювати адреси безпосередньо в систему log. Це дуже зручно, коли входить до списку або коли ви хочете, щоб тестувати ваше повідомлення і mappings.

In its simplest form we can issue logger "I am a test". Цей повідомлення буде йти до нашої дефіцитної області (probably /var/log/syslog або /var/log/messages) залежно від того, наскільки ви маєте configured ваші правила. Ви можете як specify a priority using the "-p or --priority" option. Examples of logger inaction:


john@john-desktop:/var/log$ logger "I am a Test of logger" Mar 22 22:39:51 john-desktop kernel: [ 9588.319477] dev_remove_pack: edad0884 not found. Mar 22 22:45:01 john-desktop CRON: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1) Mar 22 22:47:31 john-desktop john: I am a Test of logger

Basic Logger Usage

Usage: logger Options: -d, --udp use UDP (TCP is default) -i, --id log the process ID too -f, --file log the contents of this file -h, --help display this help text and exit -n, --server write to remote syslog server -P, --port use this UDP port -p, --priority Mark given message with this priority -s, --stderr output message до стандартного error as well -t, --tag mark every line with this tag -u, --socket write to this Unix socket -V, --version output version information and exit

Getting help with Rsyslog

Усього спостерігається як перевірка на процеси, що таке місце для ведення повідомлень. Для подальшої інформації вам може бути "man rsyslogd" з вашої console для перегляду багатьох функцій. Для подальшого читання ви можете йти до головного "rsyslog" website: www.rsyslog.com

dmesg

"dmesg" є особливим керуванням, що stands for display message. dmesg will display the message buffer of the kernel. dmesg є дуже useful if you want to view the messages that flew past your screen quickly during the boot process. Інший useful trick is to redirect the output from the dmesg command to a temporary file: dmesg > /tmp/temp.txt.

dmesg є також корисним, якщо ви маєте наміри з I/O device або "USB" device. dmesg може бути використаний в комбінації з grep command to find exactly what you are looking for quickly: dmesg | grep -i usb

dmesg basic Overview

Usage: dmesg Options: -C, --clear clear the kernel ring buffer -c, --read-clear read and clear all messages -D, --console-off disable printing messages to console -d, --show-delta show time delta між printed messages -E, --console-on enable printing messages to console -f, --facility restrict output to defined facilities -h, --help display this help and exit -k, --kernel display kernel messages -l, --level restrict output to defined -n, --console-level Set level messages printed to console -r, --raw print the raw message buffer -s, --buffer-size buffer розміром для керування ring buffer -T, --ctime show human readable timestamp (could be inaccurate if you have used SUSPEND/RESUME) -t, --notime don"t print messages timestamp -u, --userspace display userspace messages -V, --version output version information and exit -x, --decode decode facility and level to readable string Supported log facilities: kern - kernel messages user - random user-level messages mail - mail system daemon - system daemons auth - Security/authorisation messages syslog - messages generated internally by syslogd lpr - line printer subsystem news - network news subsystem Supported log levels (priorities): emerg - system is unusable alert - action must be be inmediate crit - critical conditionserr warning conditions notice - normal but significant condition info - informational debug - debug-level messages

Як відомо в лінукс є дуже важливий інструмент sysklogd, який дозволяє вести журнал подій, що відбуваються в системі. Системним адміністраторам, та й будь-якому користувачеві, що зіткнувся з помилками, доведеться подивитися логі linux , щоб виявити проблему та вирішити її.

Усе лог файли linuxрозташовуються в папці:
/var/log

log-файли лінукс:
messages Містить глобальні системні логи Linux, у тому числі ті, що реєструються під час запуску системи.
dmesg Містить повідомлення від ядра. Реєструє багато повідомлень ще на етапі завантаження, в них відображається інформація про апаратні пристрої, які ініціалізуються під час завантаження. Кількість повідомлень у лозі обмежена, і коли файл буде переповнений, з кожним новим повідомленням старі будуть перезаписані.
auth.log Містить інформацію про авторизацію користувачів у системі, включаючи логіни користувача та механізми автентифікації, які були використані.
boot.log Містить інформацію, яка реєструється під час завантаження системи.
daemon.log Включає повідомлення від різних фонових демонів
kern.log Також містить повідомлення від ядра, корисні при усуненні помилок модулів, вбудованих в ядро.
lastlog Відображає інформацію про останню сесію всіх користувачів. Це нетекстовий файл, для перегляду необхідно використовувати команду lastlog.
mail.log журнали сервера електронної пошти, запущеного у системі.
user.log Інформація зі всіх журналів на рівні користувачів.
Xorg.x.log Лог повідомлень Х сервера.
btmp Містить інформацію про невдалі спроби входу.
cups Всі повідомлення, пов'язані з друком та принтерами.
cron Коли демон Cron запускає виконання програми, він записує звіт і повідомлення самої програми в цьому файлі.
secure Містить інформацію, що стосується аутентифікації та авторизації.
wtmp Містить журнал входу користувачів до системи. Використовуйте wtmp, щоб відобразити вміст цього файлу.
faillog Містить невдалі спроби входу до системи. Використовуйте faillog, щоб відобразити вміст цього файлу.
mysqld.log Містить файли логів сервера бази даних MySQL.

Подивитися логи linux можна за допомогою кількох консольних програм. Нижче розберемо кілька прикладів:

1. Виведення та перегортання тексту за допомогою less:
less /var/log/messages

2. Перегляд логів у реальному часі:
tail -f /var/log/messages

3. Відкриваємо файл за допомогою cat:
cat /var/log/dmesg

4. Виводимо перші 10 рядків із файлу:
head /var/log/dmesg

5. Виводимо останні 10 рядків із файлу:
tail /var/log/dmesg

6. Виводимо певну кількість рядків:
head -n3 /var/log/dmesg
де, -n3 - кількість рядків, які потрібно показати.

7. Виводимо лише помилки:
grep -i error /var/log/messages

Крім консолі та текстових редакторівви також можете використовувати графічну програму«System Log Viewer», яка у зручній та наочній формі покаже вам логі в лінукс.


При перегляді лог-файлів (файлів журналів) в Linux іноді потрібно моніторити нові записи в логах в реальному часі. Тобто ви вказуєте, який файл (або файли) ви хочете переглядати і в реальному часі відстежуєте нові записи в цьому файлі.

Моніторинг лог-файлів командою tail

Якщо виконати команду tail Ім'яФайлубез будь-яких додаткових аргументів, то буде виведено 10 останніх рядківфайл і команда завершить свою роботу.

Для того щоб команда tail безперервно виводила останні записиу файлі, тобто якщо у файлі з'явилися нові записи, то інформація на екрані оновлювалася, використовується опція -f:
tail -f Ім'яЛогФайлу

Виконаємо команду tail -f для виведення лог-файлу /var/log/syslog

tail -f /var/log/syslog

Оскільки використовується опція -f,команда tail не завершує свою роботу, а чекає на появу в лог-файлі нових записів. Як тільки до лог-файлу будуть додані нові записи, вони відразу ж будуть відображені в терміналі.

Щоб перервати виконання команди, натисніть клавіші Ctrl+C

Команда tailf

Аналогом команди tail-f є команда tailf

Використання:

Tailf /var/log/mylogfile.log

Важливою відмінністю команди tailf від tail -f є те, що tailf не звертається до файлу, коли він не змінюється. Тому доступу до файлу не оновлюється і система не виконує постійне скидання файлу на диск, коли файл не оновлюється.

В описі команди tailf вказується, що її зручно використовувати для моніторингу файлів журналів на ноутбуках. Оскільки без потреби не звертається до диска і зберігається термін служби батареї.

tail-F. Якщо файл було перейменовано або видалено

Зазвичай в Linux лог-файли записуються не нескінченно, інакше такий файл було б дуже незручно надалі використовувати. Натомість застосовується так звана ротація файлів. Коли лог-файл стає більшим, він або видаляється, або перейменовується (створюється резервна копія(файлу), а подальші повідомлення починають записуватися в новий, порожній файл.

У команди tail є дві опції: -f та -F

  • Якщо використовується опція -fі відбувається перейменування файлу, що відстежується, то команда tail продовжує відстежувати вже перейменований файл. Команда tailу цьому випадку прив'язується до ідентифікатора (inode) файлу.
  • Якщо використовується опція -Fі відбувається перейменування файлу, що відстежується, то команда tail визначить це, і як тільки буде створено новий лог-файл (з тим ім'ям, яке ми вказали команді tail), команда tailпочне відстежувати новий файл.

Розглянемо приклад.

Відстежуватимемо лог-файл /var/log/apache2/error.log . Виконуємо команду tail із опцією -F

Tail -F /var/log/apache2/error.log

Якщо система перемістить (перейменує) файл error.log на файл error.log.1 і створить новий файл error.log , то наша команда tail продовжить відстежувати вже новий файл error.log

Якби ми у цьому прикладі використовували опцію -f,команда tail продовжила б відстежувати файл error.log.1 , який для нас вже неактуальний при перегляді логів у реальному часі.

Відстеження кількох лог-файлів одночасно

Команда tail підтримує відстеження кількох файлів одночасно. Для цього необхідно вказати імена файлів через пробіл.

Tail -f /var/log/apache2/error.log /var/log/apache2/access.log

Як тільки якийсь із файлів змінюється, на екран виводиться ім'я цього файлу та нові записи в ньому.

Для одночасного відстеження кількох лог-файлів існує дуже зручна утиліта multitail

Вона не просто виводить дані, а створює для кожного файлу своє вікно (область) та виводить дані у цьому вікні. З її допомогою дуже зручно відстежувати відразу безліч лог файлів та бачити їх в одному вікні терміналу.

Утиліту multitail можна встановити із штатних репозиторіїв вашого дистрибутива. Для встановлення виконайте команду (виберіть відповідну команду для вашого дистрибутива):

Sudo apt install multitail sudo yum install multitail sudo dnf install multitail

Використання:

Multitail /var/log/apache2/access.log /var/log/apache2/error.log

Щоб вийти з утиліти, натисніть клавішу q

Неможливо уявити користувача і адміністратора сервера, або навіть робочої станціїна основі Linux, який ніколи не читав файли лог. Операційна система та працюючі програми постійно створюють різні типиповідомлень, які реєструються у різних файлах журналів. Вміння визначити потрібний файлжурналу і що шукати в ньому допоможе суттєво заощадити час та швидше усунути помилку.

Журналування є основним джерелом інформації про роботу системи та її помилки. У цьому короткому посібнику розглянемо основні аспекти журналювання операційної системи, структуру каталогів, програми для читання та огляду логів.

Основні лог файли

Усі файли журналів можна віднести до однієї з наступних категорій:

  • додатки;
  • події;
  • служби;
  • системний.

Більшість лог файлів міститься в директорії /var/log .

  • /var/log/syslogабо /var/log/messagesмістить глобальний системний журнал, в якому пишуться повідомлення з моменту запуску системи, від ядра Linux, різних служб, виявлених пристроїв, мережевих інтерфейсіві багато іншого.
  • /var/log/auth.logабо /var/log/secure- інформація про авторизацію користувачів, включаючи вдалі та невдалі спроби входу в систему, а також задіяні механізми автентифікації.
  • /var/log/dmesg- Драйвера пристроїв. Однойменною командою можна переглянути виведення вмісту файлу. Розмір журналу обмежений, коли файл досягне своєї межі, старі повідомлення будуть перезаписані новішими. Задавши ключ --level=, можна відфільтрувати висновок за критерієм значущості.
Підтримувані рівні журналування (пріоритети): emerg - система невикористовується alert - дія повинна бути зроблена негайно crit - умови критичності err - умови помилок warn - умови попереджень notice - звичайні, але значущі умови info - інформаційний debug - налагоджувальні повідомлення (5:52 dmesg -l err usb 1-1.1: 2:1: cannot get freq at ep 0x1 usb 1-1.1: 1:1: cannot get freq at ep 0x81 usb 1-1.1: 1:1: cannot get freq at ep 0x
  • /var/log/alternatives.log- Виведення програми update-alternatives , в якому знаходяться символічні посилання на команди або бібліотеки за промовчанням.
  • /var/log/anaconda.log- Записи, зареєстровані під час встановлення системи.
  • /var/log/audit- Записи, створені службою аудиту auditd.
  • /var/log/boot.log- Інформація, що пишеться під час завантаження операційної системи.
  • /var/log/cron- Звіт служби crond про виконуваних командахта повідомлення від самих команд.
  • /var/log/cups- Все, що пов'язано з печаткою та принтерами.
  • /var/log/faillog- невдалі спроби входу до системи. Дуже корисно під час перевірки погроз у системі безпеки, хакерських атаках, спроб злому методом перебору. Прочитати вміст можна за допомогою команди faillog.
  • var/log/kern.log- Журнал містить повідомлення від ядра та попередження, які можуть бути корисні при усуненні помилок модулів вбудованих в ядро.
  • /var/log/maillog/або /var/log/mail.log- Журнал поштового сервера, що використовується на ОС.
  • /var/log/pm-powersave.log- Повідомлення служби економії заряду батареї.
  • /var/log/samba/- Логи файлового сервера Samba, який використовується для доступу до загальних папкам Windowsта надання доступу користувачам Windowsдо спільних папок Linux.
  • /var/log/spooler- Для представників старої школи містить повідомлення USENET. Найчастіше буває порожнім та покинутим.
  • /var/log/Xorg.0.log- Логи сервера X. Найчастіше марні, але якщо в них є рядки, що починаються з EE, то слід звернути на них увагу.

Для кожного дистрибутива буде окремий журнал менеджера пакетів.

  • /var/log/yum.log- Для програм встановлених за допомогою Yum у RedHat Linux.
  • /var/log/emerge.log- Для ebuild-ів встановлених з Portage за допомогою emerge у Gentoo Linux.
  • /var/log/dpkg.log- Для програм встановлених за допомогою dpkg у Debian Linux та всій родині родинних дистрибутивах.

І трохи бінарних журналів обліку користувальницьких сесій.

  • /var/log/lastlog- остання сесія користувачів. Прочитати можна командою last.
  • /var/log/tallylog- аудит невдалих спроб входу до системи. Виведення на екран за допомогою утиліти pam_tally2.
  • /var/log/btmp- Що один журнал запису невдалих спроб входу до системи. Просто так, про всяк випадок, якщо ви ще не здогадалися, де слід шукати сліди активності зломщиків.
  • /var/log/utmp- Список входів користувачів до системи на даний момент.
  • /var/log/wtmp- Ще один журнал запису входу користувачів до системи. Виведення на екран командою utmpdump.
(5:535)$ sudo utmpdump /var/log/wtmp [Вт Сер 11 16:50:07 2015] [~~ ] [Вт Сер 11 16:50:08 2015] [~~ ] [Вт Сер 11 16: 50:57 2015] [Вт Сер 11 16:50:57 2015] [~~ ] [Вт Сер 11 16:50:57 2015]

та інші журнали

Так як операційна система, навіть така чудова як Linux, сама по собі ніякої відчутної користі не несе в собі, то швидше за все на сервері або робочій станції крутиться база даних, веб сервер, різноманітні додатки. Кожна програма або служба може мати свій власний файл або каталог журналів подій та помилок. Усіх їх природно неможливо перерахувати лише деякі.

  • /var/log/mysql/- Лог бази даних MySQL.
  • /var/log/httpd/або /var/log/apache2/- Лог веб сервера Apacheжурнал доступу знаходиться в access_log , а помилки - в error_log .
  • /var/log/lighthttpd/- Лог веб-сервера lighttpd.

У домашньому каталозі користувача можуть бути журнали графічних додатків, DE.

  • ~/.xsession-errors- Висновок stderr графічних програм X11.
Initializing "kcm_input" : "kcminit_mouse" Initializing "kcm_access" : "kcminit_access" Initializing "kcm_kgamma" : "kcminit_kgamma" QXcbConnection: XCB error: 3 (BadWindow), sequence:4:0 Property) , minor code: 0 kf5.kcoreaddons.kaboutdata: Правильно не сприяють подібним властивостям Q*Application: no instance (yet) existing. QXcbConnection: XCB error: 3 (BadWindow), sequence: 181, resource id: 10486050, major code: 20 (GetProperty), minor code: 0 Qt: Session management error: networkIdsList argument is NULL
  • ~/.xfce4-session.verbose-log- Повідомлення робочого столу XFCE4.

Чим переглядати - lnav

Багато хто знає про утиліту less і команду tail-f. Також для цих цілей згодиться редактор vim та файловий менеджер Midnight Commander. Всі мають свої недоліки: less неважливо обробляє журнали з довгими рядкамиберучи їх за бінарників. Midnight Commander підходить тільки для швидкого перегляду, коли немає необхідності шукати за складним шаблоном і переходити багато взад і вперед між збігами. Редактор vim розуміє і підсвічує синтаксис безлічі форматів, але якщо журнал часто оновлюється, то з'являються повідомлення, що відволікають, про зміни у файлі. Втім, це легко можна обійти за допомогою<:view /path/to/file> .


Нещодавно я виявив ще одну придатну і багатообіцяючу, але трохи ще сиру, утиліту. lnavу розшифровці Log File Navigator.




Встановлення пакета зазвичай однією командою.


$ aptitude install lnav #Debian/Ubuntu/LinuxMint $ yum install lnav #RedHat/CentOS $ dnf install lnav #Fedora $emerge -av lnav #Gentoo, потрібно додати у файл package.accept_keywords $yaourt -S lnav #Arch

Навігатор журналів lnavрозуміє низку форматів файлів.

  • Access_log веб-сервер.
  • CUPS page_log
  • Syslog
  • dpkg.log
  • strace
  • Довільні записи з часовими відмітками
  • gzip, bzip
  • Журнал VMWare ESXi/vCenter

Що означає розуміння форматів файлів? Фокус у тому, що lnavбільше, ніж утиліта для перегляду текстових файлів. Програма вміє щось ще. Можна відкривати кілька файлів відразу і перемикатися між ними.


(5:471)$ sudo lnav /var/log/pm-powersave.log /var/log/pm-suspend.log

Програма може безпосередньо відкривати архівний файл.


(5:471) $ lnav -r /var/log/Xorg.0.log.old.gz

Показує гістограму інформативних повідомлень, попереджень та помилок, якщо натиснути клавішу . Це з мого syslog.


Mon May 02 20:25:00 123 normal 3 errors 0 warnings 0 marks Mon May 02 22:40:00 2 normal 0 errors 0 warnings 0 marks Mon May 02 23:25:00 10 normal 0 errors 0 warnings 0 mark 03 07:25:00 96 normal 3 errors 0 warnings 0 marks Tue May 03 23:50:00 10 normal 0 errors 0 warnings 0 marks Wed May 04 07:40:00 96 normal 3 errors 0 warnings 0 0 0 :30:00 2 normal 0 errors 0 warnings 0 marks Wed May 04 10:40:00 10 normal 0 errors 0 warnings 0 marks Wed May 04 11:50:00 126 normal 2 errors 1 warnings 0 marks

Крім цього підтримується підсвічування синтаксису, доповнення по табу та різні корисності у статусному рядку. До недоліків можна віднести нестабільність поведінки та зависання. Сподіваюся lnavактивно розвиватиметься, дуже корисна програмана мій погляд.



Розповісти друзям