RSyslogはどのようにログメッセージを自動的に受信しますか?

RSyslogはどのようにログメッセージを自動的に受信しますか?

関連部品:

anisha@linux-trra~> sudo cat /var/log/messages
Aug 29 13:04:22 linux kernel: imklog 5.6.3, log source = /proc/kmsg started.
Aug 29 13:04:22 linux rsyslogd: [origin software="rsyslogd" swVersion="5.6.3" x-pid="1879" x-info="http://www.rsyslog.com"] start
Aug 29 13:04:22 linux kernel: [7.585951] type=1400 audit(1346225659.436:4): apparmor="STATUS" operation="profile_load" name="/sbin/syslog-ng" pid=807 comm="apparmor_parser" Aug 29 13:04:22 linux kernel: [7.667712] type=1400 audit(1346225659.518:5): apparmor="STATUS" operation="profile_load" name="/sbin/syslogd" pid=830 comm="apparmor_parser"

私は通過できませんps -el

  • ショーはどのように行われますか?自動的にRSyslogにメッセージを送信する必要があることをご存知ですか?

  • すべてのプログラムがメッセージを1つの場所にダンプすると、RSyslogは関連メッセージを選択しますか?

  • Syslog のマニュアルページには、Syslog が /dev のソケットからメッセージを読み取るという内容が記載されています。それでは、上記の2つの点とどのような関係がありますか?

ベストアンサー1

デフォルトでは、すべてのsyslogデーモンは次から着信メッセージを読み取ります。 /dev/log

さらに、syslogはポート514でUDPソケットにバインドできます。 /etc/services:: をご覧ください。

$ cat /etc/services | grep syslog
syslog          514/udp

2番目は主にsyslogデーモン間でログを渡すために使用されます。つまり、クラスタごとに1つのログサーバーです。

プログラマは/ dev / logに直接書かずにposix関数を呼び出しますsyslog。 ::

#include <syslog.h>

void openlog(const char *ident, int option, int facility);
void syslog(int priority, const char *format, ...);
void closelog(void);

ほとんどすべての高級言語は、これらの機能の上に抽象化層を提供します。

おすすめ記事