системный журнал
Оригинальный автор(ы) | Балаж Шайдлер |
---|---|
Первоначальный выпуск | 1998 |
Стабильная версия | 4.8.0 [1]
/ 23 июля 2024 г |
Репозиторий | |
Операционная система | Unix-подобный |
Тип | Системное журналирование |
Лицензия | |
Веб-сайт | www |
syslog-ng — это с открытым исходным кодом бесплатная реализация протокола системного журнала для Unix и Unix-подобных систем. Он расширяет исходную модель syslogd фильтрацией на основе содержимого, богатыми возможностями фильтрации, гибкими параметрами конфигурации и добавляет в системный журнал важные функции, такие как использование TCP для транспорта. Syslog-ng разработан в будапештском офисе One Identity LLC. Он имеет три редакции с общей кодовой базой. Первый называется syslog-ng, также называемый syslog-ng Open Source Edition (OSE) с лицензией LGPL + GPLv2. Второй называется syslog-ng Premium Edition (PE) и имеет дополнительные плагины (модули) под проприетарной лицензией . Третий называется syslog-ng Storebox (SSB) и представляет собой устройство с веб-интерфейсом пользователя, а также дополнительными функциями, включая сверхбыстрый текстовый поиск, унифицированный поиск, оповещения на основе контента и поддержку высшего уровня. [2]
В январе 2018 года syslog-ng как часть Balabit была приобретена One Identity под эгидой Quest Software. Команда syslog-ng остается независимым бизнесом в рамках организации One Identity и продолжает работать под брендом syslog-ng.
Протокол
[ редактировать ]syslog-ng использует стандартный BSD протокол системного журнала , указанный в RFC 3164. Поскольку текст RFC 3164 представляет собой информационное описание, а не стандарт, возникли некоторые его несовместимые расширения. Начиная с версии 3.0 syslog-ng также поддерживает протокол системного журнала, указанный в RFC 5424. syslog-ng взаимодействует с различными устройствами, а формат ретранслируемых сообщений можно настраивать.
Расширения исходного протокола syslog-ng включают:
- Временные метки ISO 8601 с миллисекундной детализацией и информацией о часовом поясе.
- Добавление имени реле в дополнительные поля хоста, чтобы можно было отслеживать путь данного сообщения.
- Надежный транспорт с использованием TCP
- TLS (Начиная с версии 3.0.1 в операционной среде Шифрование [3] )
История
[ редактировать ]Проект syslog-ng начался в 1998 году, когда Балаж Шейдлер, основной автор syslog-ng, перенес существующий код nsyslogd в Linux. Ветка syslog-ng 1.0.x по-прежнему основывалась на исходниках nsyslogd и доступна в архиве исходников syslog-ng. [4]
Сразу после выпуска syslog-ng 1.0.x началась повторная реализация базы кода для устранения некоторых недостатков системного журнала и решения проблем лицензирования Даррена Рида, первоначального автора системного журнала. Эта повторная реализация была названа стабильной в октябре 1999 года с выпуском версии 1.2.0. На этот раз syslog-ng зависел от кода, первоначально разработанного для lsh Нильсом Мёллером.
Три основных выпуска (1.2, 1.4 и 1.6) использовали эту базу кода, последний выпуск ветки 1.6.x вышел в феврале 2007 года. За этот период около 8 лет syslog-ng стал одной из популярных альтернативных реализаций системного журнала.
В 2001 году добровольцами была начата еще одна переработка , в результате которой был удален код lsh и использована более широко доступная библиотека GLib . Переписывание кодовой базы заняло время: первый стабильный выпуск 2.0.0 вышел в октябре 2006 года.
Усилия разработчиков были сосредоточены на улучшении ветки 2.0.x; поддержка 1.6.x была прекращена в конце 2007 года. Поддержка 2.x была прекращена в конце 2009 года, но она все еще используется в некоторых дистрибутивах Linux. [5] [6] Balabit, компания, разрабатывающая syslog-ng, запустила параллельную коммерческую версию syslog-ng под названием syslog-ng Premium Edition. Часть коммерческого дохода используется для финансирования разработки бесплатной версии.
Версия Syslog-ng 3.0 была выпущена в четвертом квартале 2008 года.
Начиная с версии 3.0, разработки велись параллельно над версиями Premium и Open Source. Усилия PE были сосредоточены на качестве, надежности транспортировки, производительности и зашифрованном хранении журналов. Усилия Open Source Edition были сосредоточены на повышении гибкости базовой инфраструктуры, чтобы обеспечить все больше и больше различных источников сообщений, не связанных с системным журналом.
Серия syslog-ng 3.X принесла много серьезных изменений в syslog-ng без нарушения обратной совместимости. Syslog-ng стал модульным и многопоточным. Добавлена поддержка различных хранилищ документов и систем очередей сообщений. Многие типы сообщений теперь автоматически анализируются и преобразуются в пары имя-значение. Стало возможным расширение syslog-ng с помощью Java и Python.
Версия 4.0 syslog-ng была выпущена в декабре 2022 года. Изменение основного номера версии было необходимо из-за серьезного изменения в поддержке типов пар имя-значение, которое было несовместимо с серией 3.X. Это позволяет более точно фильтровать и отправлять данные с соответствующей информацией о типе в базы данных и хранилища документов. Хотя syslog-ng PE основан на версии с открытым исходным кодом, нумерация версий полностью от нее не зависит.
Функции
[ редактировать ]syslog-ng предоставляет ряд функций в дополнение к транспортировке сообщений системного журнала и хранению их в текстовых файлах журналов:
- Возможность форматировать сообщения журнала с использованием расширения переменных, подобных оболочке Unix (может нарушить совместимость межплатформенных форматов журналов).
- Использование этого расширения переменных, похожего на оболочку, при именовании файлов, охватывающее несколько целевых файлов одним оператором.
- Возможность отправлять сообщения журнала в локальные приложения.
- Поддержка управления потоком сообщений в сетевом транспорте
- Вход непосредственно в базу данных (начиная с системного журнала OSE 2.1)
- Перезапишите части сообщения системного журнала с помощью примитивов set и replace (начиная с syslog-ng OSE 3.0).
- Классифицировать входящие сообщения журнала и в то же время извлекать структурированную информацию из неструктурированного сообщения системного журнала (начиная с syslog-ng OSE 3.0).
- Общая поддержка имени-значения: каждое сообщение представляет собой просто набор пар имя-значение, которые можно использовать для хранения дополнительной информации (начиная с syslog-ng OSE 3.0).
- Возможность обрабатывать форматы структурированных сообщений, передаваемых через системный журнал, например извлекать столбцы из строк в формате CSV (начиная с syslog-ng OSE 3.0).
- Возможность коррелировать несколько входящих сообщений для формирования более сложного коррелированного события (начиная с syslog-ng OSE 3.2); [7]
Распределения
[ редактировать ]syslog-ng доступен в ряде различных дистрибутивов Linux и Unix. Некоторые устанавливают его по умолчанию в системе или предоставляют в виде пакета, который заменяет предыдущий стандартный syslogd. В нескольких дистрибутивах Linux, использовавших syslog-ng, его заменили на rsyslog . [ нужна ссылка ]
- openSUSE использовал его по умолчанию до openSUSE 11.2 и до сих пор доступен.
- SLES использовал его до SUSE Linux Enterprise Server 12.
- В Debian GNU/Linux до версии 5.0 использовались syslogd и klogd; post-5.0 («Ленни»), используется rsyslog [8]
- Генту Линукс
- Fedora использовала его до Fedora 10.
- Arch Linux использовал его по умолчанию до принятия systemd в 2012 году.
- Hewlett-Packard от HP-UX
- FreeBSD Порт
- Порт Cygwin доступен для Microsoft Windows.
Портативность
[ редактировать ]syslog-ng легко переносится на многие системы Unix, как старые, так и новые. Список известных на данный момент рабочих версий Unix приведен ниже:
- Linux на i386 , ARM , PowerPC, SPARC и x86-64. процессорах
- FreeBSD 7.x–9.x на i386 и x86-64 процессорах
- AIX 5, 6 и 7 на микропроцессорах IBM Power
- HP-UX 11iv1, 11iv2 и 11iv3 на PA-RISC и Itanium процессорах
- Solaris 8, 9, 10 на процессорах SPARC, x86-64 и i386.
- Tru64 5.1b на процессорах Alpha
Приведенный выше список основан на текущем личном опыте BalaBit. Другие платформы также могут работать, но ваш опыт может отличаться.
Соответствующие RFC и рабочие группы
[ редактировать ]- RFC 3164 — протокол системного журнала BSD.
- RFC 5424 — Протокол системного журнала
- RFC 5425 — Транспортное сопоставление безопасности транспортного уровня (TLS) для системного журнала
- RFC 5426 — передача сообщений системного журнала через UDP
См. также
[ редактировать ]- Нкслог
- Датадог
- Системный журнал
- Системный журнал
- Journald – включает в себя системного журнала. функциональность
- Грейлог
Ссылки
[ редактировать ]- ^ «Выпуск 4.8.0» . 23 июля 2024 г. Проверено 28 июля 2024 г.
- ^ «Syslog-ng — решения для управления журналами» .
- ^ «Журнал изменений 3.0.1» . Проверено 21 января 2009 г.
- ^ «Интервью: разработчик syslog-ng 2.0 Балаж Шайдлер» . Проверено 31 июля 2024 г.
- ^ «Пакет Debian syslog-ng» . Проверено 11 ноября 2011 г.
- ^ «Документация SLES syslog-ng» (PDF) . Архивировано из оригинала (PDF) 13 августа 2011 г. Проверено 11 ноября 2011 г.
- ^ «Соотнесение сообщений lo с syslog-ng» . Проверено 11 ноября 2011 г.
- ^ «Глава 2. Что нового в Debian GNU/Linux 5.0» . Проверено 22 мая 2010 г.