В отличии от Windows мониторинг системы linux предоставляется очень сложным процессом. Тут нет графического интерфейса, необходимо понимать и знать что ты хочешь увидеть используя ту или иную команду.
Мои знания в процессе мониторинга linux систем очень скудны. Соответственно эта статья будет началом в познании этого направления.
Расскажу о том, что интересует меня на данный момент и как это посмотреть.
log — файлы, где они и что в них хранится
Все события, процессы происходящие с файлами, работа оборудования в linux фиксируется в файлах.
Файлов этих много и все они расположены в директории /var/log/.
Как правило стандартные файлы Logi системы, в пример возьмем Debian, содержат следующее:
/var/log/syslog — основной системный журнал, содержит записи действий демонов и других программ, работающих в системе. Этот журнал нужно смотреть первым для поиска ошибок.
/var/log/auth.log — авторизация в системе, механизм идентификации пользователей
/var/log/daemon.log — содержит информацию о различных процессах который запущены в системе (демоны). Смотрим тут если есть падения системы
/var/log/dmesg — все сообщения ядра, начиная с этапа загрузки системы, просмотреть содержимое файла можно используя команду dmesg
/var/log/kern.log — журнал ядра, предоставляет подробный лог сообщений от ядра Linux, которые могут быть полезны при анализе и устранении неисправностей
/var/log/messages — файл содержит глобальные настройки и сообщения, регистрируются при запуске системы
/var/log/user.log — вся информация о журналах на уровне пользователя
/var/log/btmp — все отрицательные попытки входа — регистрации в системе. Смотрим командой lastb
/var/log/faillog — число неудачных попыток входа в систему. Команда faillog показывает содержимое
/var/log/mail.log, /var/log/mail.err, /var/log/mail.info, /var/log/mail.warn — записаны все почтовые события
/var/log/lastlog — записи о предыдущих входах в систему
var/log/apt — информация об установке/удалении пакета с помощью программы apt
/var/log/aptitude — файл программы aptitude содержащий информацию об установке/удалении пакетов
/var/log/dbconfig-common — записи утилиты dbconfig
/var/log/dpkg.log — информация об установке/удалении пакета программой dpkg
/var/log/fsck — здесь вы можете найти информацию если проводили проверку файловой системы
/var/log/wtmp — тут содержатся двоичные данные о времени регистрации и продолжительность работы всех пользователей системы. Команда last выводит список зарегистрированных пользователей
/var/log/apache2 — журналы access_log и error_log
/var/log/mysql.err и /var/log/mail.info — сведения о работе СУБД MySQL
Мониторинг в реальном времени, что происходит в системе
Тут вам поможет команда
top
Что мы видим после ввода команды:
Общая информация:
текущее время
up время (сколько система работает)
количество пользовательских сессий (1 user)
Статистика процессов:
общее количество процессов в системе
количество работающих в данный момент процессов
количество спящих процессов (они работающие, просто «ждут» события)
количество остановленных событий (останавливаются командой ctrl+z)
количество процессов, ожидающих родительский процесс для передачи статуса завершения (0 zombie)
Статистика использования CPU:
1,2 us — процент использования центрального процессора пользовательскими процессам
0.9 sy — процент использования центрального процессора системными процессами
0.0 ni — процент использования центрального процессора процессами с приоритетом, повышенным при помощи вызова nice
97.3 id (id это idle cpu time, т.е. время простоя CPU) — процент простоя процессора
0.1 wa — процент использования центрального процессора процессами, ожидающими завершения операций ввода-вывода (например чтение/запись на диск)
0.0 hi (hi это Hardware IRQ, т.е. аппаратные прерывания) — процент использования центрального процессора обработчиками аппаратных прерываний
0.5 si (si это Software Interrupts, т.е. программные прерывания) — процент использования центрального процессора обработчиками программных прерываний
0.0 st (st это Steal Time , т.е. заимствованное время) — количество ресурсов центрального процессора «заимствованных» у виртуальной машины гипервизором для других задач (таких, как запуск другой виртуальной машины); это значение будет равно нулю на не использующих виртуальные машины
Статистика использования физической и swap памяти:
общее количество памяти (total)
количество используемой памяти (used)
количество свободной памяти (free)
количество памяти в кэше буферов (buffers)
Список процессов, отсортированный по степени использования центрального процессора (по умолчанию), опишем столбцы:
PID — идентификатор процесса
USER — имя пользователя, который является владельцем процесса
PR — приоритет процесса
NI — значение «NICE», влияющие на приоритет процесса
VIRT — объем виртуальной памяти, используемый процессом
RES — объем физической памяти, используемый процессом
SHR — объем разделяемой памяти процесса
S — указывает на статус процесса: S=sleep (ожидает событий) R=running (работает) Z=zombie (ожидает родительский процесс)
%CPU — процент использования центрального процессора данным процессом (0.3)
%MEM — процент использования оперативной памяти данным процессом
TIME+ — общее время активности процесса (17:55.83)
COMMAND — имя процесса
Что можно делать в утилите top
Нажав на клавишу k мы можем убить процесс, достаточно будет ввести его PID
нажав на клавишу u и введя имя пользователя мы можем увидеть все процессы определенного пользователя
нажав на клавишу b или z и работающие процессы будут выделены цветом
ps — статус процессов
ps -aux | greb имя_программы
Можно узнать запущен ли данный процесс-программа
ps aux
Информация о всех процессах всех пользователей в системе
ps -f -u имя_пользователя
Все процессы этого пользователя
На данный момент пока такая информация, по мере изучения буду добавлять в этой статье. Если информации будет много выйдет другая статья.
Всем Удачи!