![syslog、rsyslog、syslog-ng の違いは何ですか?](https://rvso.com/image/658365/syslog%E3%80%81rsyslog%E3%80%81syslog-ng%20%E3%81%AE%E9%81%95%E3%81%84%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B%3F%20.png)
syslog、rsyslog、syslog-ng については少し混乱しています。
のソースコードはどこから入手できますかsyslog()
?
rsyslog と rsyslogd には違いがありますか?
答え1
基本的に、これらはすべて同じであり、さまざまなタイプのシステムからのデータを中央リポジトリに記録することを可能にします。
しかし、これらは 3 つの異なるプロジェクトであり、各プロジェクトは以前のプロジェクトをより高い信頼性と機能性で改善しようとしています。
このSyslog
プロジェクトは、まさに最初のプロジェクトでした。1980 年に開始されました。これはプロトコルのルート プロジェクトですSyslog
。この時点で、Syslog は非常に単純なプロトコルです。当初はトランスポートとして UDP のみをサポートしていたため、メッセージの配信は保証されませんでした。
次はsyslog-ng
1998 年に登場しました。基本syslog
プロトコルを拡張して次のような新機能が追加されました。
- コンテンツベースのフィルタリング
- データベースに直接ログインする
- トランスポート用のTCP
- TLS暗号化
次はRsyslog
2004 年に登場しましたsyslog
。次のような新機能でプロトコルが拡張されました。
- RELPプロトコルのサポート
- バッファ操作のサポート
現在、3 つのプロジェクトが同時に進行しており、バージョンごとに別々に成長しているものの、隣のプロジェクトが行っていることと並行して成長しているとします。
個人的には、今日がsyslog-ng
ほとんどの場合の基準になると思います。これは、簡単で包括的なセットアップと構成に加えて、必要な主な機能を提供する最も成熟したプロジェクトだからです。
答え2
これらは 3 つの異なる種類のログ マネージャーです。これにより、システムがログを収集、フィルター、送信、保存できるようになります。
Syslog
(デーモンの名前もsysklogd
) は、一般的な Linux ディストリビューションのデフォルトの LM です。軽量ですが柔軟性は高くありませんが、機能と重大度でソートされたログ フローをファイルやネットワーク (TCP、UDP) 経由でリダイレクトできます。rsyslog
sysklogd
は、設定ファイルが同じままの「高度な」バージョンです(syslog.conf
ファイルを直接コピーしrsyslog.conf
て動作させることができます)。ただし、多くの新しい便利な機能が追加されています。- 制限(ポート、ソース IP)付きで TCP/UDP/... 接続をリッスンできます。
- 多くのモジュールをロードできます
- プログラム、ソース、メッセージ、PID などでログ フィルタリングを区別できます (たとえば、各メッセージは「接続が閉じられました」というメッセージでタグ付けされ、closed.log ファイルに保存されます)
- 1つ以上のルールの後にメッセージを破棄できますhttp://www.rsyslog.comそれは本当に良いことだ
Syslog-ng は「次世代」です。ログを管理するにはこれが最善の方法だと思います。すべてがオブジェクト (ソース、宛先、フィルター、転送ルール) であり、構文が明確です。機能面では、 と が異なるかどうか疑問
rsyslog
ですsyslog-ng
。
答え3
syslog() のソースコードはどこから入手できますか
これは、glibcまたは他の Unix フレーバーの libc 実装。この呼び出しは基本的に、メッセージを syslog unix ドメイン ソケット /dev/log に送信します。このソケットは通常、システム ロガー (rsyslog、syslog-ng、nxlog など) によって作成されます。
答え4
これらはすべて syslog デーモンですが、rsyslog と syslog-ng は、従来の (ほとんどメンテナンスされていない) syslogd のより高速で機能豊富な代替品です。syslog-ng はゼロから (異なる構成形式を使用して) 開始されましたが、rsyslog は元々 syslogd のフォークであり、その構文をサポートおよび拡張しました。近年、rsyslog は新しい構成形式のサポートも開始しました。今では、非常に細かい点に踏み込んで炎上することなく、この 2 つを比較するのは非常に困難です。
Syslog は一般的に、さまざまな意味を持つため、非常に混乱を招きます。ここで曖昧さを解消しようと試みました。https://sematext.com/blog/2017/01/30/what-is-syslog-daemons-message-formats-and-protocols/