Почему файл системного журнала Linux не следует протоколу RFC3339?

Обычная техника для оболочек, которые не имеют a nullglob опция

set -- [*].type *.type
case $1$2 in
  '[*].type*.type') shift 2;;
  *) shift
esac
for file do
  cmd  -- "$file"
done

Дополнительное [*].type должен покрыть случай, где существует один названный файл *.type в текущем каталоге.

Теперь, если Вы хотите включать точечные файлы, который становится более сложным.

Я полагаю, что техника была выдумана Laura Fairhead в Usenet несколько лет назад.

4
01.11.2013, 20:33
1 ответ

От RFC 5424 (который устанавливает протокол системного журнала и относится к RFC 3339 для меток времени), "1. Введение":

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

Этот документ не описывает формата устройства хранения данных для системного журнала
сообщения. Это вне объема протокола системного журнала и
ненужный для системной совместимости.

Сообщение здесь относится к тому, что должно быть зарегистрировано, а НЕ формат входа. Другими словами: журнал не является сообщением, и RFC о сообщении, не журнале.

Материал Вы видите в /var/log/syslog "хранивший формат" сообщения. Тот формат определяется тем, как Вы настроили свой конкретный системный журнал, и как преамбула указывает, нет никакой реальной необходимости никакого протокола там, по крайней мере, насколько "системная совместимость" идет.

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

Демон системного журнала, получающий такие сообщения, затем запишет им в файл, но он не пишет им дословно - он пишет им в соответствии с его конфигурацией. При рассмотрении RFC далее Вы заметите, что существуют многие, много путей в который /var/log/syslog не соответствует. Смотрите на ABNF в начале раздела 6 - это просто не описывает строку в файле журнала (заметьте, что метка времени является совсем не первым объектом!). Это - структурированный формат для сериализации сообщений для передачи.

5
27.01.2020, 20:54
  • 1
    @GreivinLópez, если это отвечает на Ваш вопрос, можно ли отметить его, как принято? Спасибо –  Patrick 22.12.2013, 08:38

Теги

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