Как я получаю отладочную информацию от rsyslog?

Если это - то прочь, и Вы не хотите изучать Python, жемчуг или awk, можно пойти с основным split и sort команды.

Сначала разделите файл в 4 блоках строки с -l опция:

split -a 6 -l 4 input_file my_prefix_
for fn in my_prefix_*; do
    sort -n -o $fn $fn
done
cat my_prefix_* > output_file
rm my_prefix_*

sort -n виды численным значением первого столбца (999 до 1234). -a 6 должен заботиться о файле с 26^6*4 строки. my_prefix_ должно быть что-то уникальное для каталога, с которым Вы работаете.

3
26.04.2016, 03:21
2 ответа

Эта статья должна показать, как работает функция "отладка по требованию" в rsyslog. Она была протестирована и проверена с помощью rsyslog 6.1.0 (v6-Devel) на Fedora 13 (шаги могут отличаться на других ОС). Предполагается, что rsyslog уже работает в системе. Замечания по установке и настройке смотрите в документации. Отладка по требованию доступна с версии 4.5.7.

Чтобы эта опция заработала, ее нужно сначала включить. Для этого нужно включить ее и указать путь для файла журнала отладки. Откройте терминал с правами root и выполните следующие команды:

export RSYSLOG_DEBUG="DebugOnDemand NoStdOut"
export RSYSLOG_DEBUGLOG=/somepath/example.log

Первая опция включает "отладку по требованию" без стандартного вывода. Это необходимо для того, чтобы она была отключена при запуске службы. Вторая опция указывает путь и имя файла журнала.

Теперь нам необходимо остановить службу rsyslog. Используйте следующую команду:

/etc/rc.d/init.d/rsyslog stop

Теперь мы остановили службу и должны запустить ее снова. В текущей конфигурации нам нужно запустить rsyslog как приложение переднего плана. Так как настроить его таким образом намного проще, rsyslog должен быть приложением переднего плана для работы "отладки по требованию", а не фоновой службой. Запустите его снова как приложение переднего плана с помощью следующей команды:

rsyslogd -n

Откройте второй терминал (снова с правами root), чтобы мы могли включить или отключить "отладку по требованию". Используйте эту команду:

kill -USR1 `cat /var/run/rsyslogd.pid`

Использование этой команды один раз включит режим отладки. Повторное использование отключит его. Обратите внимание, что вам обязательно нужен "-USR1″, иначе rsyslog будет действительно убит. Далее убедитесь, что вы используете обратные знаки. Это очень важно.

Вот в принципе и все. Теперь вы можете просмотреть ваши файлы журнала "отладки по требованию".

2
27.01.2020, 21:23

Я пытался использовать метод отладки, описанный выше в файле rsyslog.conf, но получил ошибки в логах о том, что $DebugFile и т.д. не был распознан как команда.

Моим решением было следовать процессу отладки по требованию здесь .

Немного длинный, но, по крайней мере, сработало.

1
27.01.2020, 21:23

Теги

Похожие вопросы