| 原作者 | バラス・シャイドラー |
|---|---|
| 初回リリース | 1998 |
| 安定版リリース | 4.8.1 [1]
/ 2024年10月3日 |
| リポジトリ |
|
| オペレーティング·システム | Unixライク |
| タイプ | システムログ |
| ライセンス | |
| Webサイト | www.syslog-ng.com/products/open-source-log-management/ |
syslog-ng は、UnixおよびUnix ライクなシステム向けのsyslogプロトコルの無償かつオープンソースの実装です。コンテンツ ベースのフィルタリング、豊富なフィルタリング機能、柔軟な構成オプションにより、オリジナルの syslogd モデルを拡張し、TCP をトランスポートに使用するなど、syslog に重要な機能を追加します。Syslog-ng は、One Identity LLC のブダペスト オフィスで開発されています。共通のコードベースを持つ 3 つのエディションがあります。1 つ目は syslog-ng と呼ばれ、LGPL + GPLv2 ライセンスの syslog-ng Open Source Edition (OSE) とも呼ばれます。2 つ目は syslog-ng Premium Edition (PE) と呼ばれ、独自のライセンスの下で追加のプラグイン (モジュール)があります。3 つ目は syslog-ng Storebox (SSB) と呼ばれ、Web ベースの UI と、超高速テキスト検索、統合検索、コンテンツ ベースのアラート、プレミア ティア サポートなどの追加機能を備えたアプライアンスとして提供されます。[2]
2018 年 1 月、Balabit の一部である syslog-ng は、Quest Software 傘下の One Identity に買収されました。syslog-ng チームは、One Identity 組織内の独立した事業として存続し、syslog-ng ブランドの下で存続します。
プロトコル
syslog-ng は、 RFC 3164 で規定されている標準BSD syslogプロトコルを使用します。RFC 3164 のテキストは情報記述であり標準ではないため、互換性のない拡張機能がいくつか登場しました。バージョン 3.0 以降、syslog-ng は RFC 5424 で規定されている syslog プロトコルもサポートしています。syslog-ng はさまざまなデバイスと相互運用でき、中継されるメッセージの形式をカスタマイズできます。
元の syslog-ng プロトコルの拡張には次のものが含まれます。
- ミリ秒単位の精度とタイムゾーン情報を備えたISO 8601タイムスタンプ
- 追加のホストフィールドにリレーの名前を追加することで、特定のメッセージのパスを追跡できるようになります。
- TCPを使用した信頼性の高いトランスポート
- TLS暗号化(OSE 3.0.1以降[3])
歴史
syslog-ng プロジェクトは、syslog-ng の主要作者である Balázs Scheidler が既存の nsyslogd コードを Linux に移植した 1998 年に始まりました。syslog-ng の 1.0.x ブランチは依然として nsyslogd ソースに基づいており、syslog-ng ソース アーカイブで入手できます。[4]
syslog-ng 1.0.x のリリース直後、コード ベースの再実装が開始され、syslog のいくつかの欠点が解消され、syslog のオリジナル作成者である Darren Reed のライセンス問題も解消されました。この再実装は、1999 年 10 月にバージョン 1.2.0 がリリースされ、安定版と名付けられました。このとき、syslog-ng は、もともとNiels Möller がlsh用に開発したコードに依存していました。
3 つのメジャー リリース (1.2、1.4、1.6) がこのコード ベースを使用していました。1.6.x ブランチの最後のリリースは 2007 年 2 月でした。この約 8 年間で、syslog-ng は人気のある代替 syslog 実装の 1 つになりました。
ボランティアによる取り組みにより、 2001 年にさらに別の書き直しが開始され、lsh コードが削除され、より広く利用可能なGLibライブラリが使用されました。このコードベースの書き直しには時間がかかり、2.0.0 の最初の安定リリースは 2006 年 10 月に行われました。
開発努力は2.0.xブランチの改善に重点が置かれ、1.6.xのサポートは2007年末に廃止されました。2.xのサポートは2009年末に廃止されましたが、一部のLinuxディストリビューションではまだ使用されています。[5] [6] syslog-ngの開発元であるBalabitは、syslog-ngの並行商用フォークであるsyslog-ng Premium Editionを開始しました。商用収入の一部は、無料バージョンの開発を支援するために使用されます。
Syslog-ng バージョン 3.0 は 2008 年第 4 四半期にリリースされました。
3.0 バージョン以降、開発作業はプレミアム エディションとオープン ソース エディションで並行して行われました。PE の作業は、品質、転送の信頼性、パフォーマンス、および暗号化されたログ ストレージに重点を置いていました。オープン ソース エディションの作業は、コア インフラストラクチャの柔軟性を向上させて、より多くの異なる非 syslog メッセージ ソースを許可することに重点を置いていました。
syslog-ng 3.X シリーズでは、下位互換性を損なうことなく、syslog-ng に多くの大きな変更が加えられました。syslog-ng はモジュール化され、マルチスレッド化されました。さまざまなドキュメント ストアとメッセージ キューイング システムのサポートが追加されました。多くのメッセージ タイプが自動的に解析され、名前と値のペアに変換されるようになりました。Java と Python を使用して syslog-ng を拡張できるようになりました。
syslog-ng のバージョン 4.0 は、2022 年 12 月にリリースされました。バージョン番号の主な変更は、3.X シリーズと互換性のない名前と値のペアのタイプ サポートの大幅な変更のために必要でした。これにより、より正確なフィルタリングが可能になり、適切なタイプ情報を含むデータをデータベースやドキュメント ストアに送信できます。syslog-ng PE はオープン ソース エディションに基づいていますが、バージョン番号は完全に独立しています。
特徴
syslog-ng は、syslog メッセージを転送し、プレーンテキスト ログ ファイルに保存する機能に加えて、さまざまな機能を提供します。
- Unix シェルのような変数拡張を使用してログ メッセージをフォーマットする機能 (クロスプラットフォームのログ フォーマットの互換性が損なわれる可能性があります)
- ファイルに名前を付けるときにこのシェルのような変数拡張を使用すると、1つのステートメントで複数の宛先ファイルをカバーできます。
- ローカルアプリケーションにログメッセージを送信する機能
- ネットワークトランスポートにおけるメッセージフロー制御のサポート
- データベースへの直接ログイン (syslog-ng OSE 2.1 以降)
- syslog メッセージの一部を set および replace プリミティブで書き換えます (syslog-ng OSE 3.0 以降)
- 受信したログメッセージを分類し、同時に非構造化 syslog メッセージから構造化情報を抽出します (syslog-ng OSE 3.0 以降)
- 一般的な名前と値のサポート: 各メッセージは単なる名前と値のペアのセットであり、追加情報を保存するために使用できます (syslog-ng OSE 3.0 以降)
- CSV形式の行から列を抽出するなど、syslog 経由で送信される構造化メッセージ形式を処理する機能(syslog-ng OSE 3.0 以降)
- 複数の受信メッセージを相関させて、より複雑で相関のあるイベントを形成する機能(syslog-ng OSE 3.2以降)[7]
配布
syslog-ng は、さまざまな Linux および Unix ディストリビューションで利用できます。一部のディストリビューションでは、システムのデフォルトとしてインストールされるか、以前の標準 syslogd を置き換えるパッケージとして提供されます。syslog-ng を使用していたいくつかの Linux ディストリビューションでは、これをrsyslogに置き換えました。[引用が必要]
- openSUSEはこれをopenSUSE 11.2より前のバージョンでデフォルトとして使用しており、現在でも利用可能です。
- SLESはSUSE Linux Enterprise Server 12より前に使用していました。
- Debian GNU/Linuxは5.0より前はsyslogdとklogdを使用していましたが、5.0以降(「Lenny」)ではrsyslogが使用されています[8]
- ジェントゥーリナックス
- FedoraはFedora 10より前に使用していました
- Arch Linuxは2012年にsystemdが採用される前はこれをデフォルトとして使用していた。
- ヒューレット・パッカードのHP-UX
- FreeBSDポート
- CygwinポートはMicrosoft Windowsで利用可能です
ポータビリティ
syslog-ng は、新旧を問わず多くの Unix システムへの移植性に優れています。現在動作することが確認されている Unix バージョンの一覧を以下に示します。
- i386、ARM、PowerPC、SPARC、x86-64 CPU上のLinux
- i386およびx86-64 CPU上のFreeBSD 7.x - 9.x
- IBM Power マイクロプロセッサ上のAIX 5、6、7
- PA-RISCおよびItanium CPU上のHP-UX 11iv1、11iv2、11iv3
- SPARC、x86-64、i386 CPU 上のSolaris 8、9、10
- Alpha CPU上のTru64 5.1b
上記のリストは BalaBit の現在の直接的な経験に基づいています。他のプラットフォームでも機能する可能性がありますが、結果は異なる場合があります。
関連RFCとワーキンググループ
- RFC 3164 – BSD syslog プロトコル
- RFC 5424 – Syslog プロトコル
- RFC 5425 – Syslog のトランスポート層セキュリティ (TLS) トランスポート マッピング
- RFC 5426 – UDP 経由の Syslog メッセージの送信
参照
参考文献
- ^ 「リリース 4.8.1」。2024年10月3日。 2024年10月27日閲覧。
- ^ 「syslog-ng - ログ管理ソリューション」www.syslog-ng.com . 2024年9月9日閲覧。
- ^ 「Changelog 3.0.1」。2009年1月21日閲覧。
- ^ "インタビュー: syslog-ng 2.0 開発者 Balázs Scheidler" . 2024 年 7 月 31 日に取得。
- ^ 「Debian syslog-ng パッケージ」。2011年 11 月 11 日閲覧。
- ^ 「SLES syslog-ng ドキュメント」(PDF)。2011 年 8 月 13 日のオリジナル(PDF)からアーカイブ。2011 年 11 月 11 日に取得。
- ^ 「syslog-ng による lo メッセージの関連付け」。2011年 11 月 11 日閲覧。
- ^ 「第 2 章 Debian GNU/Linux 5.0 の新機能」。2010年 5 月 22 日閲覧。
