関連部品:
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);
ほとんどすべての高級言語は、これらの機能の上に抽象化層を提供します。