А также объекты общей системы (mail
, news
, daemon
, cron
и т. д.) системный журнал предоставляет ряд «локальных» средств, номера от 0 до 7: LOCAL0
, LOCAL1
, ..., LOCAL7
.
Какие из них являются программами по умолчанию для обычных приложений?
Я хочу выяснить, какие объекты «традиционно» используются для хорошо известных услуг. Я буду развертывать приложение на многих серверах с различным установленным программным обеспечением и хотел бы посмотреть, есть ли «бесплатное» средство, которое я мог бы легко использовать для своих собственных журналов.
В качестве примечания, я понимаю, что есть другие способы сделать это, кроме средства системного журнала. Просто любопытно!
Вот некоторые из них (начало ответа на мой вопрос) и некоторые благодарности voretaq7:
LOCAL0
используется postgresqlLOCAL2
используется sudoLOCAL3
используется некоторыми версиями SpamAssassinLOCAL4
по умолчанию используется slapd (сервер OpenLDAP)LOCAL5
иногда используется Snort IDSLOCAL7
используется для сообщений загрузки в Fedora 12В LOCALn
Услуги доступны для любого местного использования и могут довольно широко варьироваться от сайта к сайту.
Я гарантирую, что каждый из 8 доступных используется чем-то, поэтому, если вы хотите избежать конфликтов, мой лучший совет - записать все 7 в отдельные журналы и выбрать тот, который, похоже, больше не используется.
Некоторые из них вы пропустили (настройки программы по умолчанию - могут быть изменены локально, поэтому проверьте еще раз):
LOCAL0
используется postgresql (если настроен для входа в системный журнал)LOCAL2
используется sudo (если настроен для входа в системный журнал)LOCAL3
используется некоторыми версиями SpamAssassin mail
вместоLOCAL5
иногда используется Snort IDS Не существует стандарта для средств системного журнала LOCAL0-LOCAL7. По замыслу, вы не можете рассчитывать, будут ли они чем-либо использованы. Определенные дистрибутивы или организации могут иметь свои собственные соглашения, но это зависит от политики дистрибутива или организации, а не какого-либо более широкого стандарта.
Рассматривали ли вы в качестве альтернативы использование «тегов» системного журнала? Теги - это строки произвольной формы, которые добавляются к сообщениям журнала для идентификации конкретных приложений или каналов журнала. По умолчанию тег обычно формируется из имени и идентификатора процесса (например, 'httpd [2839]'), создавшего данные журнала. Утилита командной строки 'logger' и большинство API-интерфейсов Syslog поддерживают указание любых тегов, которые вы хотите использовать для своих приложений.
Например, мне лично нравится использовать http-access для моих журналов доступа к веб-серверу Apache, которые я отправляю в Syslog, передавая вывод журнала Apache по конвейеру команде logger -p local7.info -t 'http-access'.
Большинство файлов syslog.conf настраиваются с использованием подстановочных знаков для файла сообщений (* .info). Если это просто запуск приложения для мельницы, а не какая-то полноценная корова, выкачивающая журнал, вам, вероятно, следует просто войти в сообщения, а не в отдельный файл.
Выбор входа в собственный файл означает добавление в пакеты установки вашего программного обеспечения шага после установки, который добавляет соответствующую запись в syslog.conf. Это также означает, что, если вы любите, вы бы добавили этап после установки, который также создает соответствующий файл logrotate.
Я также искал файл конфигурации, такой как syslog.conf, для перекрестной ссылки на средства local0-7 с программой, которая пишет в них. Похоже, что такого конфигурационного файла не существует. Чтобы узнать, какая программа записывает в журнал, вам нужно открыть файл журнала и найти имя программы рядом со столбцом рядом с двоеточием, например ... sendmail [22950]: для программы sendmail. Число в квадратных скобках обозначает номер порта, используемый во время выполнения программы.