syslog、rsyslog、syslog-ngの違いは何ですか?


61

syslog、rsyslog、syslog-ngで少し混乱しています。

どこからソースコードを入手できsyslog()ますか?

rsyslogとrsyslogdに違いはありますか?


D文字のrsyslogdはrsyslogdデーモンです
-c4f4t0r

3
完全を期すために、私が見つけた違いを1つ追加します。syslog-ngはfopenを使用し、rsyslogはfappendを使用します。これはchattr +a、syslogファイルの場合に重要です。ほとんどの人はこれをしません、私は特別なユースケースを持っていた、それが私が見つけた方法です。私はたくさんの人がうんざりしました。
アーロン

回答:


52

基本的に、これらはすべて同じであり、中央リポジトリ内の異なるタイプのシステムからのデータのロギングをすべて許可するという点で。

しかし、それらは3つの異なるプロジェクトであり、各プロジェクトは以前のプロジェクトをより高い信頼性と機能で改善しようとしています。

このSyslogプロジェクトは最初のプロジェクトでした。1980年に開始されました。これは、Syslogプロトコルのルートプロジェクトです。現時点では、Syslogは非常に単純なプロトコルです。最初は、トランスポートでUDPのみをサポートしているため、メッセージの配信は保証されません。

次にsyslog-ng1998年に登場しました。次のようsyslogな新機能で基本プロトコルを拡張します。

  • コンテンツベースのフィルタリング
  • データベースへの直接ログイン
  • トランスポート用のTCP
  • TLS暗号化

次にRsyslog2004年に登場しました。次のようsyslogな新機能でプロトコルを拡張しています。

  • RELPプロトコルのサポート
  • バッファー操作のサポート

今日、それらはバージョンごとに別々に成長したが、隣人が何をしていたかに関して並行して成長した3つの並行プロジェクトであるとしましょう。

syslog-ng簡単で包括的なセットアップと構成に加えて、必要な主な機能を提供する最も成熟したプロジェクトであるため、今日はほとんどの場合、これが参考になると個人的に考えています。


1
記録のために、OpenBSDのsyslogはTCPおよびTLS(およびUDP)を実行できます
Neil McGuigan

32

これらは3種類のログマネージャーです。これにより、システムでフィルターを収集し、ログを送信/保存できます。

  • Syslog(デーモンとも呼ばれるsysklogd)は、一般的なLinuxディストリビューションのデフォルトLMです。軽量ですがあまり柔軟性がありません。ファシリティと重大度でソートされたログフラックスをファイルおよびネットワーク(TCP、UDP)にリダイレクトできます。
  • rsyslog構成sysklogdファイルが同じままの「高度な」バージョンです(syslog.confファイルを直接コピーしrsyslog.confて動作します)。しかし、あなたはそれに来る多くの新しいクールなものを持っています:

    • TCP / UDP / ...接続をリッスンできますが、制限(ポート、ソースIP)があります
    • 多くのモジュールをロードできます
    • プログラム、ソース、メッセージ、pidなどによってログフィルタリングを区別できます(たとえば、closed.logファイルに「connexion closed」というメッセージがタグ付けされた各メッセージ)
    • 1つ以上のルールの後にメッセージを破棄できます。http: //www.rsyslog.comにアクセスしてください
  • Syslog-ngは「Next-Gen」です。ログを管理する最良の方法だと思います。すべてがオブジェクト(ソース、宛先、フィルター、転送ルール)であり、構文は明確です。機能の面では、それrsyslogsyslog-ngは異なります。


8
私は、syslog-ngとrsyslogの両方が「次世代」、または少なくとも古いsyslogの新しい代替品であると主張します。どちらも機能の点では同等ですが、両方の構文は非常に異なります。syslog-ngには独自の構文がありますが、rsyslogの構文は古いsyslog構文に似ています。
ステファンLasiewski

9
そして、そこにjournalctl/journald
Mausy5043

9

syslog()のソースコードはどこから入手できますか

これは、glibcまたは他のUnixフレーバーのlibc実装によって提供されます。この呼び出しは、基本的にsyslog syslogドメインソケット/ dev / logにメッセージを送信します。このソケットは通常、システムロガー(rsyslog、syslog-ng、nxlogなど)によって作成されます。


3

これらはすべて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/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.