По различным причинам необходимо для меня регистрировать журнал моего компьютера /var/log/syslog
, но это стало определенной проблемой, потому что я на самом деле не могу просмотреть журналы в том файле, потому что каждый раз, когда я открываю его (неважно, какую программу я использую) она отказывает. Например, если я открываю его в nano
, gedit
, cat
, или даже основная программа просмотра журнала, я получаю катастрофический отказ, такой как этот, потому что существует только слишком много данных в файле для загрузки:
Таким образом, действительно мой вопрос, как я могу просмотреть syslog
без катастрофического отказа средства просмотра? Я делаю что-то не так? Или есть ли просто лучший способ, которым все используют, и я не знаю?
Description: Ubuntu 15.04
Release: 15.04
TL; DR:
Проблема происходила из-за файла var/log/syslog
будучи очень большим в размере с kernel
особенно ufw
дамп большого количества из UFW_AUDIT
журналы регулярно. Для решения проблемы, мы должны установить LOGLEVEL
из ufw
как low
в ufw
конфигурационный файл /etc/ufw/ufw.conf
:
sudo sed -i '/^LOGLEVEL/s/=.*/=low/' /etc/ufw/ufw.conf
От man ufw
:
Loglevels above medium generate a lot of logging output, and may
quickly fill up your disk. Loglevel medium may generate a lot of
logging output on a busy system.
ДЕТАЛИ:
Могло бы быть много причин почему ошибка
Stream has outstanding operation
показан. Так как наиболее распространенные два являются файлом, является слишком большим в размере, который будет считан, и файл имеет необычное содержание, которое не могло быть считано.
Сначала мы рассмотрели первую причину, т.е. файл является слишком большим (я покажу шаги один за другим, поскольку мы сделали это):
Сначала мы должны проверить, в скольких строки находятся там /var/log/syslog
и это оказалось довольно необычным:
$ wc -l /var/log/syslog
1308061 /var/log/syslog
Поскольку файл имеет 1 308 061 количество строк, которое является довольно большим, мы должны проверить как logrorate
настроен для rsyslog
:
sed -n '/\/var\/log\/syslog/,/^}$/p' /etc/logrotate.d/rsyslog
Это показало это /var/log/syslog
будет вращаться каждый день с журналами, более старыми, чем одна удаляемая неделя, который является значением по умолчанию.
Затем мы должны проверить /var/log/syslog
для наблюдения, какой процесс пишет большинство журналов в файл с помощью команды:
less /var/log/syslog | tr -s ' ' | cut -d' ' -f5 | sort | uniq -c | sort -rn
Это покажет нам процессы, записанные большинство строк в файле в порядке по убыванию. Мы нашли это kernel
записал для регистрации самого высокого с количеством, являющимся очень высоким (1761519). Следующее thermald
с его несколькими процессами записал в 5K времена.
Рассматривая 1kernel1 как источник этой аномалии, мы проверили на шаблон в /var/log/syslog
это происходит регулярно:
grep "kernel" /var/log/syslog | less
и найденный, который был о UFW AUDIT
и это очень очень регулярно писало в файле журнала.
ufw
выведет эти сообщения если LOGLEVEL
установлен как medium
и т.д. Найти текущее значение:
$ grep -i "^loglevel" /etc/ufw/ufw.conf
LOGLEVEL=full
Это - источник проблемы, для избавлений от этих регулярных сообщений, которыми это должно быть LOGLEVEL=low
, это должно быть достаточно в большинстве случаев. От man ufw
:
low logs all blocked packets not matching the default policy
(with rate limiting), as well as packets matching logged rules.
Проверьте LOGGING
раздел man ufw
надевать больше идеи ufw
вход.
Попробуйте less /var/log/syslog
shift-f Нажатия для движения до конца файла, и наблюдать изменения как tail -f /var/log/syslog
необходимо видеть файл журнала.
должно быть немного мусора на них или возможно проблемах размера, которые предотвращают приложение Системного журнала для просмотра их. Так, переименуйте его и попытайтесь открыть приложение Системного журнала снова. Необходимо быть в состоянии видеть новый файл журнала.