»ØÊ×Ò³ ¡ò ÉèΪÊ×Ò³  
¡ò Êղر¾Õ¾  
¡ò ÁªÏµÎÒÃÇ  
  Ê× Ò³  ×îÐÂÐÂÎÅ  Linux/BSD  ¿ªÔ´Èí¼þ  Êý¾Ý¿â¼¼Êõ  Unix¼¼Êõ  ³ÌÐòÉè¼Æ  ½â¾ö·½°¸  µÇ¼ÓÊÏä  Á÷Á¿Í³¼Æ  LinuxÂÛ̳  
  µ±Ç°Î»ÖãºÊ× Ò³ >> Linux/BSD >> ϵͳӦÓà >> ÏÂÒ»´úϵͳÈÕÖ¾¹¤¾ß(syslog-ng)
×î ÐÂ ÍÆ ¼ö
LinuxÏÂʹÓôŴø»ú..ÍÆ¼ö
LinuxÂß¼­Å̾í¹ÜÀíL..ÍÆ¼ö
LinuxÏÂÐÂÊÖ»ù±¾²Ù..ÍÆ¼ö
Linuxϱ¸·Ý»Ö¸´¼¼..ÍÆ¼ö
pppd´íÎó´úÂëÍÆ¼ö
linuxÏÂSSHÅäºÏSecu..ÍÆ¼ö
¿ìËÙÈÃÄãµÄredhat9..ÍÆ¼ö
[FAQ]LinuxÏÂÌí¼ÓÓ²ÅÌÍÆ¼ö
½ø³Ì¹ÜÀíÍÆ¼ö
Linux¼¼ÇÉÌáʾ--ϵ..ÍÆ¼ö
ÈÈ ÃÅ ÅÅ ÐÐ
LinuxÂß¼­Å̾í¹ÜÀíL..ÍÆ¼ö
LinuxÏÂÐÂÊÖ»ù±¾²Ù..ÍÆ¼ö
LinuxϵÄSSHʹÓÃÖ¸ÄÏ
[FAQ]LinuxÏÂÌí¼ÓÓ²ÅÌÍÆ¼ö
LinuxϵͳÏÂÎļþÓë..
GRUBÃüÁî¼ò½é
Red HatÏÂʹÓÃfdisk..
LinuxÏÂʹÓôŴø»ú..ÍÆ¼ö
Red Hat¶¨ÖƼƻ®ÈÎ..
ÓÃganglia¼à¿Ø·þÎñ..
×î ½ü ¸ü ÐÂ
ÔõÑùÔÚLinuxÏÂÖÆ×÷..
/etc/sysconfig/i18..
GFS·ÖÇøÉÏ×öls»òll..
¶à·¾¶»·¾³ÏÂRHCSºÍ..
ViµÄһЩ»ù±¾Ó÷¨
ÈÃLinux¿ª»ú×Ô¶¯´ò..
¡¤ [JavaÂÛ̳][°²..
ÓÃkexecѸËÙÇл»ÄÚºË
RHEL5²éѯÉ豸ÉϲÉ..
Samba ºÍ Windows 2..
¹ã ¸æ λ ÖÃ
Õ¾ ÄÚ ËÑ Ë÷
¹Ø¼ü´Ê

ËÑË÷·½Ê½

ËÑË÷·¶Î§

¾«È·Æ¥Åä
ÏÂÒ»´úϵͳÈÕÖ¾¹¤¾ß(syslog-ng)

À´Ô´£ºLinux¼¼ÊõÖмáÕ¾ µÈ¼¶£ºÄ¬Èϵȼ¶
·¢²¼ÓÚ2005-05-28 22:17 ±»¶Á5187´Î ¡¾×ÖÌ壺´ó ÖРС¡¿

1.syslog-ng¼ò½é


ÔÚUNIXϵͳµÄά»¤ÖУ¬¾­³£»áºöÂÔϵͳʼþµÄ´¦Àí¡£¾­³£¼ì²éϵͳÈÕÖ¾¶ÔÓÚ±£³ÖϵͳµÄ°²È«ºÍÕý³£ÔËÐÐÊÇÖÁ¹ØÖØÒªµÄ¡£µ«ÊÇ£¬ÏµÍ³ÈÕÖ¾ÖÐÓÐÌ«¶àµÄÔëÒô£¬Ò»Ð©²»ÊǺÜÖØÒªµÄÐÅÏ¢»áÑÚ¸ÇÖØÒªµÄÐÅÏ¢¡£Ä¿Ç°µÄ¹¤¾ßºÜÄÑÕç±ð³öϵͳ¹ÜÀíÕ߸ÐÐËȤµÄÐÅÏ¢¡£

Óû§¿ÉÒÔͨ¹ýÖ¸¶¨facility/priority£¬°ÑÏûÏ¢·¢µ½²»Í¬µÄµØ·½¡£ÏµÍ³Ô¤Ïȶ¨ÒåÁË12+8¸ö(mail¡¢news¡¢authµÈ)facility£¬°Ë¸ö²»Í¬µÄÓÅÏȼ¶(alertµ½debug)¡£

ÕâÆäÖдæÔÚÒ»¸öÎÊÌ⣬´óÁ¿µÄ³ÌÐòʹÓÃͬÑùµÄfacility(daemon)£¬°ÑÈÕÖ¾¶¼±£´æµ½Ò»¸öÎļþÖÐ(messages)£¬¼´Ê¹ËüÃǺÁÎÞ¹ØÁª¡£ÕâÑù¾ÍÔì³ÉÓû§ºÜÄÑɸѡ³ö×Ô¼º¸ÐÐËȤµÄ¶«Î÷¡£

µÚ¶þ¸öÎÊÌâÊÇ£¬´ó¶àÊýµÄ³ÌÐòÎÞ·¨¸Ä±äÈÕÖ¾ÅäÖã¬Ö»ÄÜÐÞ¸ÄÈí¼þµÄÔ´´úÂë¡£

Òò´Ë£¬Ê¹ÓÃfacility×÷Ϊ¹ýÂ˲»ÊÇÒ»¸öºÃ°ì·¨¡£×îºÃÄܹ»ÓÐһЩruntimeÑ¡ÏʹÓÃÕâЩѡÏîÖ¸¶¨ÈÕÖ¾facility£¬½¨Á¢ÐµÄfacility¡£

syslog-ngµÄÒ»¸öÉè¼ÆÔ­Ôò¾ÍÊǽ¨Á¢¸üºÃµÄÏûÏ¢¹ýÂËÁ£¶È¡£syslog-ngÄܹ»½øÐлùÓÚÄÚÈݺÍÓÅÏÈȨ/facilityµÄ¹ýÂË¡£ÁíÒ»¸öÉè¼ÆÔ­ÔòÊǸüÈÝÒ×½øÐв»Í¬·À»ðÇ½Íø¶ÎµÄÐÅϢת·¢£¬ËüÖ§³ÖÖ÷»úÁ´£¬¼´Ê¹ÈÕÖ¾ÏûÏ¢¾­¹ýÁËÐí¶à¼ÆËã»úµÄת·¢£¬Ò²¿ÉÒÔÕÒ³öÔ­·¢Ö÷»úµØÖ·ºÍÕû¸öת·¢Á´¡£×îºóµÄÒ»¸öÉè¼ÆÔ­Ôò¾ÍÊǾ¡Á¿Ê¹ÅäÖÃÎļþÇ¿´óºÍ¼ò½à¡£



2.ÏûϢ·¾¶


Ò»¸öÏûϢ·¾¶ÊÇÓÉÒ»¸ö»òÕß¶à¸öÈÕÖ¾ÏûÏ¢Ô´¡¢Ò»¸ö»òÕß¶à¸ö¹ýÂ˹æÔòÒÔ¼°Ò»¸ö»òÕß¶à¸öÈÕÖ¾ÏûϢĿµÄ×é³ÉµÄ¡£À´×Ôij¸öÈÕÖ¾ÏûÏ¢Ô´µÄÏûÏ¢½øÈësyslog-ng£¬Èç¹ûÏûÏ¢ÃüÖÐijÌõ¹æÔò£¬syslog-ng¾Í°ÑËü·¢Ë͵½¶ÔÓ¦µÄÈÕÖ¾ÏûϢĿµÄ¡£


ÏûÏ¢Ô´

һЩÈÕÖ¾ÏûÏ¢Ô´Çý¶¯Æ÷(source driver)×é³ÉÒ»¸öÏûÏ¢Ô´£¬ÕâЩÇý¶¯Æ÷ʹÓøø¶¨µÄ·½·¨ÊÕ¼¯ÈÕÖ¾ÏûÏ¢¡£Æ©È磬ÓеÄsyslog()ϵͳµ÷ÓÃʹÓõÄAF_UNIX¡¢SOCK_STREAM·ç¸ñµÄÌ×½Ó×ÖÔ´Çý¶¯Æ÷¡£

ÔÚÅäÖÃÎļþÖУ¬Äã¿ÉÒÔʹÓÃÏÂÃæµÄÓï·¨ÉùÃ÷Ò»¸öÈÕÖ¾ÏûÏ¢Ô´£º


source <identifier> { source-driver(params); source-driver(params); ... };


identifierÊǸø¶¨ÏûÏ¢Ô´µÄΨһ±êÖ¾£¬µ«ÊÇÕâ¸ö±êÖ¾·û²»Äܺͱ£Áô×ÖÓгåÍ»¡£

Äã¿ÉÒÔ¿ØÖÆÊ¹ÓÃÄĸöÇý¶¯Æ÷À´ÊÕ¼¯ÈÕÖ¾ÏûÏ¢£¬Òò¶øÄãÐèÒªÖªµÀÄãµÄϵͳºÍËûµÄÄÚ²¿syslogdÊÇÈçºÎͨѶµÄ¡£ÏÂÃæ½éÉÜÒ»ÏÂijЩƽ̨ÖУ¬syslogdÊÇÈçºÎ¹¤×÷µÄ¡£


Linux Ò»¸ö½Ð×÷/dev/logµÄSOCK_STREAM unixÌ×½Ó×Ö
BSD Ò»¸ö½Ð×÷/var/run/logµÄSOCK_STREAM unixÌ×½Ó×Ö
Solaris(2.5»òÒÔÏÂ) Ò»¸ö½Ð×ö/dev/logµÄSVR4·ç¸ñµÄSTREAMSÉ豸
solaris(2.6»òÒÔÉÏ) ³ýÁË2.6֮ǰ°æ±¾Ê¹ÓõÄSTREAMSÉ豸֮Í⣬ʹÓÃÁËÒ»ÖÖеĶàÏß³ÌIPC·½·¨µ÷ÓÃÃÅ¡£Ä¬ÈÏÇé¿öÏ£¬Õâ¸öµ÷ÓÃÃÅÊÇ/etc/syslog_door£¬ÓÉsyslogdʹÓá£


ÔÚsyslog-ngÖУ¬Ã¿¸ö¿ÉÄܵÄͨѶ»úÖÆ¶¼ÓжÔÓ¦µÄÈÕÖ¾ÏûÏ¢Ô´Çý¶¯Æ÷¡£ÀýÈ磺Èç¹ûÒª´ò¿ªÒ»¸öSOCK_DGRAM·ç¸ñµÄUNIXÌ×½Ó×Ö½øÐÐͨѶ£¬Äã¾Í»áÓõ½unix-dgramÇý¶¯Æ÷£¬Í¬ÑùSOCK_STREAMʽµÄͨѶÐèÒªunix-streamÇý¶¯Æ÷¡£

Àý2-1.LinuxÖеÄÒ»¸öÔ´Ö¸Áî



source src { unix-stream("/dev/log"); internal(); udp(ip(0.0.0.0) port(514)); };


Çý¶¯Æ÷¿ÉÒÔʹÓòÎÊý£¬²ÎÊýÓÐЩÊDZØÐèµÄ£¬ÓÐЩÊÇ¿ÉÑ¡µÄ¡£±ØÐèµÄ²ÎÊýÒ»°ãÔÚÇ°Ãæ¡£ÉÏÃæµÄÖ¸ÁîÖУ¬/dev/log¾ÍÊDZØÐè²ÎÊý¡£

ÏÂÃæÊÇ¿ÉÓõÄÔ´Çý¶¯Æ÷£º


internal syslog-ngÄÚ²¿²úÉúµÄÏûÏ¢
unix-stream ´ò¿ªÖ¸¶¨µÄSOCK_STREAMģʽµÄunixÌ×½Ó×Ö£¬½ÓÊÕÈÕÖ¾ÏûÏ¢
unix-dgram ´ò¿ªÖ¸¶¨µÄSOCK_DGRAMģʽµÄunixÌ×½Ó×Ö£¬½ÓÊÕÈÕÖ¾ÏûÏ¢
file ´ò¿ªÖ¸¶¨µÄÎļþ¶ÁÈ¡ÈÕÖ¾ÐÅÏ¢
pipe,fifo ´ò¿ªÖ¸¶¨µÄ¹ÜµÀ»òÕßFIFOÉ豸£¬¶ÁÈ¡ÈÕÖ¾ÐÅÏ¢
tcp ÔÚÖ¸¶¨µÄTCP¶Ë¿Ú½ÓÊÕÈÕÖ¾ÏûÏ¢
udp ÔÚÖ¸¶¨µÄUDP¶Ë¿Ú½ÓÊÕÈÕÖ¾ÏûÏ¢
sun-stream(s) ÔÚsolarisϵͳÖУ¬´ò¿ªÒ»¸ö(¶à¸ö)Ö¸¶¨µÄSTREAMÉ豸£¬´ÓÆäÖжÁÈ¡ÈÕÖ¾ÏûÏ¢

ÔÚÏÂÒ»ÕÂÖУ¬ÎÒÃǽ«Ïêϸ½éÉÜÿ¸öÈÕÖ¾ÏûÏ¢Ô´Çý¶¯Æ÷¡£



¹ýÂËÆ÷

ÔÚsyslog-ngÖУ¬¹ýÂËÆ÷Ö´ÐÐÈÕ־·ÓÉ¡£Äã¿ÉÒÔʹÓÃsyslog-ngµÄÄÚ²¿º¯Êý±àд²¼¶û±í´ïʽ£¬À´¾ö¶¨ÈÕÖ¾ÐÅÏ¢ÊÇ·ñͨ¹ý¡£

¹ýÂËÆ÷Ò²¶¼ÓÐΨһµÄ±êÖ¾·û£¬Óï·¨ÈçÏ£º


fileter <identifier> { expression;};


±í´ïʽÖпÉÒÔ°üº¬Âß¼­²Ù×÷·û(and¡¢or¡¢not)ºÍº¯Êý¡£


Àý2-2.Ò»¸öËÑË÷À´×ÔblurpÖ÷»ú£¬°üº¬denyµÄÈÕÖ¾ÏûÏ¢µÄ¹ýÂËÖ¸Áî



filter f_blurp_deny { host("blurp") and match("deny"); };


ÏÂÃæÊÇsyslog-ngµÄ¹ýÂ˺¯Êý£º


facility() ¸ù¾ÝÉ豸ѡÔñÈÕÖ¾ÏûÏ¢
level()»òÕßpriority() ¸ù¾ÝÓÅÏȼ¶Ñ¡ÔñÈÕÖ¾ÏûÏ¢
program() ÈÕÖ¾ÏûÏ¢µÄ³ÌÐòÃûÊÇ·ñÆ¥ÅäÒ»¸öÕýÔò±í´ïʽ
host() ÈÕÖ¾ÏûÏ¢µÄÖ÷»úÃûÊÇ·ñºÍÒ»¸öÕýÔò±í´ïʽƥÅä
match() ¶ÔÈÕÖ¾ÏûÏ¢µÄÄÚÈݽøÐÐÕýÔòÆ¥Åä
filter() µ÷ÓÃÁíÒ»Ìõ¹ýÂ˹æÔò²¢ÅжÏËüµÄÖµ


¹ØÓÚÕâЩº¯Êý£¬ºóÃæµÄÕ½ÚÖн«ÓиüΪÏêϸµÄ½éÉÜ¡£

ÓÐÒ»¸öÌØÊâµÄ¹ýÂËÆ÷±êÖ¾·ûDEFAULT£¬ÓÃÓÚ²¶»ñËùÓÐûÓд¦ÀíµÄÈÕÖ¾ÏûÏ¢¡£ÀýÈ磺


options { keep_hostname(yes); };

source src { unix-stream("proba2"); internal(); };

destination ftpd { file("ftplog"); };
destination named { file("namedlog"); };
destination daemon { file("daemonlog"); };

filter f_ftpd { match("ftp"); };
filter f_named { match("named"); };
filter f_daemon { facility(daemon); };

log { source(src); filter(f_ftpd); destination(ftpd); };
log { source(src); filter(f_named); destination(named); };
log { source(src); filter(f_daemon); filter(DEFAULT); destination(daemon); };


ÔÚÕâ¸öÀý×ÓÖУ¬default¹ýÂËÆ÷²¶»ñËùÓÐûÓб»f_ftpdºÍf_named¹ýÂËÆ÷²¶»ñµÄfacilityÊÇdaemonµÄÈÕÖ¾ÏûÏ¢¡£


ÈÕÖ¾ÏûϢĿµÄ

destinationÖ¸¶¨Æ¥Åä¹ýÂ˹æÔòµÄÈÕÖ¾ÏûÏ¢µÄÈ¥´¦¡£ºÍÈÕÖ¾ÏûÏ¢Ô´ÀàËÆ£¬ÈÕÖ¾ÏûϢĿµÄ¿ÉÒÔ°üÀ¨Ò»Ð©Ä¿µÄÇý¶¯Æ÷£¬Ö¸¶¨ÈÕÖ¾µÄÅÉ·¢·½Ïò¡£ÄãÐèҪʹÓÃÈçÏÂÓï·¨À´ÉùÃ÷ÈÕÖ¾ÏûϢĿµÄ£º


destination <identifier> { destination-driver(params); destination-driver(params); ... };



ÏÂÃæÊÇsyslog-ngÖ§³ÖµÄÈÕÖ¾ÏûϢĿµÄÇý¶¯Æ÷£º


file ÈÕÖ¾ÏûϢдµ½Ö¸¶¨µÄÎļþ
fifo,pipe °ÑÈÕÖ¾ÏûϢдµ½Ö¸¶¨µÄ¹ÜµÀ
unix-stream °ÑÈÕÖ¾ÏûÏ¢·¢Ë͵½¸ø¶¨µÄSOCK_STREAMÀàÐ͵ÄUNIXÌ×½Ó×Ö(Linux)
unix-dgram °ÑÈÕÖ¾ÏûÏ¢·¢Ë͵½¸ø¶¨µÄSOCK_DGRAMÀàÐ͵ÄUNIXÌ×½Ó×Ö(BSD)
udp °ÑÈÕÖ¾ÏûÏ¢·¢Ë͵½Ö¸¶¨Ö÷»úµÄUDP¶Ë¿Ú
TCP °ÑÈÕÖ¾ÏûÏ¢·¢Ë͵½Ö¸¶¨Ö÷»úµÄTCP¶Ë¿Ú
usertty Èç¹ûÓû§µÇ¼£¬°ÑÈÕÖ¾·¢Ë͵½Ö¸¶¨µÄÖÕ¶Ë
program fork²¢Æô¶¯Ö¸¶¨µÄ³ÌÐò£¬°ÑÈÕÖ¾ÏûÏ¢·¢Ë͵½Õâ¸ö½ø³ÌµÄ±ê×¼Êä³ö¡£


ÏêÇéÇë²Î¿¼ÏÂÃæµÄÕ½ڡ£


ÈÕ־·¾¶

Ç°ÃæµÄÕ½ÚÖУ¬ÎÒÃÇѧϰÁËÈçºÎ¶¨ÒåÏûÏ¢Ô´¡¢¹ýÂËÆ÷ºÍÏûϢĿµÄ¡£ÏÖÔÚÎÒÃÇÒª°ÑÕâЩ½áºÏÆðÀ´ÐγÉÒ»ÌõÍêÕûµÄÖ¸Áî¡£·²ÊÇÀ´Ô´ÓÚÖ¸¶¨µÄÏûÏ¢Ô´£¬Æ¥ÅäËùÓÐÖ¸¶¨µÄ¹ýÂËÆ÷£¬²¢Ë͵½Ö¸¶¨µÄµØÖ·¡£ÆäÓï·¨ÈçÏ£º


log { source(s1); source(s2); ...
filter(f1); filter(f2); ...
destination(d1); destination(d2); ... };


ÈÕ־·¾¶ÖеijÉÔ±ÊÇ˳ÐòÖ´Ðеġ£


Ñ¡Ïî

Äã¿ÉÒÔͨ¹ýÉèÖÃһЩѡÏîÀ´¸Ä±äsyslog-ngµÄÐÐΪ¡£ÉèÖÃÑ¡ÏîµÄÓï·¨Ò»°ãÊÇ£º


options { option1(params); option2(params); ... };


ÿ¸öÑ¡ÏîÒ²¿ÉÒÔÓÐ×Ô¼ºµÄ²ÎÊý¡£

ÒÔÏÂÊÇsyslog-ngÖ§³ÖµÄ²ÎÊý£º


Ãû×Ö ²ÎÊýÀàÐÍ ÃèÊö
time_reopen() Êý×Ö Ò»¸ö¶Ï¿ªµÄÁ¬½ÓÖØÐÂÁ¬½Ó֮ǰÐèÒªµÈ´ýµÄʱ¼ä
time_reap() Êý×Ö Ò»¸öÏÐÖõÄÄ¿±êÎļþ¹Ø±Õ֮ǰÐèÒªµÈ´ýµÄʱ¼ä
sync_freq() Êý×Ö ÔÚдÈëÎļþ֮ǰ£¬¿ÉÒÔ»º³åµÄÈÕÖ¾ÏûÏ¢ÐÐÊý
mark_freq() Êý×Ö Ä¿Ç°ÉÐδʵÏÖ
log_fifo_size() Êý×Ö Êä³ö¶ÓÁеÄÐÐÊý
chain_hostnames() yes/no ´ò¿ª/¹Ø±ÕÖ÷»úÃûÁ´(ÓÃÓÚÈÕ־ת·¢)
use_time_recvd() yes/no ʹÓÃÊÕµ½ÈÕÖ¾ÏûÏ¢µÄʱ¼ä£¬²»ÓÃÈÕÖ¾ÏûÏ¢ÖÐÖ¸¶¨µÄʱ¼ä
use_dns() yes/no ´ò¿ª/¹Ø±ÕDNS²éѯ¹¦ÄÜ¡£ÒòΪDNS²éѯÎÞ·¨·µ»Ø»áÔì³Ésyslog-ng´¦ÓÚ×èÈû״̬£¬´Ó¶øÔì³É¾Ü¾ø·þÎñ¹¥»÷¡£ÎªÁ˱ÜÃâÕâÖÖÇé¿öµÄ³öÏÖ£¬Ó¦¸ÃʹÓ÷À»ðǽÑϸñ±£»¤Ê¹ÓÃsyslog-ngµÄÍøÂç½Úµã£¬²¢È·ÈÏsyslog-ngʹÓõÄËùÓÐÖ÷»ú¶¼ÊÇ¿ÉÒÔ½âÎöµÄ¡£
use_fqdn() yes/no ʹÓÃÍêÕûµÄÓòÃû
gc_idle_threshold() Êý×Ö µ±syslog-ng¿ÕÏÐʱ£¬ÉèÖÃÆä½øÈëÀ¬»øÐÅÏ¢ÊÕ¼¯×´Ì¬µÄ·§Öµ¡£Ò»µ©·ÖÅäµÄ¶ÔÏóÊý´ïµ½ÁËÕâ¸öÊý×Ö£¬syslog-ng¾ÍÆô¶¯À¬»øÐÅÏ¢ÊÕ¼¯×´Ì¬¡£Ä¬ÈÏÖµÊÇ1000¡£
gc_busy_threshold() Êý×Ö µ±syslog-ngæʱ£¬ÉèÖÃÆä½øÈëÀ¬»øÐÅÏ¢ÊÕ¼¯×´Ì¬µÄ·§Öµ¡£Ò»µ©·ÖÅäµÄ¶ÔÏóÊý´ïµ½Õâ¸öÊý×Ö£¬syslog-ng¾ÍÆô¶¯À¬»øÐÅÏ¢ÊÕ¼¯×´Ì¬¡£Ä¬ÈÏÖµÊÇ3000¡£




3.²Î¿¼


±¾Õ£¬½«Ïêϸ½éÉÜÅäÖÃÎļþÖÐʹÓõÄÇý¶¯Æ÷ºÍÑ¡Ïî¡£


ÏûÏ¢Ô´Çý¶¯Æ÷


internal()

ËùÓÐsyslog-ngÄÚ²¿²úÉúµÄÈÕÖ¾ÏûÏ¢¶¼À´×ÔÕâ¸öÈÕÖ¾ÏûÏ¢Ô´¡£Èç¹ûÄãÐèÒªsyslog-ng×ÔÉíɽ³ÇµÄ¾¯¸æ¡¢´íÎóºÍÌáÐÑÐÅÏ¢£¬¾ÍÐèÒªÔÚÅäÖÃÎļþÖмÓÈëÒÔÏÂÉùÃ÷£º


Declaration: internal()


Èç¹ûÕâ¸öÏûÏ¢Ô´Çý¶¯Æ÷ûÓб»ÒýÓã¬syslog-ng»áÏòÄãÊä³ö±¨¾¯ÐÅÏ¢¡£


Àý3-1.ʹÓÃinernal()ÈÕÖ¾ÏûÏ¢Ô´Çý¶¯Æ÷



source s_local { internal(); };



unix-stream()ºÍunix-dgram()

ÕâÁ½¸öÈÕÖ¾ÏûÏ¢Ô´Çý¶¯Æ÷±È½ÏÏàËÆ£¬¶¼´ò¿ªAF_UNIXÀàÐ͵ÄÌ×½Ó×Ö£¬ÔÚÌ×½Ó×ÖÉϼàÌýÈÕÖ¾ÏûÏ¢¡£unix-stream()Ö÷ÒªÓÃÔÚLinux£¬Ê¹ÓÃSOCK_STREAM²ÎÊý£¬ÊÇÃæÏòÁ¬½ÓµÄ£¬²»»áÔì³ÉÈÕÖ¾ÏûÏ¢µÄ¶ªÊ§£»unix-dgram()ÓÃÔÚBSDϵͳÉÏ£¬Ê¹ÓÃSOCK_DGRAM²ÎÊý£¬ÊÇÎÞÁ¬½ÓµÄ£¬Èç¹ûϵͳ¹ýÔØ£¬»áÔì³ÉÈÕÖ¾ÏûÏ¢¶ªÊ§¡£

ÔÚʹÓÃÃæÏòÁ¬½ÓµÄЭÒéʱ£¬ÎªÁ˱ÜÃâÔì³É¾Ü¾ø·þÎñ¹¥»÷£¬ÐèÒª¶Ôͬʱ½ÓÊܵÄÁ¬½ÓÊýÁ¿½øÐÐÏÐÖá£ÕâÓÉmax-connections()²ÎÊýʵÏÖ¡£


Declaration:
unix-stream(filename [options]);
unix-dgram(filename [options]);


ÒÔÏÂÑ¡Ïî¿ÉÒÔÓÃÓÚunix-streamºÍunix-dgramÈÕÖ¾ÏûÏ¢Ô´Çý¶¯Æ÷µÄÉùÃ÷£º


Ãû×Ö ²ÎÊýÊý¾ÝÀàÐÍ ÃèÊö
owner() ×Ö·û´® ÉèÖÃÌ×½Ó×ÖµÄuid£¬Ä¬ÈÏÊÇ£ºroot
group() ×Ö·û´® ÉèÖÃÌ×½Ó×ÖµÄgid£¬Ä¬ÈÏÊÇ£ºroot
perm() Êý×Ö ÉèÖÃȨÏÞÑÚÂë¡£°Ë½øÖÆÊý×ÖÒÔ0¿ªÍ·£¬ÀýÈ磺0755±íʾrwxr-xr-x¡£
keep-alive() yes/no µ±syslog-ngÖØÆô¶¯£¬Ñ¡ÔñÊÇ·ñ±£³ÖÁ¬½Ó£¬Ö»ÓÃÓÚunix-stream()¡£Ä¬ÈÏÊÇyes
max-connections()Êý×Ö Í¬Ê±´ò¿ªµÄÁ¬½ÓµÄÊýÄ¿ÏÞÖÆ£¬Ö»ÓÃÓÚunix-stream()ÈÕÖ¾ÏûÏ¢Ô´Çý¶¯Æ÷¡£Ä¬ÈÏÊÇ10¡£



Àý3-2.ʹÓÃunix-stream()ºÍunix-dgram()ÈÕÖ¾ÏûÏ¢Ô´Çý¶¯Æ÷



source s_stream { unix-stream("/dev/log" max-connections(10)); };
source s_dgram { unix-dgram("/var/run/log"); };



tcp()ºÍudp()

ʹÓÃÕâÁ½¸öÈÕÖ¾ÏûÏ¢Ô´Çý¶¯Æ÷£¬Äã¿ÉÒÔʹÓÃTCP»òÕßUDPЭÒé´ÓÍøÂçÉϽÓÊÜÈÕÖ¾ÏûÏ¢¡£

UDPÊÇÒ»ÖÖ¼òµ¥µÄÓû§Êý¾Ý±¨Ð­Ò飬ʹÓÃÕâÖÖЭÒé¿ÉÄܻᷢÉúÈÕÖ¾ÏûÏ¢µÄ¶ªÊ§£¬¶øÇÒÕâÖÖЭÒéûÓÐÖØ´«»úÖÆ£»TCPÊÇÒ»ÖÖÃæÏòÁ¬½ÓµÄ´«Êä²ãЭÒ飬²»»áÔì³ÉÈÕÖ¾ÏûÏ¢µÄ¶ªÊ§¡£

ÕâÁ½ÖÖÏûÏ¢Ô´Çý¶¯Æ÷¶¼²»ÐèҪλÖòÎÊý¡£Ä¬ÈÏÇé¿öÏ£¬syslog-ng»á°ó¶¨µ½0.0.0.0:514£¬ÔÚËùÓÐÓÐЧµÄ¶Ë¿ÚÉϼàÌý¡£¿ÉÒÔʹÓÃlocalip()²ÎÊýÀ´ÏÞÖÆÆä½ÓÊÜÁ¬½ÓµÄ¶Ë¿Ú¡£

×¢Ò⣺514¶Ë¿ÚÊÇrshellʹÓõĶ˿ڣ¬Òò´ËÈç¹ûsyslog-logºÍrshellͬʱʹÓã¬ÄãÐèҪΪsyslog-ngÑ¡ÔñÁíÍâµÄ¶Ë¿Ú¡£


Declaration:
tcp([options]);
udp([options]);


ÏÂÃæÊÇudp()ºÍtcp()¿ÉÓõÄÑ¡Ï


Ñ¡ÏîÃû Êý¾ÝÀàÐÍ ÃèÊö ĬÈÏÖµ
ip»òÕßiplocalip ×Ö·û´® °ó¶¨µÄIPµØÖ· 0.0.0.0


udp()ºÍtcp()ʹÓÃʾÀý£º


source s_tcp { tcp(ip(127.0.0.1) port(1999); max-connections(10); };
source s_udp { udp(); };



file()

ͨ³££¬Äں˻á°Ñ×Ô¼ºµÄÏûÏ¢Ë͵½Ò»¸öÌØÊâµÄÎļþ(BSDϵͳÊÇ/dev/kmsg£¬LinuxϵͳÊÇ/proc/kmsg)£¬Òò´ËÄãÐèҪʹÓÃfile()ÈÕÖ¾ÏûÏ¢Ô´Çý¶¯Æ÷À´Ö¸¶¨Õâ¸öÎļþ¡£ÔÚLinuxÖУ¬klogd»á¶ÁÈ¡ÄÚºËÐÅÏ¢£¬²¢×ª·¢µ½syslogd½ø³Ì£¬klogdÔÚת·¢Ö®Ç°»á¶ÔÄÚºËÏûÏ¢½øÐд¦Àí£¬Ê¹ÓÃ/boot/System.mapÎļþÖеķûºÅÃû´úÌæÔ­À´µÄµØÖ·¡£Èç¹ûÄã²»ÐèÒªÕâÖÖ¹¦ÄÜ£¬¿ÉÒÔʹÓÃ-x²ÎÊýÔËÐÐklogd¡£


Declaration:
file(filename);


file()ÈÕÖ¾ÏûÏ¢Ô´Çý¶¯Æ÷ʾÀý£º


source s_file { file("/proc/kmsg"); };



pipe()

pipeÈÕÖ¾ÏûÏ¢Ô´Çý¶¯Æ÷´ò¿ªÒ»¸öÃüÃû¹ÜµÀ£¬ÔÚÕâ¸öÃüÃû¹ÜµÀ¼àÌýÈÕÖ¾ÏûÏ¢¡£ÔÚHP-UXϵͳÖУ¬ËüÓÃÓÚÄÚ²¿ÈÕÖ¾ÏûÏ¢µÄ»ñµÃ¡£


Declaration:
pipe(filename);


×¢ÒâÊ×ÏÈÄãÐèҪʹÓÃmkfifo½¨Á¢ÃüÃû¹ÜµÀ¡£

Àý3-6.ʹÓÃpipe()ÈÕÖ¾ÏûÏ¢Ô´Çý¶¯Æ÷


source s_pipe { pipe("/dev/log"); );



sun-streams()

solarisʹÓÃSTREAMS API°ÑÈÕÖ¾ÏûÏ¢·¢Ë͵½syslogd½ø³Ì¡£Äã±ØÐëÔÚ±àÒësyslog-ngʱ¼ÓÈëÕâ¸öÌØÕ÷¡£

аæsolaris(>=2.51)ÖУ¬STREAMSʹÓÃÒ»¸öеÄIPCµ÷ÓÃÃÅÀ´Í¶µÝÈÕÖ¾ÏûÏ¢¡£syslog-ngÖ§³ÖÕâÖÖIPC»úÖÆ¡£


ÈÕÖ¾ÏûϢĿµÄÇý¶¯Æ÷

ÈÕ־ĿµÄÇý¶¯Æ÷°ÑÈÕÖ¾ÏûÏ¢´Ósyslog-ngÊä³öµ½ÆäËüµØ·½£ºÒ»¸öÎļþ»òÕßÒ»¸öÍøÂçÌ×½Ó×Ö¡£


file()

fileÊÇsyslog-ng×îÖØÒªµÄÈÕÖ¾ÏûϢĿµÄÇý¶¯Æ÷Ö®Ò»¡£Ê¹ÓÃËü£¬Äã¿ÉÒÔ°ÑÈÕÖ¾ÏûÏ¢¶¨Ïòµ½Ò»Ð©ÎļþÖС£

ÔÚÉèÖÃÈÕ־ĿµÄÎļþʱ£¬¿ÉÒÔʹÓú꣬´Ó¶øÊ¹ÓÃÒ»¸ö¼òµ¥µÄfileÈÕÖ¾ÏûϢĿµÄÇý¶¯Æ÷¾Í¿ÉÒÔÉèÖúܶàÄ¿µÄÎļþ¡£ºÍPHP/PERLÒ»Ñù£¬ºêÒ²ÊÇÒÔ $¿ªÍ·¡£

Èç¹ûÎļþËùÔÚµÄĿ¼²»´æÔÚ£¬ÔòÓÉcreate_dirs()À´¾ö¶¨ÊÇ·ñ´´½¨Õâ¸öĿ¼¡£

¾¯¸æ£ºÓÉÓÚsyslog-ng±ØÐë¸ú×Ù½¨Á¢µÄÿ¸öÎļþ£¬Òò´Ë»áÏûºÄһЩÄÚ´æ¡£Èç¹ûÔÚ60ÃëÖÓÄÚ(Ò²¿ÉÒÔÓÉtime_reapÑ¡ÏîÉèÖÃ)ûÓÐеÄÏûÏ¢µ½´ïij¸öÎļþ£¬syslog-ng¾Í»á¹Ø±ÕÕâ¸öÎļþ£¬ÊÍ·ÅÕ¼ÓõÄ×ÊÔ´¡£Èç¹ûÄ¿µÄÎļþÊýºÍËùÐèÄڴ泬³öÈÕÖ¾·þÎñÆ÷µÄµÄÄÜÁ¦£¬¾Í»áÔì³É¾Ü¾ø·þÎñ¹¥»÷¡£

×îΣÏյĺêÊÇ $PROGRAM£¬Òò´ËÔÚ²»¿ÉÐŵĻ·¾³Öв»ÒªÊ¹ÓÃÕâ¸öºê¡£

ÒÔÏÂÊÇ¿ÉÒÔÓÃÓÚÀ©Õ¹fileµÄºê£º


HOST ÈÕÖ¾ÏûÏ¢µÄÔ´·¢Ö÷»úÃû¡£Èç¹ûÈÕÖ¾ÏûÏ¢´©¹ý¼¸¸öÖ÷»ú£¬²¢ÇÒchain_hostname()¹¦ÄÜÒѾ­´ò¿ª£¬¾ÍʹÓõÚÒ»¸öÖ÷»úÃû¡£
FACILITY ÈÕÖ¾ÏûÏ¢À´×ÔµÄÈÕÖ¾É豸
PRIOPRITY/LEVEL ÈÕÖ¾ÏûÏ¢µÄÓÅÏȼ¶
PROGRAM ·¢ËÍÈÕÖ¾ÏûÏ¢µÄ³ÌÐò
YEAR ·¢ËÍÈÕÖ¾ÏûÏ¢µÄÄê·Ý£¬Õâ¸öºê¼È¿ÉÒÔÖ¸¶¨ÈÕÖ¾ÏûÏ¢ËͳöµÄʱ¼ä£¬Ò²¿ÉÒÔÖ¸¶¨ÈÕÖ¾ÏûÏ¢ÊÕµ½µÄʱ¼ä¡£ÕâÓÉuse_time_recvd()Ñ¡Ïî¿ØÖÆ
MONTH ·¢ËÍÈÕÖ¾ÏûÏ¢µÄÔ·Ý
DAY ·¢ËÍÈÕÖ¾ÏûÏ¢µÄÈÕ×Ó
HOUR ¹ËÃû˼Ò壬ºÙºÙ:)
MIN ͬÉÏ
SEC µ±È»ÊÇÃëÁË^_^


file()ÈÕÖ¾ÏûϢĿµÄÇý¶¯Æ÷µÄÑ¡Ï


Ñ¡Ïî Êý¾ÝÀàÐÍ ÃèÊö ĬÈÏÖµ
log_file_size() Êý×Ö Êä³öÎļþµÄÌõÄ¿Êý ʹÓÃÈ«¾ÖÉ趨
sync_freq() Êý×Ö µ±ÈÕÖ¾ÏûÏ¢´ïµ½Ò»¶¨ÊýÄ¿¾ÍдÈëÎļþ ʹÓÃÈ«¾ÖÉ趨
encrypt() yes/no ¸øÈÕÖ¾Îļþ¼ÓÃÜ Ê¹ÓÃÈ«¾ÖÉ趨
compress() yes/no ѹËõÈÕÖ¾Îļþ ʹÓÃÈ«¾ÖÉ趨
owner() ×Ö·û´® Ö¸¶¨ÈÕÖ¾ÎļþµÄËùÓÐÕß root
group() ×Ö·û´® Ö¸¶¨ÈÕÖ¾ÎļþËùÓÐÕßµÄ×é root
perm() Êý×Ö ½¨Á¢Ê±ÈÕÖ¾ÎļþµÄȨÏÞÑÚÂë 0600
dir_per() Êý×Ö ½¨Á¢Ä¿Â¼Ê±µÄȨÏÞÑÚÂë 0600
create_dirs() yes/no Èç¹ûĿ¼²»´æÔھͽ¨Á¢ no



pipe()

syslog-ngͨ¹ýpipe()ÈÕÖ¾ÏûϢĿµÄÇý¶¯Æ÷°ÑÈÕÖ¾ÏûÏ¢·¢Ë͵½/dev/xconsoleÖ®ÀàµÄÃüÃû¹ÜµÀ¡£


unix-stream()ºÍunix0dgram()

syslog-ngͨ¹ýÕâÁ½¸öÈÕÖ¾ÏûϢĿµÄÇý¶¯Æ÷°ÑÈÕÖ¾ÏûÏ¢·¢Ë͵½Ò»¸öSOCK_STREAM»òÕßSOCK_DGRAMģʽµÄUNIXÌ×½Ó×Ö¡£


udp()ºÍtcp()

ʹÓÃTCP»òÕßUDPЭÒé°ÑÈÕÖ¾ÏûÏ¢Ë͵½±¾µØÍøÂçÉÏ»òÕßinternetÉϵÄÁíÍâµÄÖ÷»ú¡£


usertty()

syslog-ngʹÓÃÕâ¸öÈÕÖ¾ÏûϢĿµÄÇý¶¯Æ÷°ÑÈÕÖ¾ÏûÏ¢Ë͵½Ò»¸öµÇ¼Óû§Ê¹ÓõÄÖÕ¶Ë¡£


program()

program()Çý¶¯Æ÷fork³öÒ»¸ö½ø³Ì£¬Ê¹Óøø¶¨µÄ²ÎÊýÖ´ÐÐÒ»¸öÌØ¶¨µÄ³ÌÐò£¬È»ºó°ÑÈÕÖ¾ÏûÏ¢Ë͵½Õâ¸ö½ø³ÌµÄ±ê×¼ÊäÈëÉ豸¡£



4.ÓÅ»¯syslog-ng


syslog-ngµÄĬÈÏÉèÖÃÊÇÕë¶Ôµ¥·þÎñÆ÷»òÕß¹¤×÷Õ¾µÄ£¬¶ø¶ÔÓÚÒ»¸öÍøÂçµÄÖÐÑëÈÕÖ¾Ö÷»úÈ´Ô¶Ô¶²»¹»¡£Òò´Ë£¬ÐèÒª¶ÔÆä½øÐÐһЩµ÷ÕûºÍÓÅ»¯¡£


ÉèÖÃÀ¬»øÊÕ¼¯²ÎÊý

syslog-ngÓÐ×Ô¼ºµÄÀ¬»øÊÕ¼¯Æ÷£¬¶øÇÒÒ»µ©½øÈëÀ¬»øÊÕ¼¯×´Ì¬¾Í²»ÔÙ½ÓÊÜÈÕÖ¾ÏûÏ¢¡£´Ó¶øÔì³É·ÇÁ¬½ÓµÄ´«ÊäЭÒéµÄÐÅÏ¢¶ªÊ§¡£Òò´Ë£¬ÐèÒª¶Ôsyslog-ngµÄÀ¬»øÊÕ¼¯×´Ì¬½øÐпØÖÆ£¬Äã¿ÉÒÔͨ¹ýÒÔÏÂÁ½¸öÑ¡ÏîÀ´¿ØÖÆÆäÀ¬»øÊÕ¼¯×´Ì¬¡£


gc_idle_threshold()

Õâ¸öÑ¡ÏîÄܹ»ÉèÖÃÀ¬»øÊÕ¼¯Æ÷ÔÚsyslog-ng´¦ÓÚ¿ÕÏÐ״̬ʱµÄ·§Öµ¡£Èç¹û·ÖÅäµÄµÄ¶ÔÏó´ïµ½Õâ¸öÊý×Ö£¬¶øÇÒϵͳ´¦ÓÚ¿ÕÏÐ״̬(100msecÄÚûÓÐÈÕÖ¾ÏûÏ¢µ½´ï)£¬syslog-ng¾ÍÆô¶¯À¬»øÊÕ¼¯Æ÷¡£´Ëʱϵͳ´¦ÓÚ¿ÕÏÐ״̬£¬Òò´Ë»ù±¾²»»áÔì³ÉÈÕÖ¾ÐÅÏ¢µÄ¶ªÊ§¡£Õâ¸öÖµÓ¦¸Ã±È½ÏС£¬²»¹ýÒª´óÓÚÒÑ·ÖÅä¶ÔÏóµÄ×îСֵ¡£ÒÑ·ÖÅä¶ÔÏóµÄ×îСֵȡ¾öÓÚÄãµÄÅäÖã¬Ò²¿ÉÒÔͨ¹ý-vÃüÁîÐвÎÊýÖ¸¶¨¡£


gc_busy_threshold()

Èç¹ûsyslog-ngÕýæÓÚ½ÓÊÜÈÕÖ¾ÏûÏ¢(ÈÕÖ¾ÏûÏ¢µÄ¼ä¸ôСÓÚ100msec)£¬ÎªÁË·ÀÖ¹Æä³ÔµôËùÓÐÄڴ棬ҲӦ¸ÃÔËÐÐÀ¬»øÊÕ¼¯Æ÷¡£Õâ¸öÖµÓ¦¸Ã±È½Ï¸ß£¬ÒÔ±ãÔÚÕý³£Çé¿öϲ»´ò¶ÏÈÕÖ¾ÏûÏ¢µÄ½ÓÊÕ¡£



ÉèÖÃÊä³ö¶ÓÁеĴóС

ΪÁË·ÀÖ¹·¢ËÍÈÕÖ¾µÄdaemon³ÌÐò×èÈû£¬syslog-ngÒ»Ö±ÔÚ¶ÁÈ¡ÆäÏòÄÚµÄÈÕ־ͨµÀ¡£Èç¹ûÊä³ö¶ÓÁÐÒÑÂú£¬¾Í¿ÉÄÜÔì³ÉÈÕÖ¾ÏûÏ¢µÄ¶ªÊ§¡£Òò´Ë£¬ÉèÖÃÊä³ö¶ÓÁеĴóС·Ç³£ÖØÒª£¬Äã¿ÉÒÔÉèÖÃÈ«¾ÖÊä³ö¶ÓÁеĴóС£¬Ò²¿ÉÒÔΪÿ¸öÈÕÖ¾ÏûÏ¢Çý¶¯Æ÷ÉèÖÃÊä³ö¶ÓÁеĴóС¡£


options { log_fifo_size(1000); };


»òÕß


destination d_dmessages { file("/var/log/messages" log_fifo_size(1000); };


Êä³ö¶ÓÁеĴóСӦ¸ÃºÏÀí£¬Õâ¶ÔÓÚ´óÁ¿µÄÈÕÖ¾ÏûÏ¢Ó¿À´ÌرðÖØÒª¡£Èç¹û·äÓµ¶øÖÁµÄÈÕÖ¾ÐÅÏ¢Õ¼¾ÝÁËÄ¿±êͨµÀµÄËùÓдø¿í£¬syslog-ngÄܹ»°ÑÈÕÖ¾ÏûÏ¢ÏûÏ¢±£´æµ½Êä³ö¶ÓÁÐÖУ¬µÈ¸ß·å¹ýÈ¥ÔÙ·¢³ö¡£

µ±È»£¬syslog-ng²»ÄܲâÊÔÄãµÄÍøÂç´ø¿í£¬Òò´ËÈç¹ûÄ¿µÄÖ÷»úÔÚÒ»¸öÔëÒôºÜ´óµÄÍøÂçÉÏ£¬¶øÇÒÈÕÖ¾Á÷Á¿³¬¹ýÍøÂç´ø¿í£¬syslog-ngÒ²ÎÞÄÜΪÁ¦¡£



ÉèÖÃͬ²½(sync)²ÎÊý

syslog-ngÒ»°ãÏȶÔÈÕÖ¾ÏûÏ¢½øÐлº´æ¡£µ±´ïµ½Ò»¶¨µÄÊýÁ¿£¬¾ÍдÈë´ÅÅÌ¡£×¢Òâsyslog-ngÊǶÔÿÌõÈÕÖ¾ÏûÏ¢·Ö±ðʹÓÃwrite()ϵͳµ÷Ó㬶ø²»ÊÇ³ÉÆ¥Ð´Èë(why?I can't understand*_*)¡£



Ïà¹Ø×¨Ì⣺ÔÝÎÞÏà¹Ø×¨Ìâ

ÉÏһƪ£ºÔõÑù±ä¸üÊÕÈ¡µÄÓʼþµÄĬÈϴ洢λÖÃ
ÏÂһƪ£º³õѧÕß°²×°RPM°ü¿ìËÙÓ¦¼±ÊÖ²á

¹²ÓÐÆÀÂÛ 0 Ìõ ÍøÓÑÆÀ·Ö 0·Ö ²é¿´È«²¿

¡¾·¢±íÆÀÂÛ¡¿ ÆÀ·Ö£º1·Ö 2·Ö 3·Ö 4·Ö 5·Ö



Copyright © 2001-2007 °æÈ¨ËùÓÐ
Powered By RedHat/PHP/MySQL/ÐÄÓê¶¯Íø
¾©ICP±¸05005037ºÅ