Есть ли журнал активности в терминале? - proUbuntu
4 голосов
/ 04 мая 2016

Я хотел бы открыть терминал и изучить процессы и все, что происходит при регулярном использовании Ubuntu. Какие команды и файлы я могу использовать для просмотра журналов в режиме реального времени?

Спасибо.

Ответы [ 4 ]

8 голосов
/ 04 мая 2016

Многие вещи, которые вы просто не можете обнаружить, потому что они обрабатываются внутри приложения или процесса без какого-либо общения с «внешним миром».

случайный (полностью неполный) список нескольких наиболее важных инструментов, которые вы можете использовать, однако, для мониторинга определенных разделов происходящего:

  • команда top: с man top: Программа top обеспечивает динамическое представление работающей системы в режиме реального времени. Он может отображать сводную информацию о системе, а также список процессов или потоков, которыми в настоящее время управляет ядро ​​Linux. Типы отображаемой сводной информации о системе, а также типы, порядок и размер информации, отображаемой для процессов, настраиваются пользователем, и эта конфигурация может быть постоянной при перезапусках.
  • dstat. От мужчины dstat: Dstat позволяет вам просматривать все ваши системные ресурсы мгновенно, например, вы можете. сравнить использование диска в сочетании с прерываниями с вашего IDE-контроллера или сравнить значения пропускной способности сети напрямую с пропускной способностью диска (в том же интервале)
  • wmctrl; хотя wmctrl не предоставляет в реальном времени текущую информацию, при использовании в цикле в скрипте довольно легко получить отчет почти в реальном времени или записать, что происходит с открытыми / перемещенными / закрытыми окнами.
  • Команда dbus-monitor, о которой @Serg сможет рассказать вам гораздо больше. От man dbus-monitor: Команда dbus-monitor используется для мониторинга сообщений, проходящих через шину сообщений D-Bus. См. http://www.freedesktop.org/software/dbus/ для получения дополнительной информации о большой картине. (короче: dbus - это простой способ для приложений общаться друг с другом. Примечание , что dbus-monitor работает только в случаях, когда используется dbus, а не как общий инструмент, как упомянуто @heemayl (спасибо!))
  • Команда dconf watch (относительно неизвестна). От man dconf:

       watch
           Watch a key or directory for changes.
    

    Попробуйте, например, что происходит при выводе dconf watch / при редактировании системных настроек.

Суть в том, что существует множество инструментов, каждый из которых позволяет определить конкретный участок происходящего. Ответ на все вопросы совершенно невозможен, не говоря уже об одном терминальном окне, чтобы показать даже начало «всей картинки».

Какой инструмент подходит для ваших целей, зависит от того, какие события вы конкретно хотите отслеживать.

6 голосов
/ 04 мая 2016

Попробуйте history команду, она отображает последнюю $HISTSIZE (по умолчанию 500) выполненную команду в терминале.

Команда

journalctl отображает сообщения журнала, если система использует systemd.

ps -aux показывает запущенные процессы, может использоваться с

ps -aux|grep xxxx

для выбора конкретного процесса.

4 голосов
/ 04 мая 2016

Для просмотра журналов в режиме реального времени используйте tail -f -n [number of lines] [file].

  • -f для подписки, которая будет направлять добавленные данные журнала в стандартный вывод (например, окно консоли), когда данные записываются в файл
  • -n для количества следующих строк

Хорошее место для начала было бы /var/log/syslog. Это файл журнала по умолчанию для многих системных событий, служб и приложений.

sudo tail -f -n 1000 /var/log/syslog

Ваша целевая служба или приложение может использовать другой файл журнала. Некоторые сервисы и приложения имеют несколько файлов журнала. Например, веб-сервер Apache имеет отдельные журналы для доступа, ошибок и событий SSL. Кроме того, некоторые файлы журнала сконфигурированы таким образом, чтобы их можно было свернуть в архивный файл (обычно в том же каталоге) после того, как исходный файл достигнет определенного размера, например 1 кб. Проверьте сервис или документацию приложения (или поиск) для определенных местоположений файла журнала.

Кроме того, может оказаться полезным открыть несколько окон консоли и одновременно отслеживать несколько журналов во время выполнения теста.

Например, если вы отслеживали события в веб-приложении, которое работало на Apache и использовало базу данных MySQL, вы можете открыть следующие две команды в их собственных окнах консоли. На самом деле, вы можете захотеть отследить эти журналы приложений вместе с системным журналом сверху.

sudo tail -f -n 1000 /var/log/apache2/error_log
sudo tail -f -n 1000 /var/log/mysqld.log

Как всегда, проверьте страницы tail man для получения полного списка параметров:

man tail

1 голос
/ 04 мая 2016

Вся деятельность довольно широка. Чтобы добавить к существующим ответам:

  • dmesg выводит журнал ядра в терминал. Справочная страница .

  • strace позволяет в режиме реального времени отслеживать все системные вызовы от одного и того же процесса. Справочная страница . Страница Ubuntu .

  • perf «стрейс на стероидах». Perf - это очень мощный инструмент для отслеживания событий с различной степенью детализации в системе, включая ядро, отдельный процесс и отдельный процессор. Справочная страница .

Добро пожаловать на сайт proUbuntu, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...