Назад | Перейти на главную страницу

Какие программы по умолчанию используют локальные [0-7] средства syslog?

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

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

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

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

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

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

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

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

  • LOCAL0 используется postgresql (если настроен для входа в системный журнал)
  • LOCAL2 используется sudo (если настроен для входа в системный журнал)
  • LOCAL3 используется некоторыми версиями SpamAssassin
    • Это часто изменяется локальным администратором, чтобы войти в mail вместо
  • LOCAL5 иногда используется Snort IDS
    • Не знаю, по умолчанию это или просто совпадение, но я видел это на нескольких установках Snort.

Не существует стандарта для средств системного журнала 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. Число в квадратных скобках обозначает номер порта, используемый во время выполнения программы.