Syslogd Linux နဲ့ Unix စစ်ဌာနချုပ်

Sysklogd စနစ်ကသစ်ခုတ်ခြင်းနှင့် kernel ကိုမက်ဆေ့ခ်ျကိုထောင်ချောက်အထောက်အပံ့ပေးရာနှစ်ခု system utilities ပေးပါသည်။ အင်တာနက်နှင့်နှစ်ဦးစလုံး၏ပံ့ပိုးမှု Unix ဒိုမိန်းခြေစွပ်နှစ်ဦးစလုံးပြည်တွင်းနှင့်ဝေးလံခေါင်သီသစ်ထုတ်လုပ်ရေးကိုထောကျပံ့ဖို့ဒီ utility ကိုအထုပ်နိုင်ပါတယ်။

System ကိုသစ်ခုတ်ခြင်းစတော့ရှယ်ယာ BSD ရင်းမြစ်များမှဆင်းသက်လာ syslogd တစ်ဗားရှင်း (8) ကထောက်ပံ့ပေးနေပါသည်။ kernel ကိုသစ်ထုတ်လုပ်ရေးများအတွက်ပံ့ပိုးမှု kernel ကိုသစ်ခုတ်တစ်ဦးကို standalone ဖက်ရှင်ဖြစ်စေဒါမှမဟုတ် syslogd တစ်ဦးကို client အဖြစ်ကောက်ယူခံရဖို့ခွင့်ပြုပေးသော klogd (8) utility ကိုပေးထားပါသည်။

Syslogd အများအပြားခေတ်သစ်အစီအစဉ်များကိုအသုံးပြု logging တစ်ဦးကြင်ကြင်နာနာပေးပါသည်။ တိုင်း logged သတင်းစကားလည်းသာမန်အားဖြင့်အနည်းဆုံးအချိန်နှင့်တစ်ဦး hostname ကိုလယ်, program တစ်ခုအမည်ဖြင့်လယ်ကွက်များပါရှိသည်, ဒါပေမယ့်သောသစ်ထုတ်လုပ်ရေးအစီအစဉ်တစ်ခုဖြစ်သည်ဘယ်လို trusty ပေါ်တွင်မူတည်သည်။

အဆိုပါ syslogd သတင်းရင်းမြစ်အကြီးအကျယ်မှတ်စု၏စုံတွဲတစ်တွဲပြုပြင်မွမ်းမံခဲ့ကြပေမယ့်အမိန့်ရှိကြ၏။ လူအပေါင်းတို့၏ပထမဦးဆုံးကြောင်း syslogd က၎င်း၏က default, စံ BSD အပြုအမူအောက်ပါအတိုင်းသေချာစေရန်စနစ်တကျကြိုးပမ်းမှုရှိခဲ့သည်။ သတိပြုပါရန်ဒုတိယအရေးကြီးသောအယူအဆ syslogd ၏ဤဗားရှင်းစံစာကြည့်တိုက်၌တွေ့ syslog ၏ဗားရှင်းနဲ့ထင်သာမြင်သာရှိမှုအပြန်အလှန်ဆက်သွယ်သောကွောငျ့ဖွစျသညျ။ စံ shared စာကြည့်တိုက်များနှင့်ဆက်စပ်နေတဲ့ binary မှန်ကန်စွာအလုပ်လုပ်ဖို့ပျက်ကွက်ခဲ့လျှင်ကျနော်တို့ပုံမှန်မဟုတ်သည့်အပြုအမူ၏ဥပမာတစ်ခုချင်ပါတယ်။

အဆိုပါ -f option နဲ့အတူပေးသောအဓိက configuration file ကို /etc/syslog.conf သို့မဟုတ်တစ်ဦးကအခြားရွေးချယ်စရာဖိုင်, startup မှာကိုဖတ်ဖြစ်ပါတယ်။ အဆိုပါ hash အမှတ်အသား ( `` # '' ') နှင့်အတူစတင်များနှင့်အချည်းနှီးသောလိုင်းများကိုလျစ်လျူရှုနေကြသည်ဆိုလိုင်း။ မှားယွင်းမှုတစ်ခုတပြင်လုံးကိုလိုင်း parsing ကာလအတွင်းဖြစ်ပေါ်ပါလျှင်လျစ်လျူရှုနေပါတယ်။

အနှစ်ချုပ်

syslogd [-a socket] [-D] [-f config ကိုဖိုင်ကို] [-h] [-l hostlist] [-m ကြားကာလ] [-n] [-p socket] [-r] [-s domainlist] [- v] [-x]

options ကို

-a socket

ဤဆင်ခြေကိုသုံးပြီးသင် syslogd ထံမှနောက်ထပ်ခြေစွပ်ကိုသတ်မှတ်နိုင်ပါတယ်နားထောင်ရန်ရှိပါတယ်။ သငျသညျအခြို့သော daemons တစ် chroot () ပတ်ဝန်းကျင်အတွင်းကို run ပါစေတာပေါ့လျှင်ဒီလိုအပ်ပါသည်။ သငျသညျ 19 နောက်ထပ်ခြေစွပ်အထိကိုသုံးနိုင်သည်။ သင့်ရဲ့ပတ်ဝန်းကျင် ပို. ပင်လိုအပ်ပါသည်ဆိုပါက, သင် syslogd.c အရင်းအမြစ်ဖိုင်အတွင်းသင်္ကေတ MAXFUNIX တိုးမြှင့်ဖို့ရှိသည်။ တစ်ဦးတစ်ဦး chroot ဥပမာ () daemons http://www.psionic.com/papers/dns.html မှာ OpenBSD ကနေလူများကဖော်ပြထားသည်။

-D

ဒီဘာဂ် mode ကိုအပေါ်ပြန်သွားလေ၏။ ဒီသုံးပြီး daemons (2) နောက်ခံသူ့ဟာသူ set ပေမယ့်ရှင်းမှအတွက်နေထိုင်ရန်ဆန့်ကျင်ဘက်များနှင့်လက်ရှိ TTY အပေါ်အများကြီးဒီဘာဂ်သတင်းအချက်အလက်များရေးသားဖို့တစ်ခက်ရင်းခွဆက်လက်ဆောင်ရွက်လိမ့်မည်မဟုတ်ပါ။ ပိုမိုသိရှိလိုပါကများအတွက် Debugging အပိုင်းကိုကြည့်ပါ။

-f config ကိုဖိုင်

ကို default အရာအစား /etc/syslog.conf တစ်ခုကအခြားရွေးချယ်စရာ configuration ဖိုင်, Specify ။

-h

default အ syslogd ဖြင့်ဝေးလံခေါင်ဖျားကောင်းကင်ဗိုလ်ခြေအရှင်ထံမှလက်ခံရရှိမက်ဆေ့ခ်ျကို forward လိမ့်မည်မဟုတ်ပါ။ က command line ပေါ်မှာဤ switch ကိုသတ်မှတ်ခြင်းကသတ်မှတ်ခဲ့ကြရသောကောင်းကင်ဗိုလ်ခြေအရှင် forwarding မှလက်ခံရရှိမည်သည့်ဝေးလံသောမက်ဆေ့ခ်ျကို forward ဖို့မှတ်တမ်း daemons ဖြစ်ပေါ်စေပါလိမ့်မယ်။

-l hostlist

သာင်း၏ရိုးရှင်းသော hostname မ fqdn နှင့်အတူ logged သင့်ကြောင်းတစ် hostname ကိုသတ်မှတ်။ (: '' ``) separator အကွိမျမြားစှာကောင်းကင်ဗိုလ်ခြေအရှင်အူကို အသုံးပြု. သတ်မှတ်ထားသောနိုင်ပါသည်။

-m ကြားကာလ

အဆိုပါ syslogd မှန်မှန်အမှတ်အသားတစ်ခု Timestamp ကိုတွင်းသို့။ မာကု - - နှစ်ခုအကြားက default ကြားကာလလိုင်းများမိနစ် 20 ဖြစ်ပါတယ်။ ဒီ option နဲ့အတူပြောင်းလဲသွားနိုင်ပါတယ်။ သုညဖို့ကြားကာလချိန်ညှိခြင်းလုံးဝကပိတ်။

-n

Auto-background ရှောင်ကြဉ်ပါ။ အဆိုပါ syslogd ခြင်းဖြင့်စတင်ခဲ့ခြင်းနှင့်ထိန်းချုပ်လျှင်ဤသည်အထူးသဖြင့်လိုအပ် init (8) ။

-p socket

သငျသညျအစား / dev / မှတ်တမ်းတစ်ခုကအခြားရွေးချယ်စရာ Unix ဒိုမိန်း socket ကိုသတ်မှတ်နိုင်ပါတယ်။

-r

ဒီ option က syslog ဝန်ဆောင်မှု ((5) ကိုကြည့်ပါ) နှင့်အတူအင်တာနက်ဒိုမိန်း socket ကိုအသုံးပြုပြီးကွန်ရက်ကနေမက်ဆေ့ခ်ျကိုလက်ခံရရှိရန်စက်ရုံ enable ပါလိမ့်မယ်။ ကို default ကွန်ယက်ကနေမဆိုမက်ဆေ့ခ်ျများမခံမရန်ဖြစ်ပါသည်။

ဒီ option က sysklogd အထုပ်၏ဗားရှင်း 1.3 မှာစတင်မိတ်ဆက်သည်။ ကို default အပြုအမူအဟောင်းတွေဗားရှင်းဘယ်လိုပြုမူ၏ဆန့်ကျင်ဘက်ဖြစ်တယ်, ဒါသင်ဤဖွင့်ဖို့ရှိသည်အံ့သောငှါသတိပြုပါ။

-s domainlist

သစ်ထုတ်လုပ်ရေးမတိုင်မီချွတ်သင့်ကြောင်း domain name ကို Specify ။ (: '' ``) separator အကွိမျမြားစှာ domains များအူကို အသုံးပြု. သတ်မှတ်ထားသောနိုင်ပါသည်။ အဘယ်သူမျှမ sub-domain သတ်မှတ်ထားသောစေခြင်းငှါအကြံပေးပေမယ်သာတစ်ခုလုံးကို domains များလိမ့်ပေးပါ။ -s north.de:infodrom.north.de: -s north.de သတ်မှတ်ထားသောနှင့်အိမ်ရှင်သစ်ထုတ်လုပ်ရေးအဘယ်သူမျှမဒိုမိန်းဖြတ်ခံရလိမ့်မယ် satu.infodrom.north.de မှဖြေရှင်းလျှင်ဥပမာအားဖြင့်သင်တို့ကဲ့သို့နှစ်ခု domains များသတ်မှတ်ရပါလိမ့်မယ်။

-v

ပုံနှိပ်ဗားရှင်းနဲ့ထွက်ပေါက်။

-x

ဝေးလံခေါင်သီမက်ဆေ့ခ်ျလက်ခံရရှိသည့်အခါနာမကိုအမှီ lookups များကိုလည်းပိတ်ရန်။ အဆိုပါ nameserver များဟာ syslog daemons run သောတူညီသောစက်ပေါ်ပြေးသောအခါဤသည်အကျပ်အတည်းရှောင်။

signals

Syslogd အချက်ပြမှုများ၏အစုတခုမှဓါတ်ပြုပါသည်။ သင်အလွယ်တကူအောက်ပါသုံးပြီး syslogd ဖို့ signal ကိုပေးပို့နိုင်ပါသည်:

-SIGNAL `ကြောင် / var / ပြေး / syslogd.pid` ကိုသတ်

Sighup

ဤသည် syslogd တစ်ဦးပြန်လည်စတင်ခြင်းလုပ်ဆောင်ပေးနိုင်ပါတယ်။ အားလုံးပွင့်လင်းဖိုင်တွေပိတ်ထားကြသည်, အတွက် configuration ဖိုင် (default အ /etc/syslog.conf ဖြစ်ပါတယ်) ပြန်ဖတ်ပါလိမ့်မည်နှင့် syslog (3) စက်ရုံနောက်တဖန်စတင်နေပါတယ်။

SIGTERM

အဆိုပါ syslogd သေဆုံးပါလိမ့်မယ်။

SIGINT, SIGQUIT

ဒီဘာဂင်ကဤလျစ်လျူရှုနေကြပါတယ် enabled လျှင်မဟုတ်ရင် syslogd သေဆုံးပါလိမ့်မယ်။

SIGUSR1

် / ပိတ် debugging သို့ပြောင်းပါ။ syslogd အဆိုပါ -D ဒီဘာဂ် option ကိုစတင်ပါကဤ option ကိုသာအသုံးပွုနိုငျပါသညျ။

SIGCHLD

အခြို့သောကြောင့်အ wall'ing မက်ဆေ့ခ်ျ၏, မွေးဖွားခဲ့မယ်ဆိုရင်ကလေးအတွက်စောင့်ပါ။

configuration ဖိုင်ဖွ Syntax ကွာခြားချက်များ

Syslogd မူရင်း BSD သတင်းရင်းမြစ်ထက်၎င်း၏ configuration ဖိုင်တစ်ခုအနည်းငယ်ကွဲပြားခြားနားသော syntax ကိုအသုံးပြုသည်။ မူလကအထက်ပါတိကျတဲ့ဦးစားပေးနဲ့အပေါငျးတို့သမက်ဆေ့ခ်ျဃဖိုင်ပေးပို့ခဲ့ကြသည်။

ဥပမာအားဖြင့်, အောက်ပါလိုင်း daemons အဆောက်အဦကို အသုံးပြု. daemons ကနေအားလုံး output ကို (ဒီဘာဂ်နိမ့်ဆုံးဦးစားပေးဖြစ်တယ်, ဒါတိုင်းအဆင့်မြင့်လည်းကိုက်ညီပါလိမ့်မယ်) / usr / adm / daemons သို့သွားစေခြင်း:

# နမူနာ syslog.conf daemon.debug / usr / adm / daemons

အသစ်ကအစီအစဉ်လက်အောက်တွင်, ဒီအပြုအမူတူညီနေဆဲဖြစ်သည်။ (!) (-) ခြားနားချက်လေးသစ်ကိုသတ်မှတ်ထားတဲ့, အခရေပွင့ (*) သံခိတ်, ညီမျှခြင်းလက္ခဏာသက်သေ (=) က, အာမေဍိတ်အမှတ်အသားနှင့်, အနုတ်လက္ခဏာသက်သေများ၏ထို့အပြင်ဖြစ်ပါတယ်။

အဆိုပါ * သတ်မှတ်ထားသောစက်ရုံအားလုံးကိုမက်ဆေ့ခ်ျကို destination ကိုသွားဖို့ဖြစ်ကြောင်းသတ်မှတ်ပါတယ်။ ဒီအပြုအမူဒီဘာဂ်၏ဦးစားပေးအဆင့်သတ်မှတ်ခြင်းနှင့်အတူသမ္မတကတော်ကြောင်းသတိပြုပါ။ အသုံးပြုသူများခရေပွင့သင်္ကေတကိုပိုမိုအလိုလိုသိကြောင်းညွှန်ပြကြသည်။

အဆိုပါ = သံခိတ်သတ်မှတ်ထားသောဦးစားပေးလူတန်းစားမှသစ်ထုတ်ကန့်သတ်အသုံးပြုသည်။ ဒါကအထူးသဖြင့်သစ်ထုတ်လုပ်ရေးအရင်းအမြစ်မှသာဒီဘာဂ်မက်ဆေ့ခ်ျ routing ဥပမာ, ခွင့်ပြုပါတယ်။

ဥပမာအားဖြင့်, syslog.conf ထဲတွင်အောက်ပါလိုင်း / usr / adm / ဒီဘာဂ်ဖိုင်အားလုံးကိုရင်းမြစ်များမှဒီဘာဂ်မက်ဆေ့ခ်ျကိုညွှန်ကြားလိမ့်မယ်။

# နမူနာ syslog.conf ။ * = ဒီဘာဂ် / usr / adm / ဒီဘာဂ်

အဆိုပါ! သတ်မှတ်ထားသောဦးစားပေးသစ်ထုတ်လုပ်ရေးထုတ်ပယ်ရန်အသုံးပြုသည်။ ဒါဟာအဓိကဦးစားပေးသတ်မှတ်၏အားလုံး (!) ဖြစ်နိုင်ခြေသက်ရောက်သည်။

ဥပမာအားဖြင့်, အောက်ပါလိုင်းများ / usr / adm / မေးလ်ဖိုင်ဖို့ဦးစားပေးအင်ဖိုရှိသူများ မှလွဲ. စက်ရုံမေးလ်များအားလုံးမက်ဆေ့ခ်ျ log လိမ့်မယ်။ နှင့် (ဖယ်ထုတ်ပြီး) news.crit မှ (အပါအဝင်) news.info ကနေအားလုံးမက်ဆေ့ခ်ျများ / usr / adm / သတင်းဖိုင် logged မည်ဖြစ်သည်။

# နမူနာ syslog.conf မေးလ် *; ။ ။ မေးလ် = အချက်အလက် / usr / adm / မေးလ် news.info; ။ သတင်း crit / usr / adm / သတင်း

ခြွင်းချက်တခုကိုသင်သတ်မှတ်ထားတဲ့အဖြစ်အလိုလိုအသုံးပြုနိုင်ပေမည်။ အထက်ပါဖော်ပြခဲ့တဲ့အနက်ကိုရိုးရှင်းစွာ inverted ဖြစ်ပါတယ်။ သင်အသုံးပြုစေခြင်းငှါလုပ်နေတာ

mail.none

သို့မဟုတ်

မေးလ်။ ! *

သို့မဟုတ်

မေးလ်။ ဒီဘာဂ်

မေးလ်စက်ရုံနှင့်အတူကြွလာသောမက်ဆေ့ခ်ျကို skip ရန်။ ကနှင့်အတူဆော့ကစားတာကအခန်းရှိပါတယ်။ :-)

အဆိုပါ - သာသင်ကမှတိုင်းရေးပြီးနောက်ဖိုင်ကိုထပ်တူပြုခြင်းချန်လှပ်ချင်လျှင်ဖိုင်အမည် prefix ဖို့အသုံးပြုနိုင်ပါသည်။

စင်ကြယ်သော BSD အပြုအမူပေမယ့်စမ်းသပ်သူများဖို့အသုံးပြုသူတွေကိုတစ်ဦးချင်းစီကဒီ syntax အဆိုပါ BSD အပြုအမူထက်အတန်ငယ်ပိုပြီးပြောင်းလွယ်ပြင်လွယ်ကြောင်းညွှန်ပြခဲ့ကြဘို့ဤအချို့ acclimatation ယူနိုငျသညျ။ ဤပြောင်းလဲမှုများစံ syslog.conf (5) ဖိုင်တွေမထိခိုက်သင့်ကြောင်းသတိပြုပါ။ သငျသညျအထူးတိုးမြှင့်အပြုအမူရရှိရန်အတွက် configuration files တွေကိုပြုပြင်မွမ်းမံရမည်ဖြစ်သည်။

အဝေးမှသစ်ခုတ်သည်ပံ့ပိုးမှု

ဤရွေ့ကားပြုပြင်မွမ်းမံသည့် syslogd စက်ရုံမှကွန်ယက်ကိုထောကျပံ့ပေးသညျ။ Network ကို support ကိုမက်ဆေ့ခ်ျကိုသူတို့တကယ်မယ့် disk ကိုဖိုင် logged ပါလိမ့်မည်သည့်နေရာတွင်အခြား node ကို run နေ syslogd တ node ကို run နေ syslogd ထံမှပေးပို့နိုင်ပါတယ်ဆိုလိုသည်။

ဒီဖွင့်ဖို့ကိုသင် command line ကိုအပေါ် -r option ကို specify ရန်ရှိသည်။ ကို default အပြုအမူ syslogd ကွန်ယက်စကားကိုနားမထောင်ကြလိမ့်မည်ဖြစ်ပါသည်။

အဆိုပါမဟာဗျူဟာဒေသအလိုက်နေထုတ်လုပ်လိုက်တဲ့မှတ်တမ်းမက်ဆေ့ခ်ျတစ်ခု Unix ဒိုမိန်း socket အပေါ် listen syslogd ရှိသည်ဖို့ဖြစ်ပါတယ်။ ဒီအမူအကျင့်စံကို C စာကြည့်တိုက်တွင်တွေ့ရသော syslog နှင့်အတူအချင်းချင်းလုပ်ကိုင်ရန် syslogd ခွင့်ပြုပါလိမ့်မယ်။ တစ်ချိန်တည်းမှာပင် syslogd သည်အခြားကောင်းကင်ဗိုလ်ခြေအရှင်ထံမှပေးပို့မက်ဆေ့ခ်ျများအတွက်စံ syslog ဆိပ်ကမ်းကိုပေါ်နားထောငျ။ မှန်ကန်စွာဤလုပ်ငန်းရှိသည်ဖို့ဝန်ဆောင်မှု (ပုံမှန်အား / etc ထဲမှာတွေ့နိုင်ပါတယ်) (5) ဖိုင်များကိုအောက်ပါ entry ကိုရှိရမည်:

514 / udp syslog

ဒီ entry ပျောက်ဆုံးလျှင် syslogd မဝေးလံသောမက်ဆေ့ခ်ျလက်ခံရရှိမ UDP ကို port ကိုဖွင့်လှစ်ခြင်းကိုအတွက်မရှိမဖြစ်သောကွောငျ့, သူတို့ကိုပေးပို့နိုင်ပါတယ်။ အဲဒီအစား, syslogd error message ကိုထွက်မှုတ်, ချက်ချင်းသေဆုံးပါလိမ့်မယ်။

မက်ဆေ့ခ်ျကိုအခြားအိမ်ရှင်မှပေးပို့စေဖို့မက်ဆေ့ခ်ျတစ်ခု @ အတူ prepended ကိုစလှေတျခံရဖို့ဖြစ်ပါတယ်သောအိမ်ရှင်၏အမည်နှင့်အတူ syslog.conf ဖိုင်ထဲမှာပုံမှန်ဖိုင်လိုင်းအစားထိုးလိုက်ပါ။

ဥပမာအားဖြင့်, အောက်ပါ syslog.conf entry ကိုသုံးပြီးဝေးလံခေါင်သီအိမ်ရှင်ဖို့အားလုံးမက်ဆေ့ခ်ျကို forward မှ:

ရှေ့ဆက်အားလုံးတစ်ဦးဝေးလံသောအိမ်ရှင်ဖို့ # မက်ဆေ့ခ်ျမှ # နမူနာ syslogd configuration file ကို။ * ။ * @hostname

အောက်မှာဖေါ်ပြတဲ့အတိုင်းတစ်ဝေးလံခေါင်သီအိမ်ရှင်အားလုံးကို kernel ကိုမက်ဆေ့ခ်ျ forward ပြုလုပ်ပေးဖို့အတွက် configuration ဖိုင်ပါလိမ့်မယ်:

ဝေးလံခေါင်သီအိမ်ရှင်အားလုံးကို kernel ကို # မက်ဆေ့ခ်ျကို forward လုပ်ဖို့ # နမူနာ configuration file ကို။ Kerns ။ * @hostname

နာမတော်ကိုအမှီ ပြု. -server ကိုလက်လှမ်း (က syslogd ပြီးနောက်စတင်ခဲ့စေခြင်းငှါ) မရစေခြင်းငှါ, ကြောင့်ဝေးလံခေါင်သီ hostname, startup မှာဖြေရှင်းရမရနိုင်လျှင်သင်စိတ်ပူစရာမလိုပါဘူး။ Syslogd နာမတော်ကိုအမှီ ပြု. ဆယျကွိမျဖြေရှင်းရန်ပြီးတော့တိုင်ကြားမှပြန်ကြိုးစားပါလိမ့်မယ်။ ဒီရှောင်ရှားရန်နောက်ထပ်ဖြစ်နိုင်ချေ / etc / hosts ထဲမှာ host name ကိုနေရာချရန်ဖြစ်ပါသည်။

သငျသညျတူညီသောအိမ်ရှင် (သို့မဟုတ်ပထမဦးဆုံးတစျခုမှပြန်လွှတ်လိုက်တယ်, ဒါကြောင့်အပေါ်တစ်တတိယအိမ်ရှင်ပိုမိုရှုပ်ထွေး) ကိုဝေးလံခေါင်သီအိမ်ရှင်ထံမှလက်ခံရရှိခဲ့ကြကြောင်းမက်ဆေ့ခ်ျများထွက်ပေးပို့လျှင်သာမန် syslogd s ဖြင့်သင်တို့ကို syslog-ကွင်းရလိမ့်မယ်။ ငါ၏အဒိုမိန်း (Infodrom Oldenburg) တွင်ကျွန်တော်မတော်တဆတဦးတည်းတယ်နှင့်ကျွန်ုပ်တို့၏ disk တွေတူညီတစ်ခုတည်းမက်ဆေ့ခ်ျကိုအတူတက်ပြည့်စေတော်မူ၏။ :-(

နောက်ထပ်အကြိမ်၌ဤရှောင်ရှားရန်ဝေးလံခေါင်သီအိမ်ရှင်ထံမှလက်ခံရရှိခဲ့ကြကြောင်းဘယ်သူမျှမမက်ဆေ့ခ်ျများတော့ဘူးဝေးလံသောအိမ်ရှင်သည်အခြားထွက်စလှေတျတျော (သို့မဟုတ်တူညီသော) နေကြသည်။ အခြေအနေတွေရှိပါတယ် အကယ်. ဒီသဘောမျိုးလုပ်မထားဘူးအဘယ်မှာရှိ, (ဂျို) တစ်လိုင်းငါ့ကို drop ပေးပါ။

ဝေးလံခေါင်ဖျားအိမ်ရှင်အိမ်ရှင်အဖြစ်ဒိုမိန်းတစ်ခုတည်းတည်ရှိသောလျှင် syslogd အပေါ်အပြေးသည်ကိုသာရိုးရှင်း hostname တပြင်လုံးကို fqdn အစား logged လိမ့်မည်။

ဒေသခံတစ်ဦးကွန်ယက်တွင်သင်တဦးတည်း machine ပေါ်တွင်ထားရှိမည်အားလုံးအရေးကြီးသတင်းအချက်အလက်ရှိသည်ဖို့ဗဟိုမှတ်တမ်း server ကိုပေးလိမ့်မည်။ ကွန်ယက်ကွဲပြားခြားနားသော domains များပါဝင်ပါသည် အကယ်. အစားရိုးရှင်းသော hostnames ၏အပြည့်အဝအရည်အချင်းပြည့်အမည်များ logging အကြောင်းကိုတိုင်ကြားမှမရှိကြပါဘူး။ သင်ဤဆာဗာ၏ -s အဆိုပါချွတ်-ဒိုမိန်း feature ကိုအသုံးပြုချင်ပေမည်။ သငျသညျဆာဗာတွင်တည်ရှိသည်တထက်အခြားအများအပြား domains များချွတ်ချွတ်ဖို့ syslogd ပြောပြသာရိုးရှင်းတဲ့ hostnames log နိုင်ပါတယ်။

အဆိုပါ -l option ကိုအသုံးပြုခြင်းဒေသခံစက်တွေအဖြစ်တစ်ခုတည်းကောင်းကင်ဗိုလ်ခြေအရှင် define လုပ်ဖို့ဖြစ်နိုင်ခြေတစ်ခုလည်းဖြစ်ပါတယ်။ ဤသည်မှာလည်းသာသူတို့ရဲ့ရိုးရှင်းသော hostnames မ fqdns logging မှု။

ဒါကြောင့်လိုအပ်တဲ့အခါမှာဝေးလံသောကောင်းကင်ဗိုလ်ခြေအရှင်ထံသို့စာများ forward ပြုလုပ်ပေးဖို့ဒါမှမဟုတ်သူတို့ထံမှမက်ဆေ့ခ်ျလက်ခံရရှိရန်အသုံးပြုသော UDP ကို ​​socket သာဖွင့်လှစ်ခဲ့သည်။ ကြိုတင် 1.3-23 မှထုတ်ထဲမှာအခါတိုင်းဖွင့်လှစ်ခဲ့ပါသည်ပေမယ့်ဖတ်နေသို့မဟုတ်အသီးသီးတဆင့်ပို့ခြင်းအဘို့အမပွင့်။

Named သွယ်တန်းထားသောပိုက် (FIFOs) ကို output

syslogd ဒီဗားရှင်းအမည်ရှိပိုက် (fifos) ကို output ကို logging များအတွက်ထောက်ခံမှုရှိပါတယ်။ ဖိုင်ကို၏အမည်ကိုမှ | ( '' ' ``) တစ်ဦးက fifo သို့မဟုတ်အမည်ရှိပိုက်တစ် pipy သင်္ကေတ prepending အားဖြင့် log ကိုမက်ဆေ့ခ်ျတစ်ခုဦးတည်ရာအဖြစ်အသုံးပြုနိုင်ပါသည်။ ဒီအဒီဘာဂင်များအတွက်နေရာလေးကိုဖြစ်ပါတယ်။ syslogd စတင်ခဲ့ခြင်းဖြစ်သည်ရှေ့တော်၌ထို fifo အဆိုပါ mkfifo Command ဖြင့်ဖန်တီးရမည်ဖြစ်သည်သတိပြုပါ။

တစ်ဦး fifo အောက်ပါဖွဲ့စည်းမှုပုံစံ Kernel အားထံမှဖိုင်လမ်းကြောင်းများဒီဘာဂ်မက်ဆေ့ခ်ျများ:

တစ်ခုတည်းသောပိုက်အမည်ရှိ # ဖြစ်သော / usr / adm / ဒီဘာဂ်ဖို့လမ်းကြောင်း kernel ကိုဒီဘာဂင် # မက်ဆေ့ခ်ျမှ # နမူနာဖွဲ့စည်းမှုပုံစံ။ Kerns = ဒီဘာဂ် | ။ / ဒီဘာဂ် / usr / adm

installation အတွက်စိုးရိမ်ဖွယ်

syslogd ၏ဤဗားရှင်းကို install သည့်အခါတဦးတည်းအရေးကြီးသောထည့်သွင်းစဉ်းစားဖြစ်ကောင်းရှိပါသည်။ syslogd ဒီဗားရှင်း syslog function ကိုတို့ကမက်ဆေ့ခ်ျ၏သငျ့လျြောသောပုံစံချပေးအပေါ်မှီခိုသည်။ အဆိုပါ shared စာကြည့်တိုက်အတွက် syslog function ကို၏လုပ်ငန်းဆောင်တာတစ်နေရာရာမှာ libc.so.4 ၏ဒေသတွင်း၌ပြောင်းလဲသွားတယ်။ [2-4] .n ။ အဆိုပါတိကျတဲ့အပြောင်းအလဲ / dev / မှတ်တမ်း socket ကထုတ်လွှင့်ရှေ့တော်၌ထိုသတင်းစကားကို-အဆုံးသတ်ခြင်းတရားမဝင်သောဖို့ဖြစ်တယ်။ syslogd ၏ဤဗားရှင်းသင့်လျော်သောလုပ်ငန်းဆောင်တာမက်ဆေ့ခ်ျ၏တရားမဝင်သော-ရပ်စဲအပေါ်မှီခိုသည်။

အဟောင်းကို statically နှင့်ဆက်စပ် binaries စနစ်ပေါ်တွင်အသုံးပြုလျက်ရှိသည်လျှင်ဤပြဿနာကိုပုံမှန်အားဖြင့်ကိုယ်နှိုက်ကိုထင်ရှားစွာပြပါလိမ့်မယ်။ အဆိုပါ syslog function ကို၏ဟောင်းများကိုဗားရှင်းကို အသုံးပြု. binaries ဗလာလိုင်းများကိုဖယ်ရှားမက်ဆေ့ခ်ျအတွက်ပထမဦးဆုံးဇာတ်ကောင်နှင့်အတူမက်ဆေ့ခ်ျကိုအားဖြင့်နောက်တော်သို့လိုက် logged ခံရဖို့ဖြစ်ပေါ်စေပါလိမ့်မယ်။ အဆိုပါ shared စာကြည့်တိုက်၏အသစ်များဗားရှင်းဤ binaries Relinking ဤပြဿနာကိုပြင်ပေးပါလိမ့်မယ်။

အဆိုပါ syslogd (8) နှင့် klogd (8) (8) init ကနေ run ပါသို့မဟုတ် rc ၏တစ်စိတ်တစ်ပိုင်းအဖြစ်စတင်နိုင်ပါတယ်ဖြစ်စေနှစ်ဦးစလုံး။ * sequence ကို။ က -n မဟုတ်ရင်, သတ်မှတ်ရပါမည်ထို option init ကနေစတင်ခဲ့တာဖြစ်ပါတယ်လျှင်သင် syslog daemons တန်ချိန်စတင်ရန်ပါလိမ့်မယ်။ ဘာဖြစ်လို့လဲဆိုတော့ဤသူကားအ init (8) လုပ်ငန်းစဉ် ID ကိုအပေါ်မူတည်ပါသည်။

လုံခြုံရေးခြိမ်းခြောက်မှုများ

ဝန်ဆောင်မှုတိုက်ခိုက်မှုများ၏ငြင်းပယ်များအတွက်ပြွန်အဖြစ်အသုံးပြုခံရဖို့ syslogd daemons များအတွက်အလားအလာရှိပါသည်။ ကျေးဇူးတင်ပါသည်ဒီအလားအလာမှငါ့ကိုသတိပေးနခွေငျးယောဟနျသ Morrison (jmorriso@rflab.ee.ubc.ca) ကိုသွားပါ။ တစ်ဦးကလူဆိုးစာရင်းအစီအစဉ် (မဲ) အလွန်အလွယ်တကူပေါ်မှာရှိသမျှကျန်ရှိနေသေးသောအာကာသစားသုံးဃဖိုင်တွေထဲမှာရရှိလာတဲ့ syslog မက်ဆေ့ခ်ျနှင့်အတူ syslogd daemons ရေလွှမ်းနိုင် ဖိုင်စနစ် ။ အဆိုပါ inet ဒိုမိန်းခြေစွပ်ကျော်သစ်ခုတ်သက်ဝင်၏သင်တန်းဒေသခံ machine ပေါ်တွင်အစီအစဉ်များသို့မဟုတ်တစ်ဦးချင်းစီ၏အပြင်ဘက်တွင်အန္တရာယ်များမယ့်စနစ်ကဖော်ထုတ်ပါလိမ့်မယ်။

စက်ကာကွယ်၏နည်းလမ်းများ၏နံပါတ်ရှိပါသည်:

  1. အိမ်ရှင်အဖြစ်သို့မဟုတ်ကွန်ရက် 514 / UDP ကို ​​socket မှဝင်ရောက်ခွင့်ရှိသည်သောကန့်သတ်နိုင်ဖို့ kernel ကို firewall အကောင်အထည်ဖော်ရန်။
  2. သစ်ထုတ်လုပ်ရေးနှင့်ပြည့်စုံလျှင်, စက်အယှက်မည်မဟုတ်သည့်အထီးကျန်သို့မဟုတ် Non-အမြစ်ဖိုင်စနစ်ကိုဖို့ညွှန်ကြားထားနိုင်ပါတယ်။
  3. အဆိုပါ ext2 ဖိုင်စနစ်ကိုသာအမြစ်တို့ကအသုံးပြုမှုတစ်ဖိုင်စနစ်၏အချို့ရာခိုင်နှုန်းကန့်သတ်ရန် configure လုပ်ထားနိုင်သည့်သုံးနိုင်တယ်။ ဒီ non-အမြစ်ဖြစ်စဉ်ကိုအဖြစ် run ခံရဖို့ syslogd လိုအပ်လိမ့်မည်ဟုမှတ်ချက်။ လည်း syslogd အဆိုပါ 514 / UDP ကို socket မှခညျြနှောငျနိုငျမညျမဟုကတည်းကဒီဝေးလံခေါင်သီသစ်ထုတ်လုပ်ရေး၏အသုံးပြုမှုတားဆီးလိမ့်မယ်သတိပြုပါ။
  4. inet ဒိုမိန်းခြေစွပ်ကို disable ဒေသခံစက်မှစွန့်စားမှုကန့်သတ်မည်ဖြစ်သည်။
  5. ထိုပြဿနာကိုဆက်ရှိနေသေးနှင့် sucker လှံတံကို * တစ် 3.5 ပေ (ခန့်။ 1 မီတာ) အရှည်တွေဆိုတဲ့မေးခွန်းကိုအတွက်အသုံးပြုသူနဲ့ချက်တင်ရှိတစ်ဦးလူဆိုးစာရင်းအစီအစဉ်ကို / daemons မှအလယ်တန်းမပါလျှင်ခြေလှမ်း 4 ကိုသုံးပါနှင့်။ sucker လှံတံကို def ။ --- 3/4, 7/8 သို့မဟုတ် 1in ။ တစ်ခုချင်းစီကိုအဆုံးအပေါ်ပေါင်းလိုက်သောခိုင်မာသံမဏိလှံတံ, အထီး။ ရေနံရေတွင်းများမှရေနံ '' ကိုစို့ '' စုပ်ဖို့အနောက်တိုင်းမြောက်ဒါကိုတာနှင့်အခြားနေရာများတွင်ရေနံလုပ်ငန်းအတွင်းမူလတန်းအသုံးပြုခြင်း။ secondary အသုံးပြုမှုကိုစာရေးတံအစာကျွေးခြင်းနှင့်ရံဖန်ရံခါ recalcitrant သို့မဟုတ်တိုက်ခိုက်နေသောတစ်ဦးချင်းစီနှင့်ဆက်ဆံရာတွင်အဘို့သိုးနွားများဆောက်လုပ်ရေးအတွက်ဖြစ်ကြသည်။

Debugging

debugging -D option ကိုအသုံးပြုပြီးဖွင့်လိုက်တဲ့အခါထို့နောက် syslogd က stdout အပေါ်ဘာတာရေးသားခြင်းအားဖြင့်အလွန် verbose ဖြစ်လိမ့်မည်။ အတွက် configuration file ကိုပြန်ဖတ်ခြင်းနှင့်ပြန်လည်သရုပျခှဲဖြစ်ပါတယ်အခါတိုင်းသင်ပြည်တွင်းရေးဒေတာဖွဲ့စည်းပုံမှာမှသက်ဆိုင်ရာတစ်ဦး tabular တွေ့မြင်ပါလိမ့်မယ်။ ဤသည် tabular လေးလယ်ကွင်းပါဝင်ပါသည်:

ဂဏန်း

ဤကွက်လပ်သုညများကစတင်မယ့်နံပါတ်စဉ်ပါရှိသည်။ ဒီနံပါတ်ကို (အခင်းကျင်းဆိုလိုသည်မှာ) ကိုပြည်တွင်းရေး data တွေကိုဖွဲ့စည်းပုံထဲမှာအနေအထားကိုကိုယ်စားပြုတယ်။ တဦးတည်းအရေအတွက်ကထွက်ချန်ထားခဲ့လျှင်ထို့နောက် /etc/syslog.conf အတွက်သက်ဆိုင်ရာအညီမှားယွင်းမှုတစ်ခုရှိပေလိမ့်မည်။

ပုံစံ

ဤကွက်လပ်လှည်ဖြစ်ပြီးအတိအကျအတွင်းပိုင်းတည်ဆောက်ပုံကိုကိုယ်စားပြုသည်။ တိုင်းကော်လံ (syslog (3) ကိုကြည့်ပါ) တစ်ဦးစက်ရုံကိုဆိုလိုတာပါ။ သငျသညျမွငျနိုငျအဖြစ်ဟောင်းကိုအသုံးပြုခြင်းများအတွက်အခမဲ့ left အချို့သောအဆောက်အနေဆဲရှိပါတယ်, သာဘယ်ဘက်အများဆုံးအသုံးပြုကြသည်။ တစ်ကော်လံတိုင်းလယ်ပြင် (syslog (3) ကိုရည်ညွှန်း) ကဦးစားပေးကိုယ်စားပြုတယ်။

အရေးယူ

ဤကွက်လပ်သတင်းစကားတစ်ခုပုံစံကိုက်ညီမှုလက်ခံရရှိအခါတိုင်းရာအရပ်ကိုကြာသောအထူးသဖြင့်အရေးယူဖော်ပြသည်။ အားလုံးတတ်နိုင်သမျှလုပ်ရပ်များများအတွက် syslog.conf (5) manpage ရည်ညွှန်းကိုးကားပါ။

အငြင်းပွားမှုများ

ဤကွက်လပ်သည်လွန်ခဲ့သောလယ်ပြင်၌ရှိသောလုပ်ရပ်များမှနောက်ထပ်ဆင်ခြေပြသထားတယ်။ ဖိုင်-logging အဘို့ဤအရာ logfile များအတွက်ဖိုင်အမည်ရှိ၏ အသုံးပြုသူ-သစ်ထုတ်လုပ်ရေးအဘို့ဤအသုံးပြုသူစာရင်းတစ်ခုရှိ၏ ဝေးလံခေါင်သီသစ်ထုတ်လုပ်ရေးအဘို့ဤမှ log မှစက်၏ hostname ဖြစ်၏ console ကို-သစ်ထုတ်လုပ်ရေးများအတွက်ဒီအသုံး console ကိုဖွစျ၏ TTY-သစ်ထုတ်လုပ်ရေးအဘို့ဤသတ်မှတ်ထားသော TTY ဖြစ်၏ မြို့ရိုးကိုအဘယ်သူမျှမပိုဆောင်းအငြင်းပွားမှုများရှိနေသည်။

ဒါ့အပြင်ကိုကြည့်ပါ

logger (1), syslog (2), (5)

ပူပေါင်းဆောင်ရွက်

Syslogd BSD ရင်းမြစ်များမှခေါ်ဆောင်သွားတာဖြစ်ပါတယ် Greg Wettstein (greg@wind.enjellic.com) မှဆိပ်ကမ်းဖျော်ဖြေ, Linux ကို , Martin Schulz (joey@linux.de) အချို့သော bug တွေ fixed နှင့်အများအပြား features အသစ်ကထပ်ပြောသည်။ Klogd မူလကစတိဗ်သခင်ဘုရားသည် (lord@cray.com) ကရေးသားခဲ့, Greg Wettstein အဓိကတိုးတက်မှုများကိုဖန်ဆင်းတော်မူ၏။

ဒေါက်တာ Greg Wettstein
Enjellic စနစ်များဖွံ့ဖြိုးရေးကောင်စီ

ကင်ဆာသုတေသနဌာနခွဲကွန်ပျူတာ Facility
ရော်ဂျာ Marie ကင်ဆာစင်တာ
တဖက်, ND
greg@wind.enjellic.com

စတီဖင် Tweedie
ကွန်ပျူတာသိပ္ပံဌာန
Edinburgh တက္ကသိုလ်, စကော့တလန်
sct@dcs.ed.ac.uk

Juha Virtanen
jiivee@hut.fi

Shane Alderton
shane@ion.apana.org.au

Martin Schulz
Infodrom Oldenburg
joey@linux.de

အရေးကြီး: command တစ်ခုကိုသင်၏အထူးသဖြင့်ကွန်ပျူတာပေါ်တွင်အသုံးပြုသည်ကိုမည်သို့ကြည့်ဖို့လူကို command ကို (% သည်လူ) ကိုသုံးပါ။

Related ဆောင်းပါးများ