В каких программах по умолчанию используются средства системного журнала [0-7]?

19

Помимо общей системы объектов ( mail, news, daemon, cronи т.д.), системный журнал предоставляет ряд «локальных» объектов, цифры от 0 до 7: LOCAL0, LOCAL1, ..., LOCAL7.

Какие из них являются программными настройками по умолчанию для обычных приложений?

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

Как примечание, я понимаю, что есть другие способы сделать это, кроме средства системного журнала. Просто любопытно!

Вот некоторые из них (начало ответа на мой собственный вопрос) и некоторые благодарности voretaq7:

  • LOCAL0 используется postgresql
  • LOCAL2 используется sudo
  • LOCAL3 используется некоторыми версиями SpamAssassin
  • LOCAL4 по умолчанию используется slapd (сервер OpenLDAP)
  • LOCAL5 иногда используется Snort IDS
  • LOCAL7 используется для загрузки сообщений в Fedora 12
Джонатан Кларк
источник
Разве во всех журналах не указано имя процесса или пользовательское имя, которое его отправило? Я использую для работы с системными журналами, и я не помню, чтобы столкнулись с проблемами фильтрации записей журнала по приложению.
Сцепление
сцепление, вы имеете в виду «тег» системного журнала. По умолчанию в Linux тег состоит из имени и идентификатора процесса, например httpd [1234], который сгенерировал сообщение журнала. Но вы можете установить для тега все, что захотите, через Syslog API. Смотрите мой ответ ниже, для более подробной информации.
Райан Б. Линч

Ответы:

7

В LOCALnобъектах доступны для любого местного применения и могут варьироваться в довольно широких пределах от сайта к сайту.

Я гарантирую, что все 8 из них используются чем-то, поэтому, если вы хотите избежать конфликтов, мой лучший совет - записать все 7 в отдельные журналы и выбрать тот, который больше не используется.

Некоторые из них вы пропустили (программы по умолчанию - могут быть изменены локально, поэтому проверьте еще раз):

  • LOCAL0 используется postgresql (если настроено для входа в системный журнал)
  • LOCAL2 используется sudo (если настроено для входа в системный журнал)
  • LOCAL3 используется некоторыми версиями SpamAssassin
    • Это часто изменяется локальным администратором, чтобы войти mailвместо
  • LOCAL5 иногда используется Snort IDS
    • Я не знаю, по умолчанию это или просто совпадение, но я видел это на нескольких установках Snort
voretaq7
источник
Большой! Это именно то, что я ищу - программа по умолчанию. Больше приветствуются! Ясно, что будут использоваться различные средства, я просто смотрю, какие приложения будут мешать мне.
Джонатан Кларк
2

Стандартов для средств системного журнала LOCAL0-LOCAL7 не существует. По замыслу, вы не можете рассчитывать, будут ли они использоваться чем-либо. Отдельные дистрибутивы или организации могут иметь свои собственные соглашения, но это зависит от политики дистрибутива или организации, а не от какого-либо более широкого стандарта.

В качестве альтернативы, вы рассматривали возможность использования тегов Syslog? Теги - это строки произвольной формы, которые добавляются в сообщения журнала для идентификации определенных приложений или каналов журнала. По умолчанию тег обычно формируется из имени процесса и идентификатора (например, «httpd [2839]»), которые генерировали данные журнала. Утилита командной строки 'logger' и большинство API Syslog поддерживают указание любых тегов, которые вы хотите использовать для своих приложений.

Например, мне лично нравится использовать http-доступ для журналов доступа к веб-серверу Apache, которые я отправляю в Syslog, отправляя выходные данные журнала Apache в команду 'logger -p local7.info -t' http-access '.

Райан Б. Линч
источник
Интересно, спасибо. Однако я строю решение поверх некоторого существующего программного обеспечения, которое можно настроить для входа в систему с одного из LOCAL0 через LOCAL7. Мой вопрос действительно касается настроек по умолчанию, которые использует различное программное обеспечение.
Джонатан Кларк
Имеет смысл, я пропустил это. Но я укажу, что здесь есть опасность полагаться на нестандартное поведение. Разработчики или упаковщики OpenLDAP, Fedora и т. Д. Могут (а иногда и делают) изменять это поведение от версии к версии. Нет никаких гарантий, что обновление не будет отличаться от выбора средств Syslog, сделанного в прошлом. Это не соглашение, а просто потенциальная проблема, за которой вы можете следить.
Райан Б. Линч
2

Большинство файлов syslog.conf настроены с использованием подстановочных знаков для файла сообщений (* .info). Если это всего лишь запуск приложения для мельницы, а не какой-то полной коровы, занимающейся журналом, вам, вероятно, следует просто регистрировать сообщения, а не отдельный файл.

Выбор входа в свой собственный файл означает добавление шага после установки к установочным пакетам вашего программного обеспечения, который добавляет соответствующую запись в syslog.conf. Это также означает, что если вам нравится, вы бы добавили шаг postinstall, который также создает соответствующий файл logrotate.

CarpeNoctem
источник
Хороший совет относительно упаковки для syslog и logrotate. Благодарю.
Джонатан Кларк
-3

Я также искал файл конфигурации, такой как syslog.conf, для перекрестной ссылки на средства local0-7 для программы, которая пишет им. Похоже, что такой файл конфигурации не существует. Чтобы узнать, какая программа записывает в журнал, вам нужно открыть файл журнала и найти имя программы рядом со столбцом рядом с двоеточием, например ... sendmail [22950]: для программы sendmail. Число в квадратных скобках соответствует номеру порта, который использовался во время выполнения программы.

Виктор
источник