Systemd-journald sistem günlüğü uygulaması mı?


22

Systemd-journald'ın yeni bir syslog protokolü uygulaması olup olmadığını merak ediyorum, daha doğrusu, rsyslog, syslog-nging gibi syslog uygulamalarını kullanıyor

Biraz googledim, ama inandırıcı bir şey bulamadım.


"Syslog protokolü" ile tcp | udp 514'ten syslog almak mı, yoksa göndermek veya her ikisini birden mi yapmak istediğinizi netleştirmek isteyebilirsiniz.
Alex Stragies

ayrıca olası dupe'yi
Alex Stragies

Yanıtlar:


33

Protokoller söz konusu olduğunda, systemd-journald

  • … Adlı bir akış soketindeki dinleyicidir /run/systemd/journal/stdout. systemd, standart ham çıktıları ve servis hatalarını (varsayılan olarak veya açıkça StandardOutput=journal/ StandardError=journalolanlara) bu sokete bağlar . Böylece, satır beslemeleri ile sonlandırılmış değişken uzunluklu serbest biçimli kayıtların protokolünü alır.
  • /run/systemd/journal/dev-logSembolik olarak bağlanmış olan isimli datagram soketindeki dinleyicidir /dev/log. Bu, syslog()uygulamalara bağlı GNU C kütüphanesindeki kütüphane işlevinin konuşacağı protokolü alır .
  • … Adlı bir datagram soketini dinleyen başka bir servisin müşterisi olmaya çalışıyor /run/systemd/journal/syslog. Bu aynı zamanda syslog()GNU C kütüphanesindeki kütüphane fonksiyonunun konuşacağı protokolü de alır ( systemd-journaldgerçekte konuşmak için başka bir kütüphane ve başka bir işlev kullanır).
  • … Adlı bir karakter cihazından bir okuyucu /dev/kmsg. Bu, değişken uzunluklu bir protokol olan Linux çekirdeğinin konuştuğu protokolü büyük ölçüde serbest biçimli, satır beslemeli sonlandırılmış kayıtlar alır.
  • … İsimli bir datagram soketindeki dinleyicidir /run/systemd/journal/socket. Bu, uygulamaların bu sokete belirli bir protokolü konuşan bir kütüphaneye bağlandığı GNU C kütüphanesi durumuna benzemektedir; işlevin dışında, sd_journal_sendv()uygulamaların bağlandığı ve protokolün standartlaştırılmadığı ancak her datagramda bir anahtar = değer çifti dizisini ve isteğe bağlı olarak okunabilir bir dosya tanımlayıcısını içeren yalnızca sistemd bir protokoldür. .

syslog()GNU C kütüphanesindeki işlev tarafından konuşulan protokol ne RFC 5424 ne de RFC 3164'tür ve etkin bir şekilde kendi fiili standarttır. RFC 5424 değildir, çünkü doğru miktarda boşluk içermez ve NIL değerlerine sahip isteğe bağlı alanları belirleyen çizgiler. RFC 3164 değildir çünkü a PROCIDyerine bir alana sahiptir HOSTNAME.

Birkaç yıl önce, sistem işletim sisteminiz olurdu:

  • systemd-journaldYukarıdakilerin tümünü yapmak (ve protokoller söz konusu olduğunda ilgisiz olan bazı şeyleri yapmak ) ve GNU C kütüphanesinin ve C protokolünün ilgili protokollerini kullanmak için konuştuğu sunucu olmak
  • Bir isteğe bağlı sistem günlüğü ya rsyslog veya syslog-ng programı, çağrılan ya xinetd/ inetdşey girişimleri mesaj göndermek için zaman tarzı /run/systemd/journal/syslogve açık dosya tanımlayıcı olarak soket alma ya da açık şekilde yapılandırılmış düz bir hizmet olarak ve dinlemek /run/systemd/journal/syslogonun (eşdeğer ile rysyslog) imuxsockmodülü; ve GNU C kütüphane protokolünü konuşma
  • RFC 5426 trafiğini dinleyen isteğe bağlı bir sistem günlüğü veya sistem günlüğü veya sistem günlüğü veya udp sistem günlüğü okuma hizmeti

Günümüzde, sistem işletim sisteminiz şunları içerir:

  • systemd-journald yukarıdakilerin hepsini tekrar yapmak ve GNU C kütüphanesinin ve systemd C kütüphanesinin konuştuğu sunucu olmak.
  • isteğe bağlı bir rsyslog programı, soket yerine düz bir hizmet olarak çağrılır ve imjournalmodülünü kullanarak doğrudan sistem günlük dosyalarından bir şeyler okur
  • RFC 5426 trafiğini dinleyen isteğe bağlı bir sistem günlüğü veya sistem günlüğü veya sistem günlüğü veya udp sistem günlüğü okuma hizmeti

daha fazla okuma

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.