Syslog - ցանցային համակարգ: Linux-ի գրանցամատյանների ֆայլերը ըստ հերթականության Որ syslog ID-ն ունի ամենաբարձր առաջնահերթությունը

Դեմոն ներս Յունիքսզանգահարեք այն ծրագիրը, որն աշխատում է "վրա ֆոն" առանց տերմինալի հսկողություն պահանջելու, և ձեզ հնարավորություն տալով կատարել ձեր մյուս աշխատանքը «առաջին պլանում»: Դեյմոնը կարող է գործարկվել կա՛մ մեկ այլ գործընթացով, օրինակ՝ համակարգի գործարկման սկրիպտներից որևէ մեկով՝ առանց որևէ կառավարման տերմինալ մուտք գործելու, կամ օգտագործողի կողմից ինչ-որ տերմինալից, բայց այս դեպքում. Դեմոնը «չի տիրում»տերմինալ իր աշխատանքի տևողության համար: Բնականաբար, հարց է առաջանում, թե որ դեյմոն ծրագրերն են անհրաժեշտ ձեր համակարգում, և որոնք կարելի է անջատել։

Տերմինի ծագումը
Իրական (այսինքն՝ ոչ համակարգչային) աշխարհում «դև» տերմինը (կամ բառը) նշանակում է ոգի (առավել հաճախ՝ չար) կամ «ներքին ձայն»։ Հարկ է նշել, որ այս երկու արժեքներն էլ վերաբերում են Unix daemon ծրագրերին: Առասպելական դևերի պես, Յունիքս դևերը թաքնվում են կուլիսներում՝ փորձելով անտեսանելի մնալ: Եվ, ինչպես ներքին ձայնը կամ մեր ենթագիտակցությունը, նրանք միշտ «զգոնության մեջ» են, միշտ հասանելի, միշտ կարող են «դրսևորվել»։ «Դև» բառն ինքնին ներկայացնում է համակարգչային այդ հապավումներից մեկը, որի ծագումը նույնքան դժվար է պարզել, որքան՝ որոշել՝ սկզբում հավ է եղել, թե ձու։ Ենթադրաբարայս տերմինը («DAEMON») գալիս է բառերից «Սկավառակի և կատարման մոնիտոր»ծրագիրը։

Սկսելով ուսումնասիրել խնդիրը՝ ես գնացի մի քահանայի մոտ, ով օգտագործում է Ubuntu օպերացիոն համակարգով համակարգիչ: Ամեն դեպքում Windows-ով սկավառակ եմ վերցրել։ Երբեք չգիտես ... ես շիտակ մարդ եմ, ես չեմ ծեծել թփերի շուրջը, ես անմիջապես տվել եմ ամբողջ տեղեկատվությունը: Բացատրված է երկար ու մանրամասն։ Ի մեծ երջանկություն, նա այդ ամենը հանգիստ տարավ, տեղ-տեղ, մինչ ես խոսում էի, նույնիսկ ժպտաց, հատկապես երբ պատմում էր քրոջս ամուսնու՝ ubuntu-ից հրաժարվելու պատճառների մասին։ Հայրիկ, նորմալ մարդ, արդեն 50 տարեկան է, մի քիչ էլ խոսեցինք, ավելի ճիշտ ես խոսեցի, որ հասկանամ, որ ճիշտ է յուրացրել իմ ասածը։ Որից հետո նա ինձ ասաց, ես բառացի չեմ հիշում, բայց ես չէի մտածում այն ​​ձայնագրել դիկտաֆոնի վրա, այնպես որ ես դա կբնութագրեմ իմ բառերով: Ընդհանրապես, ոչ մի վատ բան չկա, որ այս տերմինն օգտագործվում է Linux-ում, գլխավորը հավատն է առ Աստված։

Ծառայությունների ներածություն

/etc/init.d-ում հիշատակված Դեմոնները նախատեսված են Linux-ում աշխատելու համար՝ որպես ծառայություն կամ ծառայություն: Ծառայությունները ծրագրեր են, որոնք գործարկվում և դադարեցվում են init սկրիպտների միջոցով, որոնք գտնվում են /etc/init.d գրացուցակում: Այս ծառայություններից շատերը գործարկվում են համակարգի բեռնման փուլում: / sbin / ծառայության օգտակար ծրագիրը տրամադրում է օգտագործողի միջերես (փոխազդեցություն) սկզբնավորման սկրիպտներով: Եվ այս սկրիպտներն իրենք ապահովում են ինտերֆեյս ծառայությունների կառավարման համար՝ օգտատիրոջը տրամադրելով տարբերակներ՝ սկսելու, դադարեցնելու, վերագործարկելու, ծառայության կարգավիճակը հարցնելու և ծառայության վրա այլ գործողություններ կատարելու: Օրինակ, httpd ծառայության սկզբնավորման սցենարն ունի հետևյալ ընտրանքները.

/ sbin / ծառայություն httpd Օգտագործում. httpd (սկսել | դադարեցնել | վերագործարկել | condrestart | վերաբեռնել | կարգավիճակը | լիարժեք կարգավիճակ | նրբագեղ | օգնություն | կազմաձևում)

Դուք կարող եք դիտել համակարգի բոլոր ծառայությունների ներկայիս վիճակը՝ օգտագործելով ծառայության օգտակար ծառայության հետևյալ տարբերակը.

/ sbin / service --status-all acpid (pid 2481) աշխատում է ... anacron (pid 2647) աշխատում է ... atd (pid 2657) աշխատում է ... աուդիտ (pid 2189) աշխատում է ...

Այս ծառայությունների գործարկման մակարդակի մասին տեղեկատվությունը, այսինքն՝ այն պարամետրը, որով համակարգի գործարկման մակարդակներից կոնկրետ ծառայությունը մեկնարկվում է բեռնման պահին, կարելի է ստանալ կամ փոխել՝ օգտագործելով chkconfig կոմունալ ծրագիրը: Տեսնենք, օրինակ, syslog համակարգի գրանցման ծառայության ընթացիկ կարգավորումները.

/ sbin / chkconfig --list syslog syslog 0: off 1: off 2: on 3: on 4: on 5: on 6: off

Մենք տեսնում ենք, որ syslog ծառայությունն ավտոմատ կերպով մեկնարկվում է, երբ մենք գնում ենք 2, 3, 4 և 5 մակարդակներ: Այն անջատելու համար 3 ​​և 4 մակարդակներից սկսելը (ի դեպ, լավ գաղափար չէ), կարող եք օգտագործել հետևյալը. chkconfig հրամանի տարբերակ.

/ sbin / chkconfig --levels 34 syslog անջատված է

/ usr / bin / system-config-services ծրագիրը տրամադրում է գրաֆիկական ինտերֆեյս համակարգային ծառայությունների համար, որը թույլ է տալիս դիտել և փոփոխել դրանց ընթացիկ վիճակը, ինչպես նաև սահմանել դրանք աշխատելու տարբեր մակարդակներում:

Տեսնենք, թե ինչպես են այս ծառայություններն ու դևերը հայտնվում ps հրամանի ելքում: Ահա մի արագ հատված.

UID PID PPID C STIME TTY TIME CMD արմատ 1 0 0 23:36? 00:00:00 սկզբնական արմատ 2161 1 0 23:37? 00:00:00 ստուգված արմատ 2177 1 0 23:37? 00:00:00 syslogd -m 0 արմատ 2180 1 0 23:37? 00:00:00 klogd -x արմատ 2207 1 0 23:37? 00:00:00 mcstransd արմատ 2254 1 0 23:37? 00:00:00 rpc.statd արմատ 2287 1 0 23:37? 00:00:00 rpc.idmapd արմատ 2577 1 0 23:37? 00:00:00 crond root 2631 1 0 23:37? 00:00:00 / usr / sbin / atd արմատ 2654 1 0 23:37? 00:00:00 rhnsd --ինտերվալ 240

Ի՞նչն է հետաքրքիր նշել այստեղ (բացի, իհարկե, որ այսօր շատ ուշ եմ նստել համակարգչի մոտ): Դեմոններից յուրաքանչյուրի համար հիմնական գործընթացի նույնացուցիչը (PPID) 1 է: Սա ցույց է տալիս, որ դևերը գործարկվել են init-ով բեռնման ժամանակ:

Այս արդյունքը կարելի է ավելի պարզ տեսնել այնպիսի օգտակար հրամանի ելքում, ինչպիսին է «pstree», որը ցուցադրում է գործընթացների «ծառը»՝ «ծնողներ» նշումով։ Ահա մի փոքրիկ հատված pstree-ի արդյունքից.

Init- + | -NetworkManager --- 2 * [(NetworkManager)] | -NetworkManagerD | -acpid | -atd | -auditd - + - python | `- (աուդիտի ենթարկված) | -avahi-daemon --- avahi-daemon | -bonobo-activati ​​--- (bonobo-activati) | -crond | -cupsd --- cups-polld | -2 * | -dbus -գործարկում | -dhcdbd --- dhclient

Ավելին ձեր համակարգի դևոնների մասին

Մենք ավարտեցինք ներածական տեղեկատվությունը: Հիմա եկեք առանձին խոսենք համակարգի դևերի մասին և տեսնենք, թե որոնց հետ կարող եք ապահով փորձարկել: Կրկին, այս գրառումը մի համակարգի մասին է, որն աշխատում է Red Hat Enterprise Linux Beta 2-ով աշխատանքային կայանի կոնֆիգուրացիայով: Կախված ձեր համակարգի առանձնահատկություններից, դուք կարող եք տեսնել ավելի կամ ավելի քիչ դևոններ, ներառյալ մի քանիսը, որոնք այստեղ ներկայացված չեն:

Յուրաքանչյուր դեյմոնի նկարագրությունները ներառում են հղումներ դեպի այն կայքերը, որտեղ դուք կարող եք ավելի շատ տեղեկություններ ստանալ, բայց դեռ լավ է սկսել սովորել դեյմոնի մասին՝ նայելով մարդու համապատասխան էջերը: O "Reilly-ն ունի Linux-ի հրամանների հիանալի այբբենական ցանկ, և wikipedia.org-ն ունի նաև բաժիններ այս դևերի մեծ մասի վերաբերյալ: Մի մոռացեք դիտել README ֆայլերը:

Դա Ընդլայնված կազմաձևման և էներգիայի ինտերֆեյսի (ACPI) ծառայությունն է: ACPI-ն բաց արդյունաբերական ստանդարտ է, որը սահմանում է համակարգի կառավարման գործողությունները, հիմնականում՝ plug-and-play սարքի սահմանումը և էներգիայի կառավարումը, ներառյալ գործողությունները, երբ համակարգը սկսում է, կանգ է առնում և երբ այն անցնում է ցածր էներգիայի ռեժիմի:

Դուք, հավանաբար, չպետք է անջատեք այս ծառայությունը, եթե դա չեք անում վրիպազերծման նպատակներով կամ ապարատային խնդիրները լուծելու համար:

Լրացուցիչ տեղեկություններ՝ http://www.acpi.info

Եթե ​​դուք օգտագործում եք նոութբուք, ինչպես շատերն են անում մեր օրերում, ապա խնդիրներից մեկն այն է, որ երբ դուք խնդրում եք cron daemon-ին ինչ-որ բան անել, դուք միշտ չէ, որ վստահ եք, որ ձեր համակարգիչը կմիանա այն պահին, երբ կատարումը կատարվի: ծրագրված առաջադրանքներ. Անակրոնը (այս անունը գալիս է «անախրոնիստական ​​քրոնից», ինչը նշանակում է «հնացած քրոն» բառից) լուծում է այս խնդիրը՝ ստուգելով՝ արդյոք աշխատանքները կատարվել են որոշակի ժամանակահատվածում: Օրինակ, anacron-ը կսկսի առաջադրանքը, եթե այն չի սկսվել որոշակի քանակությամբ օրերի ընթացքում:

Ե՞րբ կարող եք դադարեցնել անակրոնի օգտագործումը: Եթե ​​ձեր համակարգը անընդհատ աշխատում է:
Կարո՞ղ եք պարզապես հրաժարվել cron-ից, եթե դուք ունեք anacron վազում: Ոչ; anacron-ի համար առաջադրանքների վերագործարկման ժամկետը կարող է նշվել միայն օրերով, ոչ թե րոպեներով և վայրկյաններով:

Լրացուցիչ տեղեկություն:

Դա BIOS-ի վարորդի միջոցով առաջադեմ էներգիայի կառավարման (APM) դեյմոնն է: APM ստանդարտը և apmd daemon-ն այժմ փոխարինվել են ACPI-ով և acpid-ով: Եթե ​​ձեր սարքավորումն աջակցում է ACPI-ին, ապա ձեզ հարկավոր չէ գործարկել apmd-ը:

Սա որոշակի ժամանակում աշխատանք սկսելու դեյմոն է: Եթե ​​դուք չեք օգտագործում այն, միանգամայն հնարավոր է անջատել այն:

Այս դեյմոնը ավտոմատ կերպով տեղադրում է սկավառակներ և ֆայլային համակարգեր, որոնք սահմանված են կազմաձևման ֆայլում: Այս դեյմոնի օգտագործումն ավելի հարմար է դարձնում շարժական սկավառակների հետ աշխատելը:

Լրացուցիչ տեղեկություններ՝ http://freshmeat.net/projects/autofs

Linux աուդիտի համակարգը բաղկացած է միջուկի մակարդակի համակարգի զանգերի գրանցողներից և օգտագործողի տարածքի գրանցամատյանների հավաքագրման և դիտման գործիքներից: Աուդիտի ենթարկված դեյմոնը գրում է գրանցված հաղորդագրությունները սկավառակի վրա: Auditd-ը կարգավորելի է, որը թույլ է տալիս վերահսկել և կառավարել, թե ինչ տեղեկատվությունը պահվում է սկավառակի վրա:

Արդյո՞ք աուդիտը պետք է շարունակվի: Մատյանների տեղեկամատյաններից ստացված տեղեկատվությունը կարող է շատ օգտակար լինել համակարգի անվտանգության հետ կապված ամեն ինչ կարգավորելու համար: Օրինակ, աուդիտը օգտագործվում է SELinux իրադարձությունների գրանցման մեջ: Կան նաև կոմունալ ծառայություններ, ինչպիսիք են aureport-ը, որոնք թույլ են տալիս դիտել աուդիտի տեղեկամատյանները: Ահա aureport կոմունալ ծառայության կողմից ստեղծված հաշվետվության օրինակ.

Ամփոփ հաշվետվություն
======================

Ժամանակի միջակայքը տեղեկամատյաններում՝ 11/28/2006 06: 07: 04,800 - 02/06/2007 21: 10: 09,957 Հաշվետվության համար ընտրված ժամանակ՝ 12/31/1969 19:00:00 - 02/06/22 10: 09.957 Կազմաձևի փոփոխությունների քանակը. 285 Հաշիվների, խմբերի կամ դերերի փոփոխությունների քանակը. 32 Մուտքագրումների քանակը. Գործարկվող սարքերի քանակը՝ 27 Ֆայլերի քանակը՝ 91 ՀՎՀ հերքումների քանակը՝ 688 MAC իրադարձությունների քանակը՝ 12 ձախողված համակարգային զանգերի քանակը՝ 404 Անոմալիա իրադարձությունների քանակը. 0 Անոմալիա իրադարձություններին պատասխանների քանակը. ID-ներ՝ 14022 Իրադարձությունների քանակը՝ 70694 Avahi-daemon և avahi-dnsconfd

Avahi կայքը սահմանում է. «Avahi-ն համակարգ է, որը հնարավորություն է տալիս ծառայություններ հայտնաբերել տեղական ցանցում: Սա նշանակում է, որ երբ ձեր համակարգիչը միացված է տեղական ցանցին, դուք կարող եք անմիջապես հայտնաբերել հասանելի տպիչներ, տեսնել, թե ինչ բաժնետոմսեր կան ցանցում: , պարզեք, թե ցանցի մյուս օգտվողների հետ կարող եք զրուցել չաթի միջոցով և այլն։ Avahi-ն Zeroconf արձանագրության իրականացումն է: Իսկ Zeroconf-ը մոտեցում է, որը թույլ է տալիս օգտվողներին ստեղծել IP ցանցեր՝ առանց հատուկ կազմաձևման ծառայությունների, ինչպիսիք են DNS սերվերները:
Ամենից հաճախ avahi-daemon-ն օգտագործվում է Rhythmbox-ի հետ համատեղ, այնպես որ կարող եք տեսնել երաժշտական ​​ֆայլեր, որոնք համօգտագործվում են ուրիշների հետ: Եթե ​​դուք չեք կիսում երաժշտությունը կամ ֆայլերը ձեր համակարգչից, կարող եք անջատել այս դեյմոնը:

Լրացուցիչ տեղեկություններ՝ http://avahi.org, http://zeroconf.org

Bluetooth-ը և թաքնված և պանդեմոնները

Անուններն իրենք են բացատրում ամեն ինչ։ Սկսեք այս ծառայությունները, եթե ցանկանում եք օգտագործել Bluetooth սարքեր: Իրականում գործող դեյմոնի անունը hcid է (Host Controller Interface Daemon):

Դեյմոնի թաքնված անունը գալիս է «Bluetooth Human Interface Device Daemon»-ից: Այն ապահովում է Bluetooth ստեղնաշարի, մկնիկի և թրեքբոլի աջակցություն: Իսկ «pand deemon»-ը ձեր համակարգիչը Bluetooth-ի միջոցով միացված է պահում էթերնետ ցանցին:

Լրացուցիչ տեղեկություններ՝ http://www.bluetooth.com,

Այս դեյմոնն աջակցում է ISDN Application Programming Interface-ին: Այն պետք է գործարկվի, եթե միանում եք ISDN ապարատային բաղադրիչներին: Այս ծառայությունը սկսվում է կապիտալով:

Լրացուցիչ տեղեկություններ՝ http://www.capi.org/pages

Ոչ, դա կապ չունի անշարժ գույքի ներդրումային մեկ գիշերվա հեռարձակումների հետ։ Conman ծառայությունը (և conmand daemon) աջակցում է վահանակի կառավարմանը: Ապահովում է բազմաթիվ կոնսոլային սարքերի և օգտատիրոջ միաժամանակյա աշխատանքի աջակցություն, տեղական սերիական սարքերի և հեռավոր տերմինալային սերվերների աջակցություն (տելնետ արձանագրություն): Եթե ​​դուք կառավարում եք բազմաթիվ սերվերներ, ձեզ կարող է անհրաժեշտ լինել խաբեբա:

Լրացուցիչ տեղեկություններ՝ http://home.gna.org/conman/
cpuspeed

Այս դևը փոխում է աշխատանքի արագությունը կենտրոնական վերամշակման միավորէներգիայի սպառումը նվազեցնելու նպատակով։ Եթե ​​պրոցեսորը անգործուն է, դուք կարող եք նվազեցնել արագությունը, դրանով իսկ նվազեցնելով էներգիայի ծախսերը, իսկ արդյունավետությունը բարձրացնելու համար դուք պետք է մեծացնեք էներգիայի սպառումը: Եթե ​​դուք աշխատում եք նոութբուք, իմաստ ունի գործարկել cpuspeed-ը:

Լրացուցիչ տեղեկություններ. http://carlthompson.net/Software/CPUSpeed
գունդ

Այս դեյմոնն օգտագործվում է առաջադրանքները ավտոմատ սկսելու համար: Սա պահանջվում է բոլոր Linux և Unix համակարգերում: Մի դադարեցրեք կամ անջատեք այս ծառայությունը:

Լրացուցիչ տեղեկություններ. http://www.unixgeeks.org/security/newbie/unix/cron-1.html, http://www.linuxhelp.net/guides/cron/

CUPS և cups-config-daemon

Դա «Ընդհանուր UNIX տպագրական լուծում» դեմոնն է։ Ինչպես անունն է հուշում, դա տպագրական համակարգ է, որը մշակում է տարբեր ֆայլերի ձևաչափեր և տարբեր տեսակներտպիչներ. Եթե ​​ցանկանում եք տպել, թող այս դեյմոնը աշխատի ձեր համակարգում:

Լրացուցիչ տեղեկություններ. http://www.cups.org, http://www.easysw.com/cups/index.php

Այս դեյմոնի անունը «DHcp Client D-Bus Daemon»-ի հապավումն է: Free DeskTop վիքին այն սահմանում է հետևյալ կերպ.

D-Bus-ը հաղորդագրությունների ավտոբուսային համակարգ է, որը հավելվածների համար միմյանց հետ հաղորդակցվելու (կամ փոխազդելու) պարզ միջոց է: Բացի միջգործընթացային հաղորդակցությունից, D-Bus-ը օգնում է համակարգել գործընթացի կյանքի ցիկլը. այն ապահովում է հավելվածի կամ դեյմոնի «առանձին օրինակ» գործարկելու հնարավորության կոդի պարզ և հուսալի իրականացում, որը թույլ է տալիս գործարկել հավելվածներ և դևոններ ըստ պահանջի, երբ անհրաժեշտություն է առաջանում համապատասխան ծառայությունների համար:

Ձեզ անհրաժեշտ է գործարկել այս դեյմոնը: Եթե ​​ձեր համակարգն աշխատում է ցանցում (ինչպես կարող է այլ կերպ լինել), հատկապես, եթե դուք շարժվում եք ցանցերի միջև (օրինակ՝ լարային ցանցից անլար ցանցի անցում), ապա դուք պետք է գործարկեք NetworkManager-ը (ներքևում մենք կանդրադառնանք NetworkManager-ին): .

dhcdbd daemon-ը ապահովում է D-Bus ինտերֆեյս dhclient-ի համար՝ DHCP հաճախորդ ISC-ից: Սա թույլ է տալիս NetworkManager-ին մուտք գործել և վերահսկել dhclient-ը:

Լրացուցիչ տեղեկություններ՝ http://www.freedesktop.org/wiki/Software/dbus

Այս դեյմոնը ձեզ հնարավորություն է տալիս օգտագործել մկնիկը տեքստի վրա հիմնված ծրագրերում, ինչպիսիք են ֆայլերի կառավարիչԿեսգիշերային հրամանատար. Սա կարող է օգտակար լինել, եթե դուք հաճախ եք օգտագործում վահանակը. հակառակ դեպքում, այսինքն, եթե դուք անընդհատ օգտվում եք X Window System-ից, հնարավոր է, որ երբեք gpmd-ի կարիք չունենաք:

Ոչ, սա 2001 թվականի «Տիեզերական ոդիսական» ֆիլմի չար համակարգիչը չէ: Այս համատեքստում HAL-ը նշանակում է Hardware Abstraction Layer: HAL դեյմոնը հավաքում է (օգտագործելով միջուկը և իրենք՝ սարքերը) տեղեկատվություն ապարատային սարքերի մասին և այն ներկայացնում է հավելվածներին հետևողական ձևով:

Մի անջատեք այս ծառայությունը: Շատ հավելվածներ օգտագործում են այն:

Լրացուցիչ տեղեկություններ. «Desktop and hardware configuration», by David Zeuthen

Այս դեյմոնը ապահովում է HP Linux Imaging and Printing (HPLIP) համակարգին, որն օգտագործվում է inkjet-ով տպագրելու, սկանավորելու և ֆաքսով ուղարկելու համար: լազերային սարքեր HP-ից: HPLIP-ը համագործակցում է CUPS-ի հետ՝ վերջինիս ապահովելով HP-ի սարքերի հասանելիություն:

Լրացուցիչ տեղեկություն:

Դա Java-ի հարաբերական տվյալների շտեմարան է: Այն ժառանգել է իր անունը Hypersonic SQL նախագծից, որն այլևս չի աջակցվում: hsqldb-ն լայնորեն օգտագործվում է բաց կոդով նախագծերում, ինչպիսին է OpenOffice.org-ը, ինչպես նաև ցուցադրություններում, քանի որ այն կարող է ամբողջությամբ աշխատել RAM-ում: Ինչի շնորհիվ այն արագ է աշխատում։ Ձեզ անհրաժեշտ է գործարկել այս ծառայությունը: Միայն այն դեպքում, եթե դուք գործարկում եք որոշ ծրագրեր, որոնք օգտագործում են այն: Բայց իրականում դա շատ է օգտակար գործիքիսկ եթե ծանոթ չեք դրան, արժե նայել։

Լրացուցիչ տեղեկություններ՝ http://hsqldb.org, http://dba.openoffice.org

Apache վեբ սերվեր: Օգտագործվում է բոլոր կայքերի գրեթե 60%-ի կողմից: Եթե ​​ցանկանում եք պահպանել վեբ կայք, ապա գործարկում եք Apache-ն: Ուրիշ բան պե՞տք է ասեմ:

Լրացուցիչ տեղեկություններ՝ http://httpd.apache.org

ip6tables և iptables

Սրանք firewalls կամ firewalls են: Ըստ Վիքիպեդիայի՝ «Firewall կամ firewall (ժարգոն. Firewall կամ firewall անգլերենից. Firewall) ապարատային և/կամ ծրագրային գործիքների մի շարք է, որը վերահսկում և զտում է դրա միջով անցնող ցանցային փաթեթները OSI մոդելի տարբեր մակարդակներում՝ համաձայն: սահմանված կանոններ, firewall-ը պաշտպանություն է համակարգչային ցանցերկամ առանձին հանգույցներ չարտոնված մուտքից»:

Iptables-ն աշխատում է՝ սահմանելով IPv4 փաթեթների զտման կանոններ միջուկի աղյուսակի տեսքով: Մուտքային և ելքային փաթեթները ստուգվում են այս կանոններին համապատասխան, և նրանք, որոնք չեն համապատասխանում կանոններին, արգելափակվում են: Ip6tables-ը նույնն է անում IPv6 փաթեթների համար:

Երկու ծառայություններից ո՞րն եք ցանկանում գործարկել: Երկուսն էլ։ Միշտ է. Ցանցը վտանգավոր է:

Լրացուցիչ տեղեկություններ՝ http://www.netfilter.org, http://www.ipv6.org

IrDA-ն (Ինֆրակարմիր տվյալների ասոցիացիան) արդյունաբերական ստանդարտ է սարքերի միջև ինֆրակարմիր անլար կապի համար: Նոթբուքերի մեծ մասը հագեցած է IrDA-ին համապատասխանող ինֆրակարմիր հաղորդիչով: Դուք պետք է գործարկեք այս ծառայությունը միայն այն դեպքում, եթե պատրաստվում եք կապը կազմակերպել այլ սարքերի հետ ինֆրակարմիր միջոցով:

Լրացուցիչ տեղեկություն:

irqbalance

Այս դեյմոնը պատասխանատու է պրոցեսորների սիմետրիկ պրոցեսորների (SMP) բազմապրոցեսորային ճարտարապետություններում ապարատային ընդհատումների բաշխման համար՝ արդյունավետությունը բարելավելու համար:

Այս դեյմոնը միապրոցեսորային համակարգերի վրա գործարկելու կարիք չկա, այն ազդում է միայն բազմապրոցեսորային համակարգերի վրա:

Լրացուցիչ տեղեկություններ՝ http://www.irqbalance.org

Սա շատ օգտակար դեյմոն է: Այն աշխատում է բեռնման ժամանակ և ստուգում է, թե որ ապարատային սարքերն են ավելացվել կամ հեռացվել համակարգից: Խելամիտ է գործարկել kudzu-ն բեռնման ժամանակ, նույնիսկ եթե դուք չեք պլանավորում հաճախակի սարքեր ավելացնել կամ հեռացնել: Քանի որ վաղ թե ուշ դուք հավասարապես կհայտնվեք մի իրավիճակում, երբ դուք սարք եք ավելացնում և ակնկալում եք, որ համակարգը կհայտնաբերի այն: Բացի այդ, քանի որ kudzu-ն աշխատում է բեռնման ժամանակ, դա բացասաբար չի ազդում համակարգի աշխատանքի վրա:

Լրացուցիչ տեղեկություններ. http://fedora.redhat.com/projects/additional-projects/kudzu

Այս դեյմոնն իր անունը ստացել է Lan Information Server-ից: Lisa-ն ապահովում է MS-Windows-ում ցանցային հարևանության ծառայության կողմից տրված գործառույթի նման գործառույթ, այսինքն՝ այն ապահովում է մուտք դեպի ձեր տեղական ցանցի սերվերներ, ներառյալ CIFS (Ընդհանուր ինտերնետ ֆայլային համակարգեր) սերվերներ: lisa-ն աշխատում է TCP/IP-ով, ուղարկելով ICMP հարցումներ IP հասցեներին կոնֆիգուրացիայի ֆայլում ձեր նշած տիրույթում և սպասելով համակարգիչների պատասխանին:

Լրացուցիչ տեղեկություններ՝ http://docs.kde.org/stable/en/kdenetwork/lisa, http://docs.kde.org/userguide/networking-with-windows.html,

lm_sensors

Այս դեյմոնը վերահսկում է ջերմաստիճանը և լարումը մայր տախտակի վրա: Մոնիտորինգի համակարգի աշխատանքի համար անհրաժեշտ է սարքավորման մեջ ունենալ համապատասխան սենսորներ։ Այս դեյմոնը սկսելը իմաստ ունի միայն այն դեպքում, եթե ապահովված է ապարատային աջակցություն: Դուք, հավանաբար, չպետք է գործարկեք այն սովորական աշխատանքային կայաններում: Ավելի շուտ, այն անհրաժեշտ է բարձրակարգ սերվերների վրա, որոնք կատարում են կարևորագույն գործառույթներ:

Լրացուցիչ տեղեկություններ. http://www.lm-sensors.org, http://freshmeat.net/projects/lm_sensors

mcstrans

SELinux համատեքստային թարգմանության համակարգ Daemon: Այս դեյմոնը փոխակերպում է անվտանգության համատեքստի տեղեկատվությունը մարդու համար ընթեռնելի ձևի: Դուք կարող եք դադարեցնել այս դեյմոնը, բայց եթե դա անեք, կտեսնեք SELinux տեղեկատվությունը, որը ցուցադրվում է ls -Z հրամանի փոփոխությամբ: Օրինակ, երբ դեյմոնն աշխատում է, կտեսնեք.

Ls -Z -rw-r - r-- jsmith jsmith user_u:object_r: user_home_t bookmarks.html drwxr-xr-x jsmith jsmith user_u:object_r: user_home_t Desktop -r-xr-xr-x jsmith_hollome -object: - r - r-- jsmith jsmith user_u: object_r: user_home_t hello.c

Եվ եթե դեյմոնը դադարեցվի, կտեսնեք հետևյալը.

Ls -Z -rw-r - r-- jsmith jsmith user_u: object_r: user_home_t: s0 bookmarks.html drwxr-xr-x jsmith jsmith user_u:object_r: user_home_t: s0 Desktop -r-xr-xrmith:js object_r: user_home_t: s0 բարև -r - r - r-- jsmith jsmith user_u: object_r: user_home_t: s0 hello.c

Նկատի ունեցեք, որ եթե դեյմոնը դադարեցվի, կցուցադրվի անվտանգության համատեքստի արժեքը «s0»: Mctrans-ը զրոյացրել է համատեքստն այս դեպքում: Անվտանգության այլ համատեքստի արժեքները այբբենական արժեքներից փոխակերպվում են իրենց անուններին:

Լրացուցիչ տեղեկություններ. http://fedoraproject.org/wiki/SELinux/Understanding, http://danwalsh.livejournal.com

mdmonitor և mdmpd

Այս երկու դևերը օգտագործվում են էժան / անկախ սկավառակների (RAID) պահեստավորման համակարգերի ավելորդ զանգվածում: Mdmonitor-ը գործարկում, դադարեցնում և վերագործարկում է mdadm-ը (բազմուղիներով սարքերի մոնիտորինգ և կառավարում), ծրագրային RAID մոնիտորինգի և կառավարման ծառայություն: Դուք միայն պետք է գործարկեք այս ծառայությունը, եթե ձեր համակարգն ունի RAID սարքեր:

Լրացուցիչ տեղեկություններ՝ http://www.linuxdevcenter.com/pub/a/linux/...12/05/RAID.html

հաղորդագրությունների ավտոբուս

Դա D-BUS համակարգի հաղորդագրությունների ավտոբուսի դեյմոնն է: Այն հեռարձակում է համակարգի իրադարձությունները և իրադարձությունները, ինչպիսիք են տպագրության հերթի փոփոխությունները կամ սարքերի ավելացումը կամ հեռացումը (նկատի ունեցեք, որ սա նույնը չէ, ինչ kudzu-ն, քանի որ նման իրադարձությունները կարող են տեղի ունենալ ցանկացած պահի համակարգի աշխատանքի ընթացքում, ոչ միայն բեռնման փուլում: ):

Լրացուցիչ տեղեկություններ՝ http://www.freedesktop.org/software/dbus

netplugd և ifplugd

Այս դևերը կարգավորում են Ethernet սարքերը, երբ ցանցային մալուխը միացված է, և անջատում են այդ սարքերը, երբ մալուխն անջատված է: Ե՞րբ է դա ձեզ անհրաժեշտ: Օրինակ՝ դյուրակիր համակարգիչների վրա, որպեսզի ձեր ցանցային միացումներվերականգնվել է միայն ցանցային մալուխի միացման ժամանակ:

Նկատի ունեցեք, որ netplugd-ի աջակցությունը դադարեցվել է և այժմ այն ​​փոխարինվել է ifplugd-ով:

Լրացուցիչ տեղեկություններ՝ http://0pointer.de/lennart/projects/ifplugd

NetworkManager և NetworkManagerDispatcher

NetworkManager deemon-ը ավտոմատացնում է ցանցային կապերի միջև անցումը: Այս դեյմոնը օգտակար է նոութբուք օգտագործողների համար, ովքեր անցնում են WiFi անլար կապերի և Ethernet միացումների միջև: NetworkManagerDispatcher-ի դաեմոնը ավտոմատ կերպով գործարկում է սկրիպտներ՝ անհրաժեշտ գործողություններ կատարելու համար (օրինակ՝ փաթեթների համար հատուկ երթուղային ուղղություններ սահմանելու համար), երբ NetworkManager-ը փոխում է ցանցի վիճակը:

Լրացուցիչ տեղեկություններ. http://www.gnome.org/projects/NetworkManager

Դա դևոն է, որը գործում է որպես Դոմեն Անվան Սերվեր: Դուք պետք է գործարկեք այն միայն այն դեպքում, եթե ձեր համակարգիչը ձեր ցանցի DNS սերվերն է:

Լրացուցիչ տեղեկություններ՝ http://www.dns.net/dnsrd

nfsd daemon-ն ապահովում է nfs ցանցային հաղորդակցման արձանագրության աջակցություն, որն օգտագործվում է մուտք ապահովելու համար ցանցային ռեսուրսներ TCP / IP ցանցերում: Դուք պետք է գործարկեք այն, եթե nfs արձանագրության միջոցով այլ օգտվողների մուտք եք տալիս ձեր ֆայլային համակարգերին:

Լրացուցիչ տեղեկություն:

Սա անվանական ծառայության քեշավորման դեյմոնն է: Այն պահպանում է խմբերի և գաղտնաբառերի աղյուսակ՝ գործարկվող ծրագրերի համար, և այնուհետև թողարկում է հիշվող արդյունք հաջորդ հարցումով ծառայությունների համար, որոնք այլապես չափազանց դանդաղ են, օրինակ՝ NIS կամ LDAP: Եթե ​​այս ծառայություններն աշխատում են, դուք նույնպես պետք է գործարկեք nscd-ը:

Դա դևոն է, որն աջակցում է Ցանցային ժամանակի արձանագրությանը: Այն սահմանում է համակարգի ժամանակը և այն համաժամացնում է ինտերնետ սերվերների կողմից սահմանված ժամանակի հետ, որոնք պահպանում են հղման ժամանակը: Եթե ​​ձեր համակարգը միացված է ինտերնետին (այդպես չէ՞), ապա այս դեյմոնը կվերահսկի ձեր համակարգչի վրա համակարգի ժամանակի ճիշտ կարգավորումը:

Լրացուցիչ տեղեկություններ՝ http://www.ntp.org

oddjobd daemon-ը գործարկում է com.redhat.oddjob ծառայությունը համակարգի ավտոբուսում: oddjobd-ի ընձեռած յուրաքանչյուր հնարավորություն տրամադրվում է որպես առանձին մեթոդ D-Bus. Oddjobd-ը աջակցություն է տրամադրում ոչ արտոնյալ հավելվածների համար արտոնյալ գործողություններ կատարելու համար:

Դուք պետք է գործարկեք այս դեյմոնը միայն այն դեպքում, եթե օգտագործում եք այն պահանջող ծրագրերը, ինչպիսին է Conga-ն:

Լրացուցիչ տեղեկություններ. http://people.redhat.com/nalin/oddjob/oddjob.html,

Այս դևոնն աջակցում է վիրտուալ մասնավոր ցանցերին (VPN): Այս դեյմոնի ստարտափ սցենարն ասում է հետևյալը.

OpenVPN-ն ամուր և բարձր ճկուն թունելային ծրագիր է, որն օգտագործում է OpenSSL գրադարանի գաղտնագրման, իսկորոշման և հավաստագրման հնարավորությունները՝ IP ցանցը մեկ UDP պորտով ապահով թունելի համար:

Եթե ​​ձեր համակարգը VPN հոսթ է, ապա հավանաբար պետք է գործարկեք OpenVPN.

Լրացուցիչ տեղեկություններ. http://openvpn.net

pcscd-ը (PC / SC Smart Card Daemon)-ը pcsc-lite-ի (խելացի քարտի մուտքի ծրագրակազմ) և (java-ի վրա հիմնված) MuscleCard-ի մշակման միջավայրի համար նախատեսված ծրագիր է: Այն ապահովում է հաղորդակցություն խելացի քարտ ընթերցողների և իրենք՝ խելացի քարտերի հետ:

(Սմարթ քարտը փոքր քարտ է, որն ունի կամ հիշողության մոդուլ կամ միկրոպրոցեսոր՝ իր մեջ ներկառուցված հիշողության մոդուլով: Muscle-ը նշանակում է Movement for the Use Smart Cards Linux Environment-ում:

Լրացուցիչ տեղեկություններ. http://www.smartcardalliance.org, http://pcsclite.alioth.debian.org, http://www.linuxnet.com/musclecard/index.html

Portmapper daemon-ը ղեկավարում է RPC (հեռավոր ընթացակարգի զանգ) կապերը: Այն փոխակերպում է RPC ծրագրի համարները TCP / IP (կամ UDP / IP) նավահանգիստների համարների: Portmapper-ն առավել հաճախ օգտագործվում է NFS-ի և NIS-ի կողմից:

Այսպիսով, եթե ձեր համակարգը կախված է NIS-ից կամ NFS-ից, մի անջատեք portmap daemon-ը:

Լրացուցիչ տեղեկություններ. http://www.linux-nis.org/nis-howto/HOWTO/portmapper.html

Փոստի փոխանցման (տրանսպորտի) գործակալ է։ Եթե ​​ձեր համակարգը էլփոստի ռելե չէ, ապա ձեզ հարկավոր չէ սկսել այս ծառայությունը:

Լրացուցիչ տեղեկություններ՝ http://www.postfix.org

Այս դեյմոնը (երթուղիչի հայտնաբերման դաեմոն) երթուղիներ է գտնում տեղական ենթացանցում: Այն գործարկվում է բեռնման ժամանակ՝ երթուղային աղյուսակներին լռելյայն երթուղիներ ավելացնելու համար:

Լրացուցիչ տեղեկություններ՝ http://www.informit.com/articles/article.asp?p=23951&rl=1

վերականգնում

Սա SELinux-ի դեմոն է: Restorecond-ը վերահսկում է ֆայլերի ստեղծումը (/etc/selinux/restorecond.conf-ում թվարկված ֆայլերի համար) և ապահովում, որ ֆայլերը ունեն նշված քաղաքականությանը համապատասխանող ճիշտ ֆայլի համատեքստը, ինչպես նաև որոշում է լռելյայն SELinux ֆայլի համատեքստը:

Մի անջատեք այս ծառայությունը: Այն պահանջվում է SELinux-ի համար:

Լրացուցիչ տեղեկություններ. http://fedoraproject.org/wiki/SELinux/Understanding, http://danwalsh.livejournal.com/

Այս դեյմոնը պարբերաբար ստուգում է, թե ինչ գործողություններ պետք է կատարվեն ցանցային ինտերֆեյս Red Hat (Red Hat Network վեբ ինտերֆեյս) և գործարկում է դրանք: Այս գործողությունները ներառում են ծրագրերի տեղադրում, հեռացում կամ թարմացում, համակարգի վերագործարկում, կազմաձևման ֆայլերի տեղադրում և այլն:

Լրացուցիչ տեղեկություններ: https://www.redhat.com/rhn/

rpcgssd, rpcidmapd և rpcsvcgssd

Rpcgssd և rpcsvcgssd դևերը նախատեսված են RPC-ի անվտանգության համար: Rpcidmapd-ը օգտվողի անունները փոխակերպում է UID և GID համարների:

Եթե ​​դուք օգտագործում եք NFS կամ NIS, դուք պետք է գործարկեք այս դևերը:

Լրացուցիչ տեղեկություն:

readahead_early և readahead_later

Readahead-ը ապահովում է, որ գործարկման ծրագրերը բեռնվում են հիշողության մեջ նախքան դրանք օգտագործելը, ինչը նվազեցնում է բեռնման ժամանակը:

սասլաութդ

Սա SASL նույնականացման սերվերի դեմոնն է: SASL-ը (Simple Authentication and Security Layer) վավերացման հնարավորություններ է ավելացնում արձանագրություններին, որոնք հիմնված են հեռավոր կապերի վրա:

Լրացուցիչ տեղեկություններ. http://asg.web.cmu.edu/sasl

ուղարկել փոստ

Այն SMTP (Simple Mail Transfer Protocol) սերվեր է: Sendmail-ը փոստը փոխանցում է մի համակարգից մյուսը, այսինքն՝ այն փոստի փոխադրման գործակալ է: Եթե ​​դուք օգտագործում եք փոստարկղեր, ինչպիսիք են Thunderbird-ը կամ Evolution-ը, ձեզ կարիք չկա գործարկել sendmail-ը:

Լրացուցիչ տեղեկություններ՝ http://www.sendmail.org

setroubleshoot

Սա SELinux-ի խնդիրների լուծիչ դեյմոնն է: Setroubleshooter-ը SELinux-ի վերջին մեծ նորամուծություններից մեկն է: Setroubleshooter-ը իրական ժամանակի հետադարձ կապ է տրամադրում օգտատերերին SELInux AVC (Access Vector Cache) ձախողումների վերաբերյալ: Ավելին, այս արձագանքը տրամադրվում է հարմար ձևաչափով։

Լրացուցիչ տեղեկություններ՝ https://hosted.fedoraproject.org/projects/setroubleshoot

Այս դեյմոնը վերահսկում է SMART (Self-Monitoring, Analysis and Reporting Technology) սենսորների ընթերցումները, որոնք տեղադրված են բազմաթիվ տեսակի կրիչներում, օրինակ՝ կոշտ սկավառակներում, ինչպիսին է SCSI-3-ը: Դեյմոնը վերահսկում է նման սարքերի բնականոն աշխատանքը և կատարում ինքնափորձարկում։ Եթե ​​ձեր սարքավորումն աջակցում է SMART տեխնոլոգիային, դուք պետք է գործարկեք այս ծառայությունը:

Լրացուցիչ տեղեկություն:

spamassassin

Այս դևոնն օգտագործում է Apache SpamAssassin ծրագիրը՝ փոստը սպամի համար ստուգելու համար: Այն սովորաբար աշխատում է փոստի առաքման գործակալի (MDA) սերվերի հետ համատեղ: Եթե ​​դուք օգտագործում եք հաճախորդի ծրագրեր, ինչպիսիք են Thunderbird-ը կամ Evolution-ը ձեր փոստին մուտք գործելու համար, ապա ձեզ հարկավոր չէ գործարկել spamassassin:

Լրացուցիչ տեղեկություններ՝ http://spamassassin.apache.org

Դա դեյմոն է բաց ssh արձանագրության համար: Ssh-ը փոխարինում է անապահով rsh և rlogin ծրագրերը և ապահովում է գաղտնագրված կապեր անապահով ցանցերում հոսթերների միջև: Եթե ​​դուք օգտագործում եք կապեր այլ համակարգերի հետ բաց ինտերնետի միջոցով, դուք պետք է օգտագործեք ssh և գործարկեք այս դեյմոնը:

Լրացուցիչ տեղեկություններ՝ http://www.ssh.com, http://www.openssh.com

syslog-ը Linux գրանցման ստանդարտ համակարգ է: Մի անջատեք այն:

Լրացուցիչ տեղեկություններ՝ http://www.syslog.org

Այս դեյմոնը Samba փաթեթի մի մասն է: Այն թույլ է տալիս Windows տիրույթի օգտվողներին որպես Unix օգտվողներ միանալ Unix սերվերներին: Այս դեյմոնը պետք է գործարկվի, երբ գործ ունեք Windows-ի և Linux/Unix համակարգիչների խառը ցանցի հետ:

Լրացուցիչ տեղեկություններ. http://www.samba.org/samba/docs/man/Samba-...on/winbind.html, http://www.samba.org

Սա տառատեսակի սերվեր է: Այս դեյմոնը բեռնում է տառատեսակները հիշողության մեջ, որպեսզի գրաֆիկական հավելվածներն ավելի արագ աշխատեն, քան երբ նրանք պետք է բեռնեն տառատեսակները կոշտ սկավառակից: Այս ծառայությունը պետք է գործարկվի՝ ձեր համակարգում հավելվածների աշխատանքը բարելավելու համար:

Լրացուցիչ տեղեկություններ. http://linuxreviews.org/howtos/xfree/xfs

Այս ծառայությունը կապում է NIS հաճախորդին NIS տիրույթին: Նրա անվան «yp» տառերը առաջացել են «դեղին էջերից», քանի որ NIS տեղեկատուները նման են դեղին էջերի հեռախոսային գրացուցակներին: Դուք միայն պետք է գործարկեք այս ծառայությունը, եթե ձեր համակարգը օգտագործում է NIS (Ցանցային տեղեկատվական ծառայություն)՝ օգտվողների բյուջեներին և համակարգի անուններին հասանելիություն ապահովելու համար:

Լրացուցիչ տեղեկություններ՝ http://www.linux-nis.org

yum-թարմացված

yum-updatesd-ը վերահսկում է ծրագրային ապահովման թարմացումների առկայությունը և այդ թարմացումների մասին ծանուցումներ է ուղարկում էլ.փոստով, d-bus կամ համակարգային հաղորդագրություններով, ինչպես նաև կարող է արտադրել ավտոմատ թարմացումՎՐԱ. D-bus հաղորդագրությունները ստացվում են «puplet» կոմունալ ծառայության կողմից (փաթեթների թարմացում), որը տեղեկացնում է օգտագործողին, որ թարմացումը հասանելի է, ինչպես նաև թույլ է տալիս օգտվողին տեղադրել թարմացումը:

Լրացուցիչ տեղեկություններ՝ http://linux.duke.edu/projects/yum, http://www.redhat.com/magazine/024oct06/features/fc62

Շնորհիվ ԶՈՈԼ http://www.centrlan.ru/node/17929 կայքում ներկայացված տեղեկատվության համար

Աղբյուրը նշված չէ

Linux-ի սկսնակ օգտատերերից յուրաքանչյուրը վաղ թե ուշ բախվում է որոշակի խնդիրների իր համակարգի ստեղծման և աշխատանքի կազմակերպման հարցում: Եվ նորեկներից յուրաքանչյուրը գրեթե անկասկած ավելի փորձառու օգտատերերից լսել է խորհուրդը՝ «Նայեք գերաններին»: Այս խորհուրդը լավ է, բայց սկսնակը դեռ պետք է իմանա՝ ինչ են տեղեկամատյանները և որտեղ գտնել դրանք: Այսպիսով, ես կփորձեմ այս հոդվածում պատմել, թե ինչ և որտեղ նայել:

Ծրագրավորման ժարգոնում «տեղեկամատյանները» աշխատանքային արձանագրություններ են, որոնք պահպանվում են ինչպես օպերացիոն համակարգի կողմից, այնպես էլ շատ ծրագրերի կողմից ինքնուրույն: Այս իմաստով «մատյան» բառը հաճախ օգտագործվում է որպես «արձանագրություն» բառի հոմանիշ: Գոյություն ունեն երկու հիմնական իրավիճակ, երբ անհրաժեշտ է դառնում վերլուծել արձանագրությունը. երբ համակարգում ինչ-որ բան չի աշխատում այնպես, ինչպես մենք ակնկալում էինք (խնդիրի լուծում), և երբ կա կասկած, որ համակարգը կոտրվել է ինչ-որ ներխուժողի կողմից, և դա անհրաժեշտ է. պարզել, թե կոնկրետ ինչ է տեղի ունեցել, ինչպես է դա արվել, և ինչ է պետք անել ներխուժման հետևանքների դեմ պայքարելու համար:

Հարձակվողի ներխուժումը հայտնաբերելու համար log ֆայլերի օգտագործման ամենահայտնի դեպքերից մեկը համակարգչային անվտանգության մասնագետ Ցուոմո Շիմոմուրայի կողմից հայտնի հաքեր Քևին Միթնիկին բռնելու պատմությունն է: Ահա մի պարբերություն հոդվածից, որը նկարագրում է, թե ինչպես է դա տեղի ունեցել:

«Սուրբ Ծննդյան օրը, երբ Շիմոմուրան արձակուրդի գնաց Նևադա դահուկներով սահելու, ինչ-որ մեկը (մենք արդեն գիտենք, թե ով) ներխուժեց նրա գերապահով տնային համակարգիչը Կալիֆորնիայի Սոլանա Բիչում և սկսեց պատճենել նրա ֆայլերը՝ հարյուրավոր գաղտնի ֆայլեր Սան Դիեգոյից։ Սուպերհամակարգչային կենտրոնը, որտեղ աշխատում էր Շիմոմուրան, նկատեց փոփոխություններ համակարգի «log» (log) ֆայլերում և արագ հասկացավ, թե ինչ է կատարվում: Սան Դիեգոյի պահեստային համակարգչին: Ուսանողը զանգահարեց Շիմոմուրային և նա շտապեց տուն՝ գողացվածը գույքագրելու համար: ապրանք. "

Այստեղ ամբողջ պատմությունը չեմ պատմի, մեզ համար կարևոր է միայն նշել, որ ապօրինի գործողությունների հետաքննության հաջողության համար հիմք է ծառայել համակարգի գործառնական արձանագրությունների վերլուծությունը։ Ավելի մանրամասն նկարագրությունը, թե ինչպես են իրականացվում նման հետազոտությունները, կարելի է գտնել հոդվածում: Բայց որպեսզի կարողանաք օգտագործել գրանցման արդյունքները, դուք պետք է հասկանաք, թե ինչպես են ստեղծվում արձանագրությունները, որտեղ են դրանք պահվում և ինչ կարելի է հանել դրանցից: Այս հոդվածը նվիրված է այս բոլոր հարցերի քննարկմանը:

Ինչպես են հաղորդագրությունները ստեղծվում արձանագրության համար

Պետք է սկսել նրանից, որ C լեզվով ծրագրեր ստեղծելիս ծրագրավորողները հնարավորություն ունեն անհրաժեշտության դեպքում տեղադրել հատուկ գործառույթների զանգ. openlog, setlogmask, syslogև փակագլուխներառված է ստանդարտ C գրադարանում: Այս գործառույթներն օգտագործվում են ծրագրի կատարման ընթացքում որոշակի իրադարձությունների մասին հաղորդագրություններ ուղարկելու համար հատուկ համակարգի դեյմոնին: syslogdղեկավարելով համակարգի արձանագրությունը: Գործառույթ openlogկապ է հաստատում դևի հետ syslogd, ֆունկցիա syslogառաջացնում է հատուկ հաղորդագրություն, որը պետք է գրանցվի արձանագրության մեջ և գործառույթը փակագլուխփակում է բաց հղումը:

Գործառույթի կողմից ստեղծված հաղորդագրություններ syslog, բաղկացած է մի քանի դաշտերից, որոնք բաժանված են բացատներով: Յուրաքանչյուր հաղորդագրություն սկսվում է դաշտից PRI, որը կոդավորում էր տեղեկատվություն հաստատության և հաղորդագրության խստության մակարդակի կամ առաջնահերթության մասին:

Կատեգորիան (հաստատությունը) տեղեկատվություն է այն մասին, թե տվյալ հաղորդագրությունը որ դասին է պատկանում։ Կատեգորիան կոդավորված է 0-ից 23 թվերով: Կան հետևյալ կատեգորիաները (դրանք սահմանված են ֆայլում. /usr/include/sys/syslog.h):

Աղյուսակ 1.

Թվային արժեքԽորհրդանիշՎերծանում
0 միջուկ Միջուկային հաղորդագրություններ
1 օգտագործող Նախատեսված է օգտատերերի ծրագրերից ստացվող տարբեր հաղորդագրությունների համար: (Հաղորդագրություններ օգտվողի ծրագրերից)
2 փոստ Փոստային համակարգից հաղորդագրություններ.
3 դեմոն Հաղորդագրություններ այդ համակարգի դևերից, որոնք, ի տարբերություն FTP-ի կամ LPR-ի, չունեն հատուկ կատեգորիաներ։
4 հեղինակություն Օգտագործողի թույլտվության հետ կապված ամեն ինչ, ինչպիսիք են մուտքը և su (անվտանգություն / մուտքի իրավունքներ)
5 syslog Գրանցման համակարգը կարող է հաղորդագրություններ գրանցել իրենից:
6 lpr Հաղորդագրություններ տպագրական համակարգից.
7 նորություններ Հաղորդագրություններ նորությունների սերվերից: (Netnews, USENET)
8 uucp Հաղորդագրություններ UNIX-ից UNIX պատճենահանման արձանագրություն: Սա UNIX-ի պատմության մի մասն է և, ամենայն հավանականությամբ, այն ձեզ երբեք պետք չի լինի (չնայած դեռ որոշ նամակներ առաքվում են UUCP-ի միջոցով):
9 քրոն Հաղորդագրություններ համակարգի ժամանակացույցից:
10 authpriv Նույնը, ինչ auth-ը, բայց այս կատեգորիայի հաղորդագրությունները գրվում են մի ֆայլում, որը կարող է կարդալ միայն մի քանի օգտվողներ (հնարավոր է, այս կատեգորիան ընդգծված է, քանի որ դրան պատկանող հաղորդագրությունները կարող են պարունակել օգտվողի բաց գաղտնաբառեր, որոնք չպետք է տեսնեն չարտոնված մարդիկ, և հետևաբար՝ log ֆայլերը պետք է ունենան համապատասխան թույլտվություններ):
11 ftp Օգտագործելով այս կատեգորիան, դուք կարող եք կարգավորել ձեր FTP սերվերը, որպեսզի գրանցի իր գործողությունները:
12-ից 15-ը - Վերապահված է համակարգի օգտագործման համար:
16-ից 23-ըտեղական 0 - տեղական7 Վերապահված կատեգորիաներ՝ համակարգի ադմինիստրատորի կողմից օգտագործելու համար: Local7 կատեգորիան սովորաբար օգտագործվում է համակարգի բեռնման փուլում առաջացած հաղորդագրությունների համար:

Կարգավիճակ հեղինակությունունի հնացած հոմանիշ անվտանգությունորը խորհուրդ չի տրվում օգտագործել։ Բացի այդ, կա հատուկ կատեգորիա նշագծել(չունենալով թվային համարժեք), որը վերագրվում է առանձին հաղորդագրություններին, որոնք ստեղծվել են հենց դեյմոնի կողմից syslogd... Այս կատեգորիան օգտագործվում է արձանագրության մեջ հատուկ նշաններ դնելու համար որոշակի ժամանակային ընդմիջումով (լռելյայն, յուրաքանչյուր 20 րոպեն մեկ), ինչը թույլ է տալիս, օրինակ, 20 րոպե ճշգրտությամբ իմանալ, թե երբ է ձեր համակարգիչը սառեցված:

Նկատի ունեցեք, որ կատեգորիան ընդհանրապես կապ չունի այն ծրագրի անվան հետ, որը հաղորդագրություններ է ուղարկում դեյմոնին: syslogd... Ինչպես ասում են՝ ցանկացած պատահականություն զուտ պատահականություն է։ Ավելին, որոշ ծրագրեր կարող են առաջացնել տարբեր կատեգորիաների հաղորդագրություններ: Օրինակ՝ դև telnetdգրանցման անհաջող փորձերի դեպքում առաջացնում է կատեգորիայի հաղորդագրություններ authpriv, իսկ այլ դեպքերում իր գրառումները դասակարգում է որպես դեմոն.

Երկրորդ պարամետրը, որի հիման վրա ձևավորվում է դաշտի արժեքը PRI, հաղորդագրության (առաջնահերթության) մակարդակն է կամ առաջնահերթությունը, այսինքն՝ հաղորդագրության կարևորության աստիճանի մասին տեղեկություն։ Որպես ստանդարտ սահմանված են ծանրության 8 մակարդակ (դրանք նույնպես սահմանված են ֆայլում): /usr/include/sys/syslog.h), որոնք կոդավորված են 0-ից 7 թվերով.

Աղյուսակ 2.

Թվային արժեքԽորհրդանիշ Վերծանում
0 առաջանալ(հին անունը PANIC) Արտակարգ իրավիճակ. Համակարգն անգործուն է։
1 զգոն Անհանգստություն! Անհրաժեշտ է անհապաղ միջամտություն:
2 կրիտ Կրիտիկական սխալ (կրիտիկական վիճակ):
3 սխալվել(հին անունը ERROR) Սխալի հաղորդագրություն:
4 նախազգուշացում(հին անունը ԶԳՈՒՇԱՑՈՒՄ)Նախազգուշացում.
5 ծանուցում Տեղեկություններ ինչ-որ նորմալ, բայց կարևոր իրադարձության մասին։
6 տեղեկատվություն Հայտարարություն.
7 վրիպազերծել Վրիպազերծման ընթացքում առաջացած հաղորդագրություններ:

Դաշտ PRIհաղորդագրությունը ձևավորվում է հետևյալ կերպ՝ կատեգորիայի թվային արժեքը բազմապատկվում է 8-ով և ավելացվում է առաջնահերթության թվային արժեքին, ստացված թիվը փակցվում է անկյունային փակագծերում և գրվում դաշտում։

Հետևելով դաշտին PRIՀաղորդագրության մեջ ներառված են հետևյալ դաշտերը.

  • ԺԱՄԱՆԱԿԱԳՐՈՒԹՅՈՒՆ- հաղորդագրությունների ձևավորման ժամանակը,
  • HOSTNAME- հյուրընկալողի անունը կամ IP-հասցեն տասնորդական նշումով,
  • MSG- հաղորդագրության կամայական տեքստ - որոշ տեքստային (տեղեկատվական) տող ԱՄՆ-ASCII ծածկագրով (0x20 - 0x7e):

Ժամը (տեղական!) Գրված է ձևաչափով՝ Փետրվարի 13 21:12:06։ Եթե ​​օրվա թիվը միանիշ թիվ է, ապա դրան նախորդում է լրացուցիչ բացատ (ոչ թե 0): Ուշադրություն դարձրեք տարեթվի և գոտու բացակայությանը, որը պետք է հաշվի առնել կազմակերպելիս երկարաժամկետ պահեստավորումգրանցամատյանի ֆայլեր: Որպեսզի հաղորդագրության ժամանակը ճիշտ լինի, այն պետք է համաժամանակացվի (օրինակ՝ օգտագործելով NTP արձանագրությունը):

Հյուրընկալողի անունը ներառված է հաղորդագրության մեջ, որպեսզի չշփոթեն տարբեր հոսթերից ստացվող հաղորդագրությունները, քանի որ, ինչպես ցույց կտա ստորև, գրանցումը կարող է իրականացվել ցանցի հատուկ համակարգիչներից մեկի վրա: Հոսթի անունը համակարգչի պարզ ցանցի անունն է՝ առանց տիրույթը նշելու։ Եթե ​​համակարգիչն ունի մի քանի ինտերֆեյս տարբեր IP հասցեներով, ապա դրանցից որևէ մեկը կարող է օգտագործվել որպես հոսթի անուն կամ հասցե:

Հաղորդագրության տեքստ ( MSG) սովորաբար պարունակում է պիտակ ( TAG), մատնացույց անելով այս հաղորդագրությունը թողարկած ծրագրին կամ գործընթացին և հաղորդագրության մարմնին ( ԲՈՎԱՆԴԱԿՈՒԹՅՈՒՆ): Պիտակը կարող է պարունակել լատինական տառեր և թվեր։ Սովորաբար ծրագրի պարզ անվանումն օգտագործվում է որպես պիտակ, որին երբեմն հաջորդում է պրոցեսի նույնացուցիչը, որը փակցված է քառակուսի փակագծերում: Հաղորդագրության մարմինն առանձնացված է պիտակից հատուկ նիշերով. Linux-ում դրանք սովորաբար երկու կետ և բացատ են:

Syslogd հաղորդագրությունների մշակում

Բոլոր հաղորդագրությունները ստեղծվել են անհատական ​​ծրագրերօգտագործելով գործառույթը syslogուղարկվել է վարդակից / dev / տեղեկամատյանհամակարգի դեյմոն syslogdով է պատասխանատու այս հաղորդագրությունների մշակման համար: Պետք է ասեմ, որ, ըստ էության, համակարգում գործարկված են երկու լոգերի դևեր. syslogdև կլոգդ... Երկու դևերն էլ ներառված են փաթեթում sysklogd, որի վերջին տարբերակը կարող եք գտնել կայքում։

Դեյմոն կլոգդպատասխանատու է համակարգի միջուկում տեղի ունեցող իրադարձությունների գրանցման համար: Առանձին դևի անհրաժեշտություն կլոգդբացատրվում է նրանով, որ միջուկը չի կարող օգտագործել ստանդարտ ֆունկցիան syslog... Փաստն այն է, որ ստանդարտ գրադարանները (ներառյալ գրադարանը, որտեղ գտնվում է գործառույթը syslog) նախատեսված են միայն սովորական հավելվածների համար: Քանի որ միջուկը նույնպես կարիք ունի նմանատիպ գործառույթների, այն ներառում է իր սեփական գրադարանները, որոնք հասանելի չեն հավելվածներին: Հետևաբար, միջուկն օգտագործում է հաղորդագրությունների ստեղծման իր մեխանիզմը: Դեյմոն կլոգդնախատեսված է այդ հաղորդագրությունների մշակումը կազմակերպելու համար: Սկզբունքորեն, նա կարող է նման մշակում իրականացնել բոլորովին անկախ և անկախ syslogd, օրինակ՝ գրելով այս հաղորդագրությունները ֆայլում, բայց շատ դեպքերում օգտագործվում է լռելյայն կարգավորումը կլոգդորտեղ միջուկից բոլոր հաղորդագրությունները փոխանցվում են նույն դեյմոնին syslogd.

Համոզվելու համար, որ դևերը syslogdև կլոգդաշխատում է ձեր համակարգում, գործարկեք հրամանը ps -ax | grep տեղեկամատյան... Այս հրամանն ինձ համար տվեց հետևյալ արդյունքը.

$ ps -ax | grep տեղեկամատյան 569? S 0:00 syslogd -m 0 574? S 0:00 klogd -x 1013? S 0:00 մուտք - kos 1191? S 0:00 kalarmd --login Առաջին երկու տողերը ցույց են տալիս, որ գրանցման դևերը աշխատում են համակարգում:

Daemon Handling Messages syslogdբաղկացած է նրանից, որ այն մշտապես վերահսկում է հաղորդագրությունների տեսքը և յուրաքանչյուր մուտքային գրառում համեմատում է ֆայլում առկա կանոնների հետ: /etc/syslog.conf... Յուրաքանչյուր կանոն գրված է որպես ֆայլի տող /etc/syslog.confբաղկացած երկու դաշտից. Ձախ դաշտը («ընտրիչ») նշում է մեկ կամ մի քանի ձևանմուշներ, որոնց միջոցով ընտրվում են հաղորդագրությունները: Կաղապարները բաժանված են ստորակետերով (տե՛ս ստորև, օրինակ ֆայլը /etc/syslog.conf): Աջ լուսանցքը («գործողություն») որոշում է ընտրված հաղորդագրությունների մշակման հերթականությունը: Դաշտերը բաժանված են մեկ կամ մի քանի բացատներով կամ ներդիրներով:

«Ընտրիչ» դաշտի յուրաքանչյուր ձևանմուշ ունի «category.level» ձևը (այսինքն՝ «facility.priority»): «Կատեգորիա» դաշտի արժեքները կարող են լինել.

  • Աղյուսակ 1-ում թվարկված կատեգորիաների պայմանական անվանումներից մեկը,
  • մի քանի այդպիսի անուններ (այս դեպքում դրանք բաժանվում են ստորակետերով)
  • կամ * նշանը (որը նշանակում է «բոլոր կատեգորիաները»):

«Մակարդակ» դաշտի արժեքները կարող են լինել.

  • Աղյուսակ 2-ում նշված մակարդակի պայմանական անվանումներից մեկը,
  • նիշ * (գրանցեք այս կատեգորիայի բոլոր հաղորդագրությունները՝ անկախ մակարդակից),
  • կամ բառ ոչ ոք(Այս կատեգորիայի հաղորդագրությունները մի ձայնագրեք):

«Մակարդակ» դաշտում որոշակի արժեք նշելը մեկնաբանվում է որպես «այս մակարդակի և վերևի բոլոր արժեքները»: Եթե ​​Ձեզ անհրաժեշտ է միայն մեկ մակարդակի հաղորդագրություններ ձայնագրել, ապա նշված արժեքի դիմաց պետք է դնել հավասար նշան ("="): Եթե ​​պահանջվում է ձայնագրել բոլոր մակարդակների հաղորդագրությունները, բացառությամբ նշվածի, ապա մակարդակի անվան առաջ դրվում է բացականչական նշան ("!"): Այս երկու նշանների միաժամանակ տեղադրումը մեկնաբանվում է որպես «նշված մակարդակի կամ ավելի բարձր հաղորդագրություններ չգրանցել»։

«Ընտրիչ» դաշտում մեծատառերը և փոքրատառերը չեն տարբերվում: Կարող եք նաև օգտագործել թվեր (տես /usr/include/syslog.h): Աղյուսակ 1-ում թվարկված կատեգորիաներից բացի, նշագծել(սովորական ժամանակի դրոշմանիշներ) և անվտանգություն(հնացած հոմանիշ հեղինակություն): Աղյուսակ 2-ում նշված առաջնահերթ արժեքներից բացի, կարող եք օգտագործել զգուշացնել(հոմանիշը նախազգուշացում), սխալ(հոմանիշը սխալվել), խուճապ(հոմանիշը առաջանալ).

Երբ ստացված հաղորդագրության կատեգորիան և մակարդակը համընկնում են ինչ-որ տողի «ընտրիչ» դաշտի ձևանմուշներից մեկին, syslogdմշակում է գրառումը՝ համաձայն սույն տողի «գործողություն» դաշտում նշված գործողության:

«Գործողություն» դաշտը կարող է պարունակել

  • սովորական ֆայլի անունը (log ֆայլ), և ֆայլի ամբողջական ուղին պետք է նշվի՝ սկսած «/» արմատից, և եթե նշված ֆայլը գոյություն չունի, syslogdստեղծում է այն,
  • անվանված խողովակի անվանումը - FIFO; այս դեպքում անվան դիմաց տեղադրվում է ուղղահայաց գիծ («|»), և ալիքն ինքը պետք է ստեղծվի նախքան սկսելը: syslogdթիմը mkfifo,
  • մատնացույց անելով տերմինալին կամ վահանակին (ինչպես սարքը՝ / dev / tty1),
  • հղում հեռավոր հոսթին (նախորդում է @ նշանը),
  • կամ օգտատերերի ցուցակ (ստորակետերով բաժանված), որոնց տերմինալներին հաղորդագրություն կուղարկվի՝ համաձայն այս կանոնի։ Օգտատերերի ցուցակի փոխարեն կարող եք տեղադրել աստղանիշ (*), ինչը կնշանակի, որ հաղորդագրությունները ուղարկվում են բոլոր օգտատերերին, ովքեր աշխատում են: այս պահինհամակարգում։

Ամենից հաճախ «գործողություն» դաշտը դեռ պարունակում է մատյան ֆայլի անունը: Ավելին, ֆայլի անվան դիմաց կարող եք մինուս նշան («-») դնել, ինչը կնշանակի, որ համակարգը կարող է ֆայլը պահել քեշի բուֆերում և ոչ թե վերականգնել այն յուրաքանչյուր հաղորդագրություն սկավառակի վրա գրվելուց հետո: Սա, իհարկե, արագացնում է աշխատանքը, հատկապես, եթե գրանցամատյանում գրված են շատ մեծ հաղորդագրություններ, բայց դա կարող է հանգեցնել որոշ հաղորդագրությունների կորստի համակարգի անսպասելի խափանման դեպքում, այսինքն՝ հենց այն դեպքում, երբ այդպիսի հաղորդագրությունները հատկապես անհրաժեշտ են։ . Դուք կարող եք նաև նշել տպիչը որպես սարք «գործողություն» դաշտում - / dev / lp0: «Գործողության» այս տարբերակը նպատակահարմար է կիրառել այն դեպքերում, երբ խոսքը վերաբերում է հատկապես կարևոր համակարգերին։ Տպագրված արձանագրությունները չեն կարող ջնջվել կամ փոփոխվել հաքերների կողմից, ուստի սա լավ կիրառություն է հին կետային տպիչի համար:

Բացառությամբ ֆայլի կանոններով տողերի /etc/syslog.confկարող է պարունակել դատարկ տողեր և մեկնաբանությունների տողեր, որոնք սկսվում են #-ով: Ավելին ֆայլի կառուցվածքի մասին /etc/syslog.confԴուք կարող եք կարդալ syslog.conf մարդ էջը այս ֆայլում կանոնների մուտքագրման մի քանի օրինակների համար: Նկատի ունեցեք, որ ֆայլում «category.level» զույգեր նշելիս syslog.confԴուք չեք կարող օգտագործել 1-ին և 2-րդ աղյուսակներում տրված թվային արժեքները, թույլատրվում են միայն դրանց պայմանական անվանումները:

Եթե ​​հաղորդագրությունը համապատասխանում է երկու կամ ավելի տողերի օրինաչափություններին, այն կմշակվի այս կանոններից յուրաքանչյուրի համաձայն (այսինքն՝ հաղորդագրության մշակումը չի դադարում առաջին հաջողության դեպքում): Սա նշանակում է, որ մեկ հաղորդագրության համար կարելի է կատարել կամայական թվով գործողություններ: Հետևաբար, դուք կարող եք և՛ հաղորդագրություն գրել գրանցամատյանի ֆայլին, և՛ այն ուղարկել օգտվողին (օգտատերերին) կամ հեռավոր հոսթին:

Բացի այդ, եթե մի քանի «category.level» զույգեր թվարկված են «սելեկտոր» դաշտում (բաժանված են ստորակետերով), ապա հաջորդ զույգերը կարող են չեղարկել նախորդների գործողությունը: Նման չեղարկման օրինակ կարող եք տեսնել ստորև ներկայացված ֆայլերի ցանկում /etc/syslog.confԲոլոր հաղորդագրությունները, որոնց մակարդակը հավասար է կամ ավելի բարձր, գրվում է ֆայլում / var / log / հաղորդագրություններում, սակայն mail, authpriv և cron կատեգորիաների հաղորդագրությունները բաց են թողնվում (գրված չեն):

Ցուցակ 1. Ֆայլ /etc/syslog.conf Red Hat Linux 7.1 բաշխման փաթեթի հիման վրա կառուցված համակարգից (ես հենց նոր թարգմանեցի ռուսերեն այս ֆայլում պարունակվող մեկնաբանությունները և ընտրեցի ընդգծված, լայնատառկանոնների տողեր):
# Տպեք բոլոր հաղորդագրությունները միջուկից մինչև վահանակ: # միջուկ. * / dev / վահանակ# Մուտքագրեք բոլոր մակարդակի կամ ավելի բարձր մակարդակի հաղորդագրությունները, # բացառությամբ փոստի հաղորդագրությունների, որոնք պարունակում են գաղտնի # նույնականացման հաղորդագրություններ և cron հաղորդագրություններ: * .info; mail.none; authpriv.none; cron.none / var / log / հաղորդագրություններ# Գրեք գաղտնի # նույնականացման տեղեկատվություն պարունակող հաղորդագրություններ առանձին ֆայլում՝ անկախ դրանց մակարդակից: authpriv. * / var / log / անվտանգ# Փոստային համակարգի բոլոր հաղորդագրությունները նույնպես պետք է առանձին ձայնագրվեն: փոստ: * / var / log / maillog# Գրանցեք cron daemon-ի գործողությունները: cron * / var / log / cron# Արտակարգ հաղորդագրությունները պետք է անմիջապես ստացվեն # համակարգի բոլոր օգտագործողների կողմից * .emerge *# Crit մակարդակի և ավելի բարձր լրատվական ծառայություններից հաղորդագրությունները պետք է գրվեն առանձին ֆայլում: uucp, news.crit / var / log / spooler# Բեռնման փուլում ցուցադրվող հաղորդագրությունները պետք է պատճենվեն boot.log ֆայլում local7. * /var/log/boot.log
Ինչպես տեսնում եք, հաղորդագրությունների մեծ մասը պարզապես գրված է գրացուցակում տեղակայված տարբեր տեղեկամատյանների ֆայլերում / var / logկամ դրա ենթատեղեկատուները, և Red Hat Linux-ում հիմնական համակարգի գրանցամատյանի ֆայլը ֆայլն է / var / log / հաղորդագրություններ... Դրանում ներառված չեն միայն փոստի, authpriv և cron կատեգորիաների հաղորդագրությունները (որոնց համար հատկացված են առանձին ֆայլեր): Եկեք նայենք այս ֆայլին և, օգտագործելով դրա օրինակը, հաշվի առնենք, թե ինչ է գրված log ֆայլերում:

Մատյան ֆայլ / var / log / հաղորդագրություններ

Իհարկե, այստեղ ոչ մի կերպ հնարավոր չէ պատմել այս ֆայլի յուրաքանչյուր տողի բովանդակության մասին: Որպեսզի ընթերցողը պատկերացում կազմի, թե ինչ տեղեկություններ կարելի է գտնել արձանագրության մեջ, մենք ներկայացնում ենք առանձին հաղորդագրությունների տողեր՝ շատ կարճ մեկնաբանություններով:

Մատյան ֆայլի յուրաքանչյուր տող պարունակում է մեկ հաղորդագրության գրառում, որը բաղկացած է հետևյալ հաղորդագրության դաշտերից՝ բաժանված բացատներով.

  • ամսաթիվը ստանդարտ տեքստային ձևաչափով (դաշտ ԺԱՄԱՆԱԿԱԳՐՈՒԹՅՈՒՆփոստից syslog),
  • հյուրընկալողի անունը (դաշտ HOSTNAMEփոստից syslog)
  • հաղորդագրության տեքստը (դաշտերը TAGև ԲՈՎԱՆԴԱԿՈՒԹՅՈՒՆփոստից syslog)

Նախ, հարկ է նշել, որ եթե ձեր համակարգիչը չի աշխատում շուրջօրյա, այլ անջատվում է գիշերը, ապա այս ֆայլում կարող եք գտնել մի քանի «աշխատանքային ցիկլերի» գրառումներ՝ սկսած համակարգչի բեռնումից և վերջացրած նրա անջատմամբ: Նման ցիկլը սկսվում է անտառահատման դևոնների մեկնարկի մասին հաղորդագրությունով (սա հասկանալի է, մինչ դրանք սկսելը հաղորդագրությունները չեն գրանցվել).

Սեպտ 17 08:32:56 kos3 syslogd 1.4-0. վերագործարկեք: Sep 17 08:32:56 kos3 syslog. syslogd-ը հաջողվեց Սեպտեմբեր 17 08:32:56 kos3 միջուկը՝ klogd 1.4-0, log source = / proc / kmsg սկսվեց: Sep 17 08:32:56 kos3 միջուկ. Ստուգում /boot/System.map-2.4.2-2 Sep 17 08:32:56 kos3 syslog. start klogd հաջողվեց

  • - միջուկի ո՞ր տարբերակն է օգտագործվում. Սեպտ. 17 08:32:56 kos3 միջուկ. Linux տարբերակ 2.4.2-2 ( [էլփոստը պաշտպանված է]) (gcc տարբերակ 2.96 20000731 (Red Hat Linux 7.1 2.96-79)) # 1 Sun Apr 8 20:41:30 EDT 2001 թ.
  • - Ինչ պարամետրերով է գործարկվել միջուկը. Sep 17 08:32:56 kos3 kernel: Kernel հրամանի տող. auto BOOT_IMAGE = linux ro root = 303 BOOT_FILE = / boot / vmlinuz-2.4.2-2
  • - Տեղեկություններ պրոցեսորի տեսակի և RAM-ի քանակի մասին. Sep 17 08:32:56 kos3 միջուկ. Հայտնաբերվել է 1594,849 ՄՀց պրոցեսոր: Սեպտ 17 08:32:56 kos3 միջուկ. Հիշողություն՝ 125652k / 130560k հասանելի (1365k միջուկի կոդը, 4200k վերապահված, 92k տվյալ, 236k init, 0k highmem) Sep 17 06:32K1: , L1 D քեշ՝ 8K Sep 17 08:32:56 kos3 միջուկ՝ CPU՝ L2 cache՝ 256K Sep 17 08:32:56 kos3 kernel՝ CPU՝ Intel (R) Pentium (R) 4 CPU 1.60GHz stepping 02
  • - Սկավառակի հիշողության մասին տեղեկատվություն (ներառյալ սկավառակի երկրաչափության, սկավառակի բաժանման կառուցվածքի և օգտագործվող ընդհատումների մասին տեղեկությունները). Sep 17 08:32:56 kos3 միջուկ՝ hda: MAXTOR 6L020J1, ATA DISK drive Sep 17 08:32:56 kosd3 kernel:AMSUhNG CD-ROM SC-148C, ATAPI CD / DVD-ROM սկավառակ Սեպտ 17 08:32:56 kos3 միջուկ. 0x376 irq 15 Sep 17 08:32:56 kos3 միջուկ՝ hda՝ 40132503 սեկտորներ (20548 ՄԲ) w / 1819KiB Cache, CHS = 2498/255/63, UDMA: ստուգել՝ 17 սեպտեմբերի 08:32:56 kos3 միջուկ՝ hda: hda1 hda2 hda3 hda4< hda5 hda6 hda7 >Սեպտեմբեր 17 08:32:56 kos3 միջուկ. Անգործունյա սկավառակ (ներ). fd0-ը 1,44 մ է
  • - Ծայրամասային տեղեկություններ՝ սեպտ. 17 08:32:56 kos3 միջուկ՝ usb-uhci.c: USB UHCI ժամը I/O 0x1820, IRQ 11 Սեպտ. 17 08:32:56 kos3 միջուկ՝ usb-uhci.c: Հայտնաբերվել է 2 պորտ 17 08:32:56 kos3 միջուկը՝ ttyS00 0x03f8-ում (irq = 4) 16550A Sep 17 08:32:56 kos3 միջուկ է՝ ttyS01 0x02f8 (irq = 3) 0x02f8 (irq = 3) 0x02f8-ում (irq = 3) 0x02f8: eth0. Intel (R) 8255x-ի վրա հիմնված Ethernet ադապտեր Sep 17 08:32:56 kos3 միջուկ՝ Intel (R) PRO / 100 Fast Ethernet Adapter - Բեռնվող վարորդ, տարբերակ 1.5.6 Sep 17 08:32:56 kos3 kernel: PCI: Գտնվել է IRQ 11 սարքի համար 02: 08.0
  • - Տեղեկություններ անհատական ​​ծառայությունների և ծառայությունների մեկնարկի մասին. Սեպտ. 17 08:32:56 kos3 միջուկ՝ NET4: Linux TCP / IP 1.0 NET4.0-ի համար Սեպտ. 17 08:32:56 kos3 միջուկ՝ IP արձանագրություններ՝ ICMP, UDP, TCP, IGMP Սեպտեմբեր 17 08:32:56 kos3 միջուկ՝ NET4. Unix տիրույթի վարդակներ 1.0 / SMP Linux NET4.0-ի համար: Sep 17 08:32:56 kos3 kernel: parport0: PC-style at 0x378 (0x778) Sep 17 08:32:56 kos3 kernel: parport0: irq 7 հայտնաբերված Sep 17 08:32:42 kos3 rc.sysinit: և խմբային քվոտաներ տեղական ֆայլային համակարգերի համար. հաջողվել է Sep 17 08:32:43 kos3 rc.sysinit: Միացնելով փոխանակման տարածքը. հաջողվել է Sep 17 08:32:44 kos3 սկզբում. Մուտք գործելու մակարդակ. / etc / fstab հաջողվեց Սեպտ 17 08:32:55 kos3 kudzu: հաջողվեց Սեպտ 17 08:32:55 kos3 ցանց. Ցանցի պարամետրերի կարգավորում. հաջողվեց Սեպտ 17 08:32:55 kos3 ցանց. Բարձրացնելով ինտերֆեյսը lo. հաջողվեց Սեպտ 17 08 32:56 kos3 ցանց. Ինտերֆեյսը eth0 ակտիվացված է. հաջողվել է Սեպտ 17 08:32:56 kos3 ստեղնաշար. Բեռնում է ստեղնաշարի դասավորությունը՝ Սեպտ 17 08:32:56 kos3 ստեղնաշար. Բեռնում է համակարգի տառատեսակը. Սեպտ. 17 08:332: Նախնականացնում է պատահական թվերի գեներատորը. հաջողվեց Սեպտ 17 08:32:41 kos3 rc.sysinit. միջուկի պարամետրերի կարգավորում. հաջողվեց Սեպտեմբեր 17 08:32:41 kos3 rc.sysinit. Նախադրված տառատեսակը (cyr-sun16): հաջողվեց Sep 17 08:32:41 kos3 rc.sysinit. Փոխանակման միջնորմների ակտիվացում. հաջողվեց Սեպտ 17 08:32:41 kos3 rc.sysinit: Կարգավորեք հոսթի անունը kos3: հաջողվեց Սեպտ 17 08:33:03 kos3 xinetd: start xinetd: Սկսեք xinetd: 33:05 kos3 gpm. start gpm հաջողվեց Sep 17 08:33:05 kos3 crond: start crond հաջողվեց Sep 17 08:33:06 kos3 xfs. լսել 7100 պորտով Սեպտ 17 08:33:06 kos3 xfs հաջողվեց:
  • - Տեղեկություններ մոնտաժվող ֆայլային համակարգերի մասին. Սեպտեմբեր 17 08:32:56 kos3 միջուկ. VFS. Տեղադրված արմատ (ext2 ֆայլային համակարգ) միայն կարդալու համար: Sep 17 08:32:56 kos3 միջուկ. Ավելացնելով Փոխանակում՝ 265032k swap-space (առաջնահերթություն -1) Sep 17 08:32:56 kos3 kernel՝ MSDOS FS. IO charset koi8-r Sep 17 08:32:41 kos3 rc.sysinit: USB ֆայլային համակարգի տեղադրում. հաջողվեց Sep 17 08:32:41 kos3 rc.sysinit: Ստուգելով արմատային ֆայլային համակարգը հաջողվեց Sep 17 08:32:41 sysinit3rc Root ֆայլային համակարգի վերակայումը կարդալ-գրելու ռեժիմում. հաջողվեց Սեպտ 17 08:32:41 kos3 rc.sysinit. Proc ֆայլային համակարգի տեղադրում. հաջողվեց Սեպտեմբեր 17 08:32:41 kos3 fsck: /: մաքուր, 30407/160000 70/95 ֆայլ բլոկներ Sep 17 08:32:42 kos3 fsck: / HOME: մաքուր, 6573/432864 ֆայլեր, 689090/863722 բլոկներ Sep 17 08:32:42 kos3 fsck: / usr: մաքուր, 55105858/69 բլոկ, 551058/309, 55105, 55105, 551052/309, 55105, 55105, 551052/309, 55105, 55105, 55105, 2005, 551052, 309, 55105, 55105, 551052/309, 551058/309, 5510562/329 17 08:32:42 kos3 rc.sysinit. Ֆայլային համակարգերի ստուգումը հաջողվեց
  • - Սխալների որոշ հաղորդագրություններ հաղորդվել են. Sep 17 08:32:42 kos3 ամրացում. SMB կապը ձախողվեց Sep 17 08:32:42 kos3 mount. Փաթեթի ուղարկումը ձախողվեց 10.104.129.245 (137) ERRNO = Ցանցը անհասանելի է Սեպտ 12:08: 42 kos3 մոնտաժ՝ մոնտաժ՝ / dev / sda4՝ անհայտ սարք Սեպտ 17 08:32:59 kos3 մոնտաժ՝ 192.168.36.20:139-ին միանալու սխալ (երթուղի չկա դեպի հյուրընկալող) Սեպտ 17 08:32:59 kos3 մոնտաժ՝ ամրակ՝ / dev / sda4. անհայտ սարք
  • - Հաղորդագրություններ օգտատերերի մուտքագրման մասին. Sep 17 08:33:14 kos3 մուտք (pam_unix). սեսիան բացվել է kos օգտվողի համար LOGIN-ի միջոցով (uid = 0) Sep 17 08:33:14 kos3 - kos. ՄՈՒՏՔ ON tty1 BY kos Սեպտեմբեր 17 08: :41:39 kos3 su (pam_unix). նույնականացման ձախողում; logname = kos uid = 500 euid = 0 tty = ruser = rhost = օգտվող = արմատ
  • - Եվ վերջապես, հաղորդագրությունները ձայնագրվում են, երբ համակարգիչը անջատվում է, օրինակ՝ Sep 17 10:30:07 kos3 rc. Ստեղնաշարի դադարեցում. հաջողվեց Sep 17 10:30:07 kos3 Տառատեսակի սերվեր. : stop xfs հաջողվեց Սեպտ 17 10:30:08 kos3 gpm: stop gpm հաջողվեց Sep 17 10:30:08 kos3 xinetd: Ելք ... Sep 17 10:30:10 kos3 rpc.statd: Բռնվել է ազդանշան 15, չգրանցվել և դուրս գալը: Սեպտ 17 10:30:11 kos3 միջուկ. միջուկի գրանցումը (proc) դադարեցվեց: Սեպտ 17 10:30:11 kos3 միջուկ. միջուկի տեղեկամատյան դեյմոնն ավարտվում է: Sep 17 10:30:12 kos3 syslog. stop klogd հաջողվեց Սեպտ 17 10:30:12 kos3-ը դուրս է գալիս 15 ազդանշանից

    Ֆայլում նշված արձանագրության այլ ֆայլերի գրառումները մոտավորապես նույն կառուցվածքն ունեն: /etc/syslog.conf.

    Լոգերի և պոչերի հրամաններ

    Նախորդ նկարագրությունից մենք կարող ենք եզրակացնել, որ համակարգի տեղեկամատյանների համար բոլոր հաղորդագրությունների թողարկումը պետք է սահմանվի ծրագրավորողի կողմից ծրագրի ստեղծման փուլում: Սա լիովին ճիշտ չէ: Օգտատերը նաև հնարավորություն ունի հաղորդագրություն ուղարկել դեյմոնին syslogd... Դա անելու համար Linux-ն ունի հրաման անտառահատ, որն ապահովում է հրամանի տողից հաղորդագրություն ուղարկելը (sh, bash և այլն): Այն ներառված է util-linux փաթեթում։ Բնականաբար, այս հրամանը հիմնականում նախատեսված է գրանցման հնարավորություններ ապահովելու համար, երբ օգտագործողը ստեղծում է տարբեր տեսակի shell scripts: Բայց այն կարող է գործարկվել նաև անմիջապես հրամանի տողից, օրինակ՝ ծանոթանալու անտառահատումների համակարգի հնարավորություններին։ Հրամանի գործարկման ձևաչափ. լոգեր [-isd] [-f ֆայլ] [-p PRI] [-t TAG] [-u վարդակից]Հրամանի տողի պարամետրերն ունեն հետևյալ նշանակությունը.

    • - հաղորդագրության մեջ ներառեք գործընթացի համարը
    • - կրկնօրինակ հաղորդագրություն stderr-ին
    • - օգտագործել datagram ռեժիմ հաղորդագրություններ ուղարկելիս (սովորական հոսքի փոխարեն)
    • -f ֆայլի անունը- պահպանել հաղորդագրությունը նշված ֆայլում (լռելյայն այն օգտագործվում է / var / log / հաղորդագրություններ)
    • -p facility.level- սահմանել հաղորդագրության կատեգորիան և առաջնահերթությունը (լռելյայն՝ user.notice)
    • -տ TAG - սահմանել TAG դաշտը
    • -u վարդակից- ուղարկել հաղորդագրություն նշված վարդակից՝ syslogd-ին զանգահարելու փոխարեն
    • MSG- Հաղորդագրության տեքստ

    Ուղարկեք բազմաթիվ հաղորդագրություններ ծրագրի միջոցով անտառահատև հիացեք ֆայլի արդյունքով / var / log / հաղորդագրություններ(եթե, իհարկե, դուք չեք փոխել կանխադրվածը):

    Ի դեպ, ֆայլում գրված հաղորդագրությունները դիտելու շատ հետաքրքիր միջոց կա / var / log / հաղորդագրություններթիմը անտառահատ... Այս մեթոդը հիմնված է օգտագործման վրա հատուկ ծրագիր պոչ... Բացեք տերմինալի պատուհանը, ստացեք գերօգտագործողի իրավունքները (հրամանով սու) և գործարկեք հրամանը այս պատուհանում
    tailf / var / log / հաղորդագրություններ
    Դրանից հետո անցեք մեկ այլ տերմինալ և գործարկեք հրամանը այնտեղ լոգեր կամայական_տեքստ... Ձեր հաղորդագրությունը անմիջապես կհայտնվի այն պատուհանում, որտեղ աշխատում է ծրագիրը պոչ... Այսինքն՝ օգտագործելով այս ծրագիրը՝ համակարգի ադմինիստրատորը կարող է իրական ժամանակում վերահսկել արձանագրության մեջ նոր հաղորդագրությունների գրանցումը։ Այնուամենայնիվ, համակարգի ադմինիստրատորը դժվար թե ժամանակ ունենա այս կերպ հետևելու համակարգի վարքագծին (բացառությամբ արտակարգ իրավիճակների): Այդ պատճառով արձանագրությունները վերլուծելու համար մշակվել են հատուկ ծրագրեր։ Բայց դրանց մասին մի փոքր ավելի ցածր է, բայց առայժմ եկեք անցնենք այն հարցին, թե ինչպես կազմակերպել հեռավոր համակարգչի վերահսկողությունը (հիշո՞ւմ եք, թե ինչպես եք բռնել հարձակվող Շիմոմուրային):

    Ցանցի գրանցում

    Ինչպես նշվեց, տեղեկամատյանների հաղորդագրությունները կարող են ուղարկվել դեյմոնի միջոցով syslogdհեռավոր հյուրընկալողին: Բայց այնտեղ ինչ-որ մեկը պետք է ընդունի դա: Պարզվում է, որ նույն դևն է դա անում syslogdաշխատում է այս հեռակա հոսթի վրա: Ավելի ճիշտ՝ syslogdցանկացած համակարգչի վրա այն կարող է լսել ոչ միայն / dev / log վարդակից (այդպիսով ստանալով հաղորդագրություններ տեղական աղբյուրներից), այլ նաև 514 / UDP պորտում, որն ապահովում է տեղական ցանցի այլ համակարգիչների հաղորդագրությունների ստացումը (և այնուհետև գրավոր դեպի տեղական ֆայլ): Սա հնարավորություն է տալիս ստեղծել «log server», որը կարող է շատ հարմար լինել համակարգի ադմինիստրատորի համար (ցանցում բոլոր իրադարձությունները վերահսկվում են մեկ տեղում), ինչպես նաև մեծացնում է ցանցի անվտանգությունը, քանի որ հաղորդագրությունները ներթափանցման մասին. ցանցահեններից մեկի ցանցահենը չի կարող անմիջապես հեռացվել արձանագրությունից այս հաքերի կողմից:

    Այնուամենայնիվ, որոշակի լրացուցիչ ջանք է պահանջվում նման «ցանցային գրանցում» ստեղծելու համար:

    Նախ, քանի որ 514 / UDP պորտն օգտագործվում է ցանցով հաղորդագրություններ ուղարկելու և ստանալու համար, այն պետք է հասանելի լինի երկու համակարգիչների վրա (հաճախորդ և սերվեր): Դա անելու համար ֆայլում / և այլն / ծառայություններգիծը պետք է առկա լինի երկու համակարգիչների վրա
    syslog 514 / udp
    Եթե ​​նման տող է / և այլն / ծառայություններբացակա, syslogdչի կարող ստանալ հաղորդագրություններ կամ ուղարկել դրանք ցանց, քանի որ այն չի կարող բացել UDP պորտը: Եթե ​​այս իրավիճակը ստեղծվի, syslogdանմիջապես դադարում է գրել ցանկացած հաղորդագրություն, նույնիսկ տեղական մատյանում: Ավելին, ինչպես ցույց է տալիս հրամանը ps, այն մնում է հիշողության մեջ և նույնիսկ պահում է հաղորդագրությունները որոշ բուֆերներում, քանի որ եթե տողը « syslog 514 / udp "վերականգնել ֆայլում / և այլն / ծառայություններհաճախորդի վրա, այնուհետև «բացակայող» հաղորդագրություններից գոնե մի քանիսը դեռ հայտնվում են գրանցամատյանում (վերագործարկումից հետո syslogd).

    Երկրորդ, երբ սկսում է daemon syslogdսերվերը պետք է ունենա տարբերակը որն ապահովում է հեռահար հատման հնարավորություն (ըստ լռելյայն՝ դեյմոն syslogdսպասում է միայն տեղական վարդակից հաղորդագրությունների): Ինչպես և որտեղ կարգավորել այս տարբերակը, կներկայացվի ստորև՝ դեյմոնը սկսելու մասին բաժնում: syslogd.

    Դե, և երրորդը, ֆայլերի պարամետրերը պետք է համապատասխանաբար շտկվեն: /etc/syslog.confերկու համակարգիչների վրա: Օրինակ, եթե ցանկանում եք վերահղել բոլոր հաղորդագրությունները գրանցման սերվերին, դուք պետք է գրեք ֆայլը հաճախորդի համակարգչում: /etc/syslog.confայսպիսի տող.
    *. * @hostname
    Եթե ​​դևի մեկնարկի ժամանակ syslogdսերվերն անհասանելի կլինի (օրինակ՝ այս պահին այն անջատված է ցանցից) կամ հնարավոր չի լինի գտնել այն անունով (DNS ծառայությունը ճիշտ չի աշխատել) syslogdևս 10 փորձ է անում գտնել սերվերը և միայն եթե դրանից հետո սերվերը չի գտնվել, դադարեցնում է փորձերը և ուղարկում համապատասխան հաղորդագրություն։

    Եթե ​​ձեր ցանցն ունի մի քանի տիրույթ, որոնք սպասարկվում են մեկ գրանցման սերվերի կողմից, ապա մի զարմացեք, որ սերվերի գրանցամատյանը կպարունակի հաճախորդների ամբողջական անունները (նշված տիրույթով): Ճիշտ է, գործարկման ժամանակ syslogdկարող եք օգտագործել ընտրանքները -s domain_listկամ -l hostlist, որոնք ապահովում են, որ արձանագրությունը լիովին որակավորված հոսթների անունները փոխարինում է իրենց կարճ անուններով (առանց տիրույթը նշելու):

    Մի մոռացեք գործարկման ընտրանքները և ֆայլը կարգավորելուց հետո /etc/syslog.confվերագործարկեք daemon-ը, քանի որ ի տարբերություն քրոն, sysklogdինքնաբերաբար չի վերընթերցում կազմաձևման ֆայլերը:

    Syslogd daemon գործարկման ընտրանքներ

    Քանի որ նախորդ ենթաբաժնում անդրադարձել ենք դեյմոնը գործարկելու պարամետրերի սահմանման խնդրին syslogd, եկեք ավելի մոտիկից նայենք այս հարցին: Ինչպես արդեն նշվեց, երկու գրանցման դևոններն էլ սկսվում են համակարգի սկզբնավորման փուլում, իսկ ավելի կոնկրետ՝ սցենարի միջոցով։ /etc/rc.d/init.d/syslog(որոնց համար, ինչպես նաև այլ ծառայություններ սկսելու սկրիպտների համար, /etc/rc.d/rc?.d/ գրացուցակներում ստեղծվում են խորհրդանշական հղումներ)։ Այնուամենայնիվ, գործարկման պարամետրերը սահմանելու համար այս սկրիպտը կարգավորելու կարիք չկա, քանի որ սկսած Red Hat բաշխման 7.2 տարբերակից, երկու դևերի գործարկման տարբերակները կարդացվում են առանձին կազմաձևման ֆայլից: / etc / sysconfig / syslog... Ահա դեյմոնի հնարավոր պարամետրերի կարճ ցուցակը syslogd.

    Գործարկման պարամետրեր syslogd:

    • - վարդակից- Նշում է լրացուցիչ վարդակ, որին դեյմոնը կլսի syslogd... Դուք կարող եք նշել մինչև 19 վարդակներ (կարելի է նշել ավելին, բայց դուք պետք է նորից կազմեք փաթեթը): Այս ընտրանքն օգտագործվում է, երբ որևէ այլ դևոն (օրինակ՝ ftp կամ http) աշխատում է սահմանափակ միջավայրում (կատարում է chroot):
    • - Վրիպազերծման ռեժիմ: Այս դեպքում դեյմոնը չի անցնում հետին պլան և թողարկում է բոլոր հաղորդագրությունները ընթացիկ տերմինալին:
    • -f config_file_nameՆշում է այլընտրանքային կազմաձևման ֆայլի անունը, որը կօգտագործվի լռելյայնի փոխարեն /etc/syslog.conf.
    • Լռելյայն մուտքագրված է sysklogdԱրգելվում է ցանցով ստացված հաղորդագրությունների փոխանցումը որևէ այլ համակարգչի: Դա արվում է ռինգի շուրջ անվերջ հաղորդագրությունների փոխանցումներից խուսափելու համար: -h տարբերակը թույլ է տալիս փոխել սովորական վարքագիծը և ապահովել, որ հեռավոր հոսթներից ստացված հաղորդագրությունները փոխանցվեն ցանցի երկայնքով (և ինքներդ հոգ տանեք հնարավոր օղակի մասին):
    • -l host-list- Նշում է հոսթինգների ցանկը, որոնց անունները չպետք է գրանցվեն տիրույթի ամբողջական անվան նշումով (FQDN - Full Qwalified Domain Name); ցուցակում անունները բաժանված են երկու կետով:
    • -մ րոպեՍկսվել է առանց այս տարբերակի sysklogdպարբերաբար (յուրաքանչյուր 20 րոպեն մեկ) գրանցում է կատեգորիայի հաղորդագրությունները նշագծել, այսինքն՝ ընդամենը ժամանակային կնիքներ։ Տարբերակով Դուք կարող եք կամ փոխել նշանների միջև ընկած ժամանակահատվածը, կամ ամբողջությամբ չեղարկել նման հաղորդագրությունների թողարկումը, որի համար անհրաժեշտ է սահմանել զրոյական ընդմիջում. -մ 0.
    • -nՄի անցեք հետին պլան; այս տարբերակը անհրաժեշտ է, երբ syslogd-ը գործարկվում և վերահսկվում է գործընթացով սկզբում.
    • -p վարդակիցՆշում է այլընտրանքային UNIX վարդակից (կանխադրված լսելու փոխարեն / dev / տեղեկամատյան): Խնդրում ենք նկատի ունենալ. տարբերակ սահմանում է լրացուցիչ վարդակներ, և -էջ- այլընտրանք!
    • Թույլատրել հաղորդագրություններ ստանալ հեռավոր հյուրընկալողներից: Այս մասին մենք խոսեցինք նախորդ բաժնում, ուստի ես բաց եմ թողնում մանրամասները:
    • -s տիրույթի ցուցակՆշում է այն տիրույթների ցանկը, որոնց անունները պետք չէ մուտքագրել հոսթի անվան հետ մեկտեղ (այսինքն, այս տիրույթների համար մուտքագրվելու են միայն հոսթների անունները լրիվ որակավորված տիրույթի անվան (FQDN) փոխարեն: Ցանկում անուններն առանձնացված են: Դոմենի անվանումը, որտեղ գտնվում է syslogd սերվերը), այն պարտադիր չէ, որ նշվի այս ցանկում (նրա անունը լռելյայն հանված է):
    • -vՑույց տալ տարբերակը և դուրս գալ:
    • -xԱրգելում է որոշել հոսթի անունը իր հասցեով, կանխում է փակուղին DNS սերվերի հետ նույն հոսթի վրա աշխատելիս:

    Դեմոնը սկսելուց հետո syslogdստեղծվում է կարգավիճակի ֆայլ / var / lock / subsys / syslogզրոյական երկարություն և ֆայլ՝ գործընթացի ID-ով /var/run/syslogd.pid.

    Օգտագործելով հրամանը
    kill -SIGNAL «cat / var / run / syslogd.pid»:
    կարող ես դև ուղարկել syslogdհետևյալ ազդանշաններից մեկը.

    • SIGHUP - վերագործարկեք daemon-ը (վերսկսել); բոլոր բաց ֆայլերը փակվում են, դեյմոնը սկսում է նորից՝ նորից կարդալով իր կազմաձևման ֆայլը:
    • SIGTERM - անջատում:
    • SIGINT, SIGQUIT - եթե վրիպազերծման ռեժիմը միացված է (տարբերակ -d), ազդանշաններն անտեսվում են, հակառակ դեպքում՝ ելք:
    • SIGUSR1 - միացնել / անջատել վրիպազերծման ռեժիմը (աշխատում է միայն այն դեպքում, եթե դեյմոնը գործարկվել է -d անջատիչով):

    Դեյմոն կլոգդունի ոչ պակաս գործարկման տարբերակներ, քան syslogd, սակայն, մենք դրանք այստեղ չենք թվարկի՝ ընթերցողին ուղղորդելով համապատասխան մարդ-էջ (օգտագործողը չպետք է ներգրավված լինի կազմաձևման մեջ կլոգդ, ավելի լավ է թողնել այն նույն վիճակում, ինչ արտադրվել է բաշխիչ փաթեթի մշակողների կողմից):

    Dmesg ֆայլ և dmesg հրաման

    Ինչպես նշվեց, ֆայլում նշված տեղեկամատյանների ֆայլերը /etc/syslog.confսովորաբար գտնվում է գրացուցակում / var / logև դրա ենթացանցերը։ Բայց, եթե մենք նայենք այս գրացուցակում, ապա այնտեղ կգտնենք մի քանի ֆայլ, որոնք /etc/syslog.confչեն նշվել։ Եկեք նայենք դրանց նպատակին: Եվ եկեք սկսենք ֆայլից dmesg.

    Նախ նշենք, որ Linux-ն ունի նույն անունով հրաման։ Եթե ​​համեմատենք այս հրամանի ելքը (երբ այն աշխատում է առանց պարամետրերի) ֆայլի բովանդակության հետ. / var / log / dmesg, դուք կգտնեք, որ դրանք շատ նման են, թեև նույնական չեն (հրամանի ելքը փոխանցեք ֆայլին dmesg2և համեմատել ֆայլերը dmesgև dmesg2): Ավելի ճիշտ՝ ֆայլը / var / log / dmesgմեկը մեկին համընկնում է ելքի սկզբի հետ, որը մենք ստանում ենք հրամանով dmesg... Ինչպես հետևում է միջուկից, կա օղակաձև բուֆեր, որում գրվում են միջուկի գրանցման դեյմոնի հաղորդագրությունները: Այն հաղորդագրությունները, որոնք գրվում են այս բուֆերում ներբեռնման գործընթացում և կազմում են ֆայլի բովանդակությունը / var / log / dmesg... Ըստ երևույթին, այս ֆայլը ստեղծվում է համակարգի բեռնման վերջում:

    Եթե ​​նորից նայեք վերը նշված ֆայլերի ցանկին /etc/syslog.confապա կտեսնեք, որ կատեգորիայի բոլոր գրառումները միջուկթողարկվում են նաև կոնսոլին: Բայց այնտեղ նրանք արագ վազում են էկրանին, և հազիվ թե ժամանակ ունենաս դրանք կարդալու և հասկանալու համար: Բայց դրանք պահվում են ֆայլում / var / log / dmesgև այդպիսով հասանելի են հանգիստ ըմբռնման համար (եթե ներբեռնման գործընթացը հաջողությամբ ավարտվել է): Բեռնման գործընթացի ավարտից հետո միջուկից հաղորդագրություններ գրելը շրջանաձև բուֆեր շարունակվում է: Երբ հրամանը կատարվում է dmesg, ցուցադրվում է բուֆերի ներկա վիճակը: Հետևաբար, այս հրամանի ելքը պարունակում է ավելի շատ հաղորդագրություններ, քան ֆայլը / var / log / dmesgԱյս հրամանի ելքում դուք նաև տեսնում եք այն հաղորդագրությունները, որոնք միջուկը թողարկում է բեռնման գործընթացի ավարտից հետո:

    Բոլոր հաղորդագրությունները / var / log / dmesgդուք կգտնեք ֆայլում / var / log / հաղորդագրություններ, միայն այնտեղ նրանք փոխարինում են այլ ծրագրերի հաղորդագրություններով։ Միայն մեկ էական տարբերություն կա՝ ֆայլում dmesgհաղորդագրության ժամանակը և աղբյուրը (հյուրընկալողի անունը և հաղորդագրության կատեգորիան) նշված չեն: Հոսթն այստեղ միշտ «տեղական» է, և հետհաշվարկի սկիզբը որոշվում է համակարգչի վերջին վերագործարկումով։

    Lastlog, wtmp և utmp ֆայլեր

    Բացի ֆայլից dmesgկատալոգում / var / log /կա ևս երկու ֆայլ, որոնք նշված չեն /etc/syslog.conf, բայց ուղղակիորեն կապված է անտառահատումների հետ՝ սրանք ֆայլեր են lastlogև wtmp... Բայց նրանց նայելը նույնն է, ինչ մենք նայում էինք ֆայլին / var / log / հաղորդագրություններիմաստ չունի - ոչինչ չես հասկանա: Փաստն այն է, որ այս ֆայլերում տեղեկատվությունը գրանցվում է հատուկ ձևաչափով, և այն պետք է դիտվի հատուկ ծրագրաշարի միջոցով: Բայց նախ պետք է մի քանի խոսք ասել այս ֆայլերի նպատակի մասին։

    Ֆայլ lastlogպահպանում է տեղեկատվությունը համակարգ օգտագործողի վերջին մուտքի մասին: Չգիտեմ՝ նկատել եք արդյոք, որ երբ մուտքագրում եք օգտանունը և գաղտնաբառը, էկրանին հայտնվում է հետևյալ հաղորդագրությունը.

    Localhost մուտք. kos Գաղտնաբառ. Վերջին մուտք. Չորեք հոկտեմբերի 9 19:25:53 tty1-ին Այս երեք տողերը ստեղծվել են օգտակար ծառայության կողմից մուտք, որը, որոշելով, որ օգտատերը մուտք գործելու իրավունք ունի, մուտք է գործում ֆայլ / var / log / lastlog, այնտեղից առբերում է օգտատերերի նախորդ հաջող մուտքի մասին տեղեկությունները, տպում այն ​​էկրանին և այնուհետև թարմացնում ֆայլի մուտքը lastlog... Դուք կարող եք ճնշել այս հաղորդագրությունը՝ ստեղծելով դատարկ .hushlogin ֆայլ ձեր հիմնական գրացուցակում: Սակայն խորհուրդ չի տրվում դա անել, ավելի շուտ, ընդհակառակը, պետք է հատուկ ուշադրություն դարձնել այս հաղորդագրության բովանդակությանը, որպեսզի բաց չթողնեք դեպքերը, երբ ձեր անունով մեկ ուրիշը մուտք է գործել համակարգ։

    Ի տարբերություն ֆայլի / var / log / lastlogորը պարունակում է ժամանակի գրառումներ Վերջինյուրաքանչյուր օգտագործողի մուտքը ֆայլում / var / log / wtmpհիշվում են բոլորըօգտատերերի մուտքերը և ելքերը այս ֆայլի ստեղծման պահից: Ինչպես ֆայլում lastlog, մուտքերը / var / log / wtmpպատրաստված են հատուկ ձևաչափով, ուստի դրանք կարող են դիտվել միայն հատուկ հրամանների միջոցով: Բայց, նախքան այս հրամանների մասին խոսելը, ասենք, որ կա մեկ այլ ֆայլ, որը պարունակում է գրառումներ օգտվողների գրանցման մասին. սա է ֆայլը: / var / run / utmp... Այս ֆայլը պարունակում է տեղեկատվություն այն մասին, թե որ օգտվողն է ներկայումս մուտք գործել համակարգ:

    Այժմ դուք կարող եք խոսել այն մասին, թե ինչպես դիտել տեղեկատվությունը համակարգում առկա կամ նախկինում օգտագործված օգտվողների մասին: Դրա հիմնական հրամանը հրամանն է վերջին... Այն թողարկում է բոլոր գրառումները ֆայլից / var / log / wtmp, և օգտատիրոջ անունը, տերմինալի նշումը, որտեղից աշխատել է օգտատերը, օգտատերի մուտքի ժամանակը և դուրս գալու ժամանակը, ինչպես նաև համակարգում օգտագործողի նիստի տևողությունը: Եթե ​​օգտատիրոջ աշխատանքը ընդհատվել է միայն համակարգի անջատման պատճառով, ապա օգտագործողի ելքի ժամանակի փոխարեն օգտագործվում է «down» բառը (այս տողերը հեշտությամբ կարող են որոշել համակարգի անջատման ժամանակը): Վերագործարկման ժամանակը ցուցադրվում է «վերագործարկում» բառով սկսվող առանձին տողերում:

    Հրաման վերջին բթիմի նման վերջինբայց ցուցադրում է օգտատերերի մուտքի անհաջող փորձերի մասին տեղեկատվություն: Այնուամենայնիվ, հարկ է նշել, որ այս հրամանը կաշխատի միայն ֆայլի առկայության դեպքում: / var / log / btmp... Այնուամենայնիվ, այստեղ քննարկված ծրագրերից և ոչ մեկը չի ստեղծում գրանցամատյանների ֆայլեր, այնպես որ, եթե դրանցից որևէ մեկը ջնջվի, ապա ձայնագրությունն ավարտվում է:

    Հրաման lastlogձևաչափում և թողարկում է ֆայլի բովանդակությունը / var / log / lastlog... Դաշտերը կլինեն օգտվողի անունը, տերմինալի անունը, որտեղից օգտվողը մուտք է գործել, և համակարգ վերջին մուտքի ժամանակը: Լռելյայն (երբ հրամանը մուտքագրվում է առանց պարամետրերի) ֆայլի տարրեր / var / log / lastlogկցուցադրվի օգտվողի ID համարների հերթականությամբ: Եթե ​​նշեք -u login-name պարամետրը, ապա կցուցադրվի միայն նշված օգտատիրոջ վերջին մուտքի ժամանակի մասին տեղեկատվությունը: Նշելով -t օր պարամետրը, դուք կստանաք միայն վերջին օրերի գրառումները: Եթե ​​օգտվողն ընդհանրապես մուտք չի գործել համակարգ, ապա տերմինալի անվան և վերջին մուտքի ժամանակի փոխարեն կցուցադրվի «** Երբեք մուտք չեք գործել **» տողը:

    Հրամանը կատարելիս lastlogդանդաղ համակարգչի վրա, որոշ դեպքերում կարող է թվալ, որ հրամանը խրված է: Դա տեղի է ունենում այն ​​պատճառով, որ նույնիսկ եթե համակարգում գրանցված են ընդամենը երկու օգտվող (արմատ և օգտվող), ֆայլում. / var / log / lastlogդեռ տեղ կա հնարավորինս շատ օգտվողների համար, ովքեր կարող են աշխատել համակարգում: Հետեւաբար, ֆայլում / var / log / lastlogհամակարգ մուտք գործած օգտատերերի ID համարների միջև կարող են լինել մեծ բացեր: Քանի որ նման ինտերվալները դիտելիս ծրագիրը էկրանին տեղեկատվություն չի ցուցադրում, և առաջանում է «սառչելու» տպավորություն։

    Տեղեկություններ ցուցադրելու համար, թե ովքեր են ներկայումս աշխատում համակարգում, օգտագործեք հրամանները w, ԱՀԿև օգտվողներ... Հրաման օգտվողներայն օգտագործվում է միայն այն դեպքում, երբ դուք միայն ցանկանում եք իմանալ, թե օգտատերերից ով է ներկայումս աշխատում համակարգում, բայց ձեզ չի հետաքրքրում, թե որ տերմինալից են նրանք միացել և ինչ են անում: Եթե ​​ցանկանում եք իմանալ, թե ով որ տերմինալից է մուտք գործել, օգտագործեք հրամանը ԱՀԿ... Այս հրամանը տեղեկատվություն է դուրս բերում ֆայլից / var / run / utmp... Դուք կարող եք այն դարձնել ելքային տվյալներ ֆայլից / var / log / wtmp(կամ ցանկացած այլ ֆայլ, որի համար իմաստ ունի), եթե հրամանի տողում նշեք այդ ֆայլի անունը։ Բայց ելքում դուք դեռ կտեսնեք միայն օգտվողի անունը, տերմինալի նշումը, որից օգտվողը մուտք է գործել, մուտքի ժամանակը և, եթե մուտք է գործել հեռավոր համակարգչից, այս համակարգչի անունը:

    Զգալիորեն ավելի շատ տեղեկատվություն ցուցադրվում է հրամանով w... Դրա թողարկումում դուք կտեսնեք ընթացիկ ժամանակը, որքան ժամանակ է համակարգը աշխատում, քանի օգտվող է ներկայումս աշխատում համակարգում և համակարգի միջին ծանրաբեռնվածությունը վերջին րոպեի համար՝ 5 և 15 րոպե: Այնուհետև յուրաքանչյուր օգտագործողի համար այն տպում է.

  • Օգտագործողի անունը,
  • տերմինալի անվանումը,
  • հեռավոր հոսթի անունը
  • մուտքից հետո անցած ժամանակը,
  • ժամանակ, որի ընթացքում այս տերմինալը չի ​​օգտագործվում (անգործության ժամանակ),
  • այս տերմինալից գործարկված բոլոր գործընթացների ծախսած ընդհանուր ժամանակը (JCPU գրաֆիկ),
  • այն ժամանակը, որի ընթացքում գործարկվում է օգտագործողի կողմից սկսված վերջին գործընթացները (PCPU գրաֆիկ),
  • տեղեկատվություն այն մասին, թե որ ծրագիրն է ներկայումս իրականացվում օգտագործողի կողմից (հրամանի տողի տեսքով՝ բոլոր պարամետրերով հրաման սկսելու համար):

    Ինչպես արդեն նշվեց, հրաման wթողարկում է ֆայլում պահված տեղեկատվությունը utmp... Ի դեպ, ուղեցույցը մարդնշում է, որ սովորական օգտատերերին պետք է մերժել մուտք գործել ֆայլ utmpքանի որ շատերը համակարգային ծրագրեր(ինչ-որ անհասկանալի պատճառով) կախված է դրա ամբողջականությունից: Դուք վտանգում եք շփոթեցնել համակարգի վիճակագրության ֆայլերը և փոփոխություններ կատարել համակարգի ֆայլերում, եթե թույլ տաք որևէ օգտվողի գրել utmp ֆայլ:

    Այլ ծրագրերի գրանցամատյանների ֆայլեր

    Բացի այն ֆայլերից, որոնք մենք արդեն նկարագրել ենք, կան նաև այլ մատյան ֆայլեր, որոնք ստեղծվում են առանձին ծրագրերով: Ամենաբնորոշ օրինակները դևերի արձանագրություններն են։ սամբա, ftpdկամ httpdորոնք պահվում են առանձին ֆայլերում։ Այս ծրագրերից ոմանք ստեղծում են իրենց արձանագրությունները գրացուցակի ենթագրքերում / var / log /մյուսներն արձանագրությունները պահում են այլ տեղ: Եվ այս ֆայլերի կառուցվածքը կարող է զգալիորեն տարբերվել համակարգի կողմից ստեղծված ֆայլերի կառուցվածքից: syslog... Օրինակ, ես մի քանի տող կտամ սերվերի արձանագրությունից Ապաչիաշխատում է իմ համակարգչով․ 0) Gecko / 20020530 "192.168.36.21 - -" GET /icons/back.gif HTTP / 1.1 "304 -" - "" Mozilla / 5.0 (X11; U; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20020530 "192.168.36.21 - -" GET /icons/folder.gif HTTP / 1.1 "304 -" - "" Mozilla / 5.0 (X11; U; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20020530 "192.168.36.21 - -" GET /icons/text.gif HTTP / 1.1 "304 -" - "" Mozilla / 5.0 (X11; U; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20 192.168.36.21 - -" GET /ve/papers/new/log/protok_lovim.htm HTTP / 1.1 "200 46597" http: // linux / ve / papers / նոր / log / "" Mozilla / 5.0 (X11; U ; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20020530 "192.168.36.21 - -" GET /bugtraq.css HTTP / 1.1 "404 279" http: // linux / ve / papers / new / protok_im / .htm "" Mozilla / 5.0 (X11; U; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20020530 "192.168.36.21 - -" GET /img/bug1.gif HTTP / 1.1 "404" // linux / ve / papers / new / lo g / protok_lovim.htm "" Mozilla / 5.0 (X11; U; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20020530 "192.168.36.21 - -" GET /img/title.gif HTTP / 1.1 "404 281" http: //linux/ve/papers/new/log/protok_lovim.ht "" /5.0 (X11; U; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20020530 «Ինչպես տեսնում եք, այս log ֆայլի կառուցվածքը զգալիորեն տարբերվում է այն ամենից, ինչ մենք տեսանք համակարգի տեղեկամատյաններում:

    Samba սերվերը, բացի հիմնական սերվերի շահագործման արձանագրությունից, ստեղծում է ենթագրքում / var / log / sambaմի շարք տեղեկամատյանների ֆայլեր տարբեր դեպքերի համար, մասնավորապես՝ առանձին ֆայլեր այն օգտվողներից յուրաքանչյուրի համար, որոնց թույլատրվում է օգտագործել այս սերվերի տրամադրած ռեսուրսները։ Այսպիսի մեկ ֆայլից վերցված են հետևյալ երկու գրառումները.

    Smbd / service.c: make_connection (550) linux (192.168.36.10) միացեք ծառայությանը հանրայինին որպես օգտվողի kos (uid = 500, gid = 500) (pid 1366) smbd / service.c: close_cnum (550) linux (192. 36.10) փակ կապ ծառայության հանրության հետ Այս օրինակները ցույց են տալիս, որ եթե դուք կարող եք մի փոքր կարդալ անգլերեն և որոշակիորեն հասկանալ գրառումների կառուցվածքը, կարող եք շատ օգտակար տեղեկատվություն հանել մատյան ֆայլերից: Միայն այն պետք է արդյունահանվի «թափոն ժայռի» ամբողջ հանքավայրերից՝ հսկա հաջորդական մատյան ֆայլերից, ինչը ոչ տրիվիալ խնդիր է: Այդ պատճառով մշակվել են արձանագրությունների վերլուծության հատուկ ծրագրային գործիքներ:

    Արձանագրությունների մշակման գործիքներ

    Մշակվել են բազմաթիվ տարբեր ծրագրեր և սցենարներ արձանագրության վերլուծության համար: Ես կսահմանափակվեմ ինձ Համառոտ նկարագրությունըերկու նման միջոցներ. ժամացույցև նմուշ.

    ժամացույց Perl-ի սցենար է, որը ներառված է Red Hat Linux-ի ստանդարտ բաշխման հետ: Հենց այս հոդվածի պատրաստման ժամանակ մշակողի կայքում թողարկվեց այս ծրագրի 4.1 տարբերակը (և նա Քըրք Բաուերն է):

    Այս ծրագրի հիմքում ընկած հիմնական գաղափարն այն է, որ գրանցամատյանի ֆայլը փոխանցվում է ֆիլտրի միջով, որը գրանցամատյանից հանում է բոլոր տողերը (այսինքն՝ հաղորդագրությունները), որոնք համապատասխանում են տվյալ չափանիշին: Արդյունքները էլեկտրոնային փոստով ուղարկվում են նշված օգտվողին (կանխադրվածը արմատ է): Զտիչները կարող են գրվել ցանկացած ծրագրավորման լեզվով, սակայն փաթեթի հեղինակը նախընտրում է Perl-ը։ Զտիչները պետք է գրվեն այնպես, որ նրանք կարդան տվյալները stdin-ից և արդյունքը թողարկեն stdout:

    Օգտագործման հիմնական միջոցը ժամացույցբաղկացած է հիմնական սցենարի հղումը ներառելուց ( /etc/log.d/scripts/logwatch.pl) դեպի /etc/cron.daily գրացուցակը, որն առաջացնում է ամենօրյա կատարումը ժամացույցլռելյայն պարամետրերով: Հղմանը տրվում է անուն, որը սկսվում է «00»-ով (օրինակ՝ 00-logwatch), որպեսզի սկրիպտը աշխատի մինչև logrotate-ը:

    Բայց դուք կարող եք գործարկել սցենարը նաև հրամանի տողից: Իհարկե, եթե դուք չեք փոխել տեղեկատվության թողարկման պարամետրը, ապա դրա աշխատանքի արդյունքը պետք է փնտրել գերօգտագործողի փոստարկղում: Եթե ​​ցանկանում եք տեսնել այս արդյունքները էկրանին, ապա պետք է սահմանեք հրամանի տողի պարամետրը -- տպել- հաշվետվություն տալ stdout-ին:

    Սցենարների գործարկման ընդհանուր ձևաչափ.

    /etc/log.d/scripts/logwatch.pl [--մանրամասնմակարդակ ] [--logfileխումբ-տեղեկամատյաններ ] [--ծառայությունծառայության անվանումը ] [--տպել] [--mailtoհասցեն ] [--պահպանելՖայլի անունը ] [--արխիվներ] [--տիրույթամսաթիվ-ինտերվալ ]

    Լռելյայն պարամետրերը պահվում են /etc/log.d/logwatch.conf ֆայլում, մեկնաբանություններ, որոնցում թույլ են տալիս հասկանալ հրամանի տողի պարամետրերի իմաստը.

    • LogDir - գրացուցակ, որի հետ կապված են ֆայլերի անունները.
    • MailTo - ում ուղարկել զեկույցը;
    • Տպել - հաշվետվություն փոստով ուղարկելու փոխարեն, թողարկեք այն stdout-ին;
    • Պահպանել - հաշվետվությունը փոստով ուղարկելու փոխարեն, պահպանեք այն նշված ֆայլում;
    • Արխիվներ - մշակել ոչ միայն տեղեկամատյանների ընթացիկ տարբերակները, այլև logrotate-ի կողմից ստեղծված հին պատճենները.
    • Շրջանակ - մշակել նշված ժամանակային միջակայքը. Բոլորը, Այսօր, Երեկ (երեկվա օրացուցային օր);
    • Մանրամասն - հաշվետվության մանրամասնության մակարդակ. 0-ից 10 կամ ցածր, միջին, բարձր;
    • Ծառայություն - Բոլորը կամ ֆիլտրի անունը /etc/log.d/scripts/services/-ից (կարելի է նշել բազմաթիվ զտիչներ);
    • LogFile - Մատյանների խմբի բոլորը կամ անունը (կարելի է նշել մի քանի խմբեր):

    Լրացուցիչ տեղեկություններ սցենարի մասին ժամացույցդուք կգտնեք մեջ.

    Այս հոդվածը նկարագրում է մատյան ֆայլերի մշակման մեկ այլ սցենար, որն ընդգրկված է Mandrake Linux բաշխման մեջ: Այս սցենարը կոչվում է նմուշ(«Simple WATCHer») և գրված է նաև Perl-ով։

    Աշխատանքի կառավարում նմուշլռելյայն իրականացվում է մեկ կազմաձևման ֆայլի միջոցով $ HOME / .swatchrc... Այս ֆայլը պարունակում է օրինակելի տեքստ (կանոնավոր արտահայտության ձևով), որը նմուշկփնտրի մատյանների ֆայլերը: Յուրաքանչյուր նման օրինակին հաջորդում է մի գործողություն, որը նմուշպետք է վերցնի, եթե գտնի տեքստը, որը համապատասխանում է օրինաչափությանը:

    Օրինակ, դուք կարող եք նախազգուշացում ստանալ ամեն անգամ, երբ փորձում եք բուֆերային հարձակման հարձակում գործել ձեր վեբ սերվերի վրա շատ երկար ֆայլի անվան համար: Եվ դուք գիտեք, որ նման դեպքերում գրանցամատյանի ֆայլում /var/apache/error.logհայտնվում է հաղորդագրություն «Ֆայլի անունը չափազանց երկար» բառերով։ Այս դեպքում ձեր ֆայլին .swatchrcպետք է տեղադրվի հետևյալ նշումը.

    Watchfor / Ֆայլի անունը չափազանց երկար / փոստ [էլփոստը պաշտպանված է], առարկա = BufferOverflow_attempt

    Ծրագրի ավելի մանրամասն նկարագրությունն այստեղ չեմ տա։ նմուշ... Դրան նվիրված է խանդավառ հոդված, և հենց ծրագիրը կարելի է գտնել կայքում: Կցանկանայի միայն նշել, և նմուշ, և ժամացույցներդնել գրանցամատյանների ֆայլերի մշակման բավականին պարզունակ ալգորիթմ, որը հանգում է արձանագրության մեջ տվյալ նիշերի տողի (ստորագրության) որոնմանը: Մինչդեռ նախ՝ նման գծի առկայությունը հաճախ դեռ չի վկայում ներխուժողի ներխուժման մասին, և երկրորդ՝ գրագետ հարձակվողը կարող է հոգ տանել ջնջելու իր գործունեության հետքերը։ Վերանայված արտադրանքի մեկ այլ ակնհայտ թերությունն այն է, որ դրանք աշխատում են «հետաձգված ռեժիմով», քանի որ դրանք գործարկվում են միայն ժամանակացույցով: Իսկ ներխուժողների դեմ պայքարը պետք է իրականացվի «իրական ժամանակում»՝ անմիջապես արձագանքելով համակարգ ներթափանցելու փորձերին։ Հետևաբար, առևտրային ապրանքներն առաջարկում են մոնիտորինգի համակարգեր, որոնք աշխատում են անընդհատ և իրականացնում են արձանագրությունների վերլուծության «խելացի» ալգորիթմներ: Այս ալգորիթմները հիմնված են հաղորդագրությունների հոսքի վիճակագրական վերլուծության և համակարգի սովորական վարքագծից վիճակագրորեն նշանակալի շեղումների հայտնաբերման վրա:

    Եզրափակելով այս հատվածը՝ ես կցանկանայի նշել, որ SecurityLab.ru կայքը (http://www.securitylab.ru/tools/?ID=22111) պարունակում է հղումների ցանկ՝ դեպի տարբեր ծրագրային գործիքների կայքեր՝ արձանագրությունների մշակման համար։ այս գործիքների համառոտ նկարագրությամբ: Դուք կարող եք փորձարկել տարբեր ծրագրեր և ընտրել այն, որը հարմար է ձեզ:

    Պտտվող մատյան ֆայլեր

    Դուք, իհարկե, կհասկանաք, որ եթե համակարգը շատ է օգտագործվում, ապա գրանցամատյանների ֆայլերը արագորեն աճում են: Ինչը ենթադրում է սկավառակի տարածության վատնում: Իսկ արձանագրությունները «սանձելու» խնդիր է առաջանում։ Red Hat Linux-ը լուծում է այս խնդիրը սկրիպտների միջոցով: լոգրոտացնելորը գտնվում է գրացուցակում /etc/cron.daily, և, հետևաբար, սկսվում է դեյմոնի կողմից քրոնօրական. Այս սցենարը թույլ է տալիս մշակել ոչ միայն համակարգի տեղեկամատյանները syslog, այլ նաև ցանկացած այլ ծրագիր:

    Սցենար լոգրոտացնելվերահսկում է գրանցամատյանների ֆայլերի աճը և ապահովում է այդ ֆայլերի այսպես կոչված ռոտացիան, եթե դրանք գերազանցել են նշված չափը (կամ սահմանված ժամանակային ընդմիջումից հետո): Պտտումը ոչ այլ ինչ է, քան արխիվային ֆայլերի նախորդ տարբերակների հաջորդական պատճենումը, ինչպես հետևյալը.

  • հաղորդագրություններ.2 -> հաղորդագրություններ.3
  • հաղորդագրություններ.1 -> հաղորդագրություններ.2
  • հաղորդագրություններ.0 -> հաղորդագրություններ.1
  • հաղորդագրություններ -> հաղորդագրություններ.0
    և ստեղծել նոր հաղորդագրությունների ֆայլ՝ հետագա հաղորդագրությունները ձայնագրելու համար:

    Ֆայլերի ցանկ, որոնք պետք է մշակվեն սցենարով լոգրոտացնելև այս մշակման պարամետրերը որոշվում են կազմաձևման ֆայլերով, որոնցից կարող են լինել մի քանիսը: Կազմաձևման ֆայլերի անունները դրված են սկրիպտի գործարկման հրամանի տողում (տե՛ս ստորև՝ գործարկման պարամետրերի համար): Red Hat Linux-ում, կանխադրված կազմաձևման ֆայլերը լոգրոտացնելօգտագործված ֆայլ /etc/logrotate.conf, որը կարող է այսպիսի տեսք ունենալ.

    Շաբաթական պտտել 4 ստեղծել կոմպրես, ներառել /etc/logrotate.d / var / log / wtmp / var / log / lastlog (ամսական ստեղծել 0664 root utmp պտտել 1)

    Այս ֆայլը նման է սցենարի ցանկացած կազմաձևման ֆայլին: լոգրոտացնելբաղկացած է մի քանի բաժիններից. Առաջին բաժինը սահմանում է գլոբալ պարամետրեր (մեկ տողում), որոնք սահմանում են լռելյայն պարամետրեր բոլոր տեղեկամատյանների համար: Հետևյալ բաժինները սահմանում են լոկալ պարամետրեր մի շարք մատյան ֆայլերի համար: Այս ֆայլերի անունները նշված են բաժնի առաջին տողում, այնուհետև տեղական պարամետրերը տեղադրվում են գանգուր փակագծերում, որոնք արդյունավետ են միայն նշված ֆայլերը մշակելիս (նաև յուրաքանչյուր տողում մեկ պարամետր): Մատյան ֆայլերի անունները կարող են մեջբերվել shell կանոններով, եթե դրանք պարունակում են բացատներ կամ այլ հատուկ նիշեր: Դուք կարող եք նշել մի քանի ֆայլի անուններ կամ ֆայլերի անունների նախշեր՝ բաժանված բացատներով (նախշերը նաև հետևում են կեղևի կանոններին): Յուրաքանչյուր հատվածի մշակումը դիտվում է որպես մեկ գործողություն: «#» գրանշանով սկսվող տողերը մեկնաբանություններ են։ Տեղական պարամետրերը գերակայում են գլոբալ պարամետրերից:

    Կազմաձևման ֆայլի տրված օրինակում նախ նկարագրվում են գլոբալ պարամետրերը, այնուհետև առանձին բաժնում՝ / var / log / wtmp և / var / log / lastlog ֆայլերի մշակման պարամետրերը: Բացի այդ, գլոբալ պարամետրերի շարքում տրվում է հղում դեպի գրացուցակ /etc/logrotate.d, որի մեջ յուրաքանչյուր փաթեթ գրում է տեղական պարամետրեր իր տեղեկամատյանների համար:

    Գլոբալ պարամետրերի բաժնում, նախ և առաջ, դրված է հետևյալ պարամետրերից մեկը, որը որոշում է ֆայլի ռոտացիայի չափանիշը.

  • օրական- շարքի տարբերակների փոփոխությունը տեղի է ունենում ամեն օր,
  • շաբաթական- տարբերակի փոփոխությունը տեղի է ունենում շաբաթական,
  • ամսական- տարբերակի փոփոխությունը տեղի է ունենում ամսական,
  • չափը բայթ - տարբերակի փոփոխությունը տեղի է ունենում, եթե գրանցամատյանի չափը գերազանցել է բայթերի նշված թիվը. Դուք կարող եք օգտագործել «k» - կիլոբայթ - և «M» - մեգաբայթ վերջածանցները)

  • և պարամետր ներառումորին հաջորդում է մեկ այլ (լրացուցիչ) կազմաձևման ֆայլի անունը կամ նույնիսկ գրացուցակի անվանումը: Վերջին դեպքում, նշված գրացուցակի բոլոր ֆայլերը, բացառությամբ ենթատեղեկատուների, հատուկ ֆայլերի և բացառումների ցանկից վերջածանցներով ֆայլերի, համարվում են սկրիպտի կազմաձևման ֆայլեր: լոգրոտացնել(հրահանգ ներառումչի կարող օգտագործվել մի հատվածի ներսում, որը նշում է ֆայլերի խմբի մշակման պարամետրերը):

    Պարամետր պտտել թիվ կարելի է գտնել ինչպես գլոբալ, այնպես էլ տեղական պարամետրերի մեջ և որոշում է, թե քանի հին տարբերակ պետք է պահպանվի. եթե թիվը 0 է, ապա արձանագրության արխիվացված տարբերակները չեն ստեղծվում:

    Եթե ​​պարամետրը սահմանված է սեղմելապա հին տարբերակները սեղմվում են gzip-ի միջոցով, և եթե նշված է ոչ սեղմում- դրանք չեն նեղանում։ Պարամետր compresscmdթույլ է տալիս նշել, թե որ սեղմման ծրագիրը կօգտագործվի (լռելյայն gzip), և uncompresscmdսահմանում է ապակոմպրեսիոն ծրագիրը (կանխադրվածը ungzip է): սեղմումներսահմանում է սեղմման ծրագրի պարամետրերը. լռելյայն է «-9», այսինքն. առավելագույն սեղմում gzip-ի համար: Օգտագործելով պարամետրը compressextդուք կարող եք փոխել սեղմված ֆայլերի վերջածանցը և պարամետրը երկարաձգում վերջածանց նշում է պտտման ժամանակ ֆայլերի անուններին ավելացված վերջածանցը (սեղմման վերջածանցից առաջ):

    Կազմաձեւման ֆայլերում հայտնաբերված հիմնաբառերի շարքում բառերը հետշրջադարձև նախադրելորոնք ծառայում են որպես բաց փակագծեր՝ կազմաձևման ֆայլերում shell scripts ներառելու համար: Կազմաձևի ֆայլի բոլոր տողերը տողից հետշրջադարձդեպի գիծ վերջագիրԿատարվում են որպես shell հրամաններ log ֆայլի տարբերակը փոխելու գործընթացից հետո: Համապատասխանաբար, բոլոր տողերը գծից նախադրելդեպի գիծ վերջագիրկատարվում են նախքան տեղեկամատյանների ֆայլերի ռոտացիան։ Այս սկրիպտների օգնությամբ դուք կարող եք կազմակերպել պտտման ընթացքում գրանցամատյանների ֆայլերի մշակման տարբեր ընթացակարգեր։

    Օգտագործելով կազմաձևման ֆայլի այլ պարամետրեր, դուք կարող եք անտեսել մուտքի իրավունքները գրանցամատյանների ֆայլերին (եթե այս պարամետրը նշված չէ, օգտագործվում են հին log ֆայլի ատրիբուտները); նշեք, թե ում ուղարկել հաղորդագրություններ անտառահատումների համակարգի աշխատանքի սխալների մասին. ուղարկել գրանցամատյանի արխիվային պատճենը նշված օգտվողին. սահմանեք այն գրացուցակը, որտեղ կտեղափոխվեն արձանագրությունները տարբերակի փոփոխության ժամանակ (գրացուցակը պետք է գտնվի նույն տեղում ֆիզիկական սարք as / var / log) կամ նշեք գրացուցակի բացառման վերջածանցների ցանկը ներառում... Այս հատկանիշների և պարամետրերի (ինչպես նաև չնշվածների) մանրամասն նկարագրությունը կարելի է գտնել հրամանի տակ մարդ լոգոտատ.

    Ինչպես արդեն նշվեց, լրացուցիչ կազմաձևման ֆայլեր լոգրոտացնելկարող է նշվել սկրիպտի գործարկման հրամանի տողում: Դուք կարող եք նշել կամայական թվով անուններ կազմաձևման ֆայլերի կամ գրացուցակների համար: Այս ցանկում ֆայլերի և գրացուցակների անունները պարզապես բաժանված են բացատներով: Ցանկում անունների հերթականությունը կարևոր է, քանի որ հետևյալ կազմաձևման ֆայլում նշված պարամետրերը գերազանցում են նշված պարամետրերի արժեքները. նախորդ ֆայլը... Կազմաձևման գրացուցակում ֆայլերի հերթականությունը որոշված ​​չէ:

    Բացի այդ, գործարկման հրամանի տողում կարելի է նշել հետևյալ պարամետրերը.

    • - վրիպազերծման ռեժիմ, իրական փոփոխություններ չեն կատարվում,
    • - փոփոխություններ կատարեք, նույնիսկ եթե լոգրոտացնելանհրաժեշտություն չի տեսնում - այն օգտագործվում է մշակված տեղեկամատյանների ցանկում փոփոխությունների համար,
    • մարդ ժամացույց
    • Միք Բաուեր, «Պարանոիդ պինգվին. նմուշ. մատյանների ավտոմատ մոնիտորինգ զգոն, բայց ծույլների համար»
    • RFC 3164. C. Lonvick, The BSD Syslog Protocol, օգոստոս 2001 թ.
    • RFC 3195. D. New, M. Rose, Reliable Delivery for syslog, Նոյեմբեր 2001:
    • Պեր. Ս.Լապշանսկի, «Դևը վերահսկում է համակարգը»
    • Դենիս Կոլիսնիչենկո,

    Syslog արձանագրությունը և աջակցող ծրագրակազմը ապահովում են իրադարձությունների մասին տեղեկատվության գրանցում համակարգի մատյանում (տեղեկամատյաններ, համակարգի վահանակ), ինչպես նաև դրանք փոխանցում է գրանցման սերվերին ցանցով, տեսակավորում և մշակում՝ կախված հաղորդագրությունների աղբյուրից և կարևորությունից: Այս հոդվածը նկարագրում է syslog արձանագրությունը, դրա ներդրումը Solaris-ում և Linux-ում (syslogd), Cisco IOS-ում և օժանդակ գործիքներում՝ logrotate, logwatch:

    Համակարգի բաղադրիչներն են՝ հաղորդագրության գեներատոր (սարք կամ գործընթաց), փոխանակման արձանագրություն, հաղորդագրությունների հավաքիչ (կոլեկցիոներ, սիստլոգ սերվեր), ռելեներ (ռելե, հաղորդագրություններ է ստանում մեկ կամ մի քանի գեներատորներից և փոխանցում մեկ կամ մի քանի կոլեկտորներին կամ հաջորդ ռելեներին): Գեներատորը (կամ փոխանցման ժամանակ ռելեը) չգիտի՝ ստացողը ռելե է, թե կոլեկցիոներ, նա կարող է մեկ հաղորդագրություն փոխանցել մի քանի ընդունիչների, կարող է ինքնին մշակել հաղորդագրությունը (օրինակ՝ գրելով ֆայլին)։

    Syslog արձանագրությունը չի պարունակում հաղորդագրությունների կեղծումից պաշտպանվելու որևէ միջոց: Ավելի վատ, UDP արձանագրության օգտագործումը հարձակվողներին թույլ է տալիս հաղորդագրություններ ուղարկել ցանկացած հյուրընկալողի անունից: Տեղական ցանցը պետք է պաշտպանված լինի էկրանով (IOS ACL, ipchains) կեղծ տեղական հասցեներով փաթեթներ ստանալուց (չնայած դա չի խանգարում տեղական ցանցի ներսից կեղծ հաղորդագրություններ ուղարկել) և 514 / udp նավահանգստի վրա դրսից փաթեթներ ստանալուց: Հայտնի են կեղծ հաղորդագրություններով սկավառակի լցվելու դեպքեր։

    Syslog արձանագրությունը և UDP-ն երաշխավորված առաքում չեն ապահովում (հաղորդագրությունները կարող են կորչել ցանցի գերբեռնվածության ժամանակ կամ ընդհատվել, կոռումպացված հաղորդագրությունները ջնջվում են առանց նախազգուշացման), առաքման ճիշտ հաջորդականություն (գործընթացի ավարտի մասին հաղորդագրությունը կարող է առաջանալ դրա մեկնարկի մասին հաղորդագրությունից առաջ։ ), առաջնահերթ առաքում։

    Հաղորդագրությունները գաղտնի չեն պահվում, քանի որ դրանք փոխանցվում են հստակ տեքստով:

    Եթե ​​հաղորդագրությունների գեներատորը կարգավորելիս նշեք կոլեկտորի կամ ռելեի սխալ հասցեն, ապա սխալի հաղորդագրություններ չեն լինի՝ հաղորդագրությունները կջնջվեն (կամ կգրվեն ուրիշի գրանցամատյանում;):

    Սխալ կազմաձևված ռելեների միջոցով հաղորդագրությունների փոխանցման օղակից պաշտպանության միջոցներ նախատեսված չեն:

    RFC 3195-ն առաջարկում է նոր արձանագրություն TCP-ի միջոցով (syslog-conn, 601)՝ ապահովելու առաքումը ճիշտ հաջորդականությամբ: Իրականացումը ինձ հայտնի չէ։ XML, SMTP ոճի հրամանների և վերադարձի կոդերի և MIME (BEEP) վերնագրերի հրեշավոր խառնուրդ՝ փաթեթավորված ստանդարտ syslog հաղորդագրություններով: Օգտագործվում է երկու ռեժիմ՝ RAW (ներկայիս UDP արձանագրության անալոգը) և COOKED (հաղորդագրությունները կառուցված են ըստ դաշտերի): BEEP-ը թույլ է տալիս նույնականացում, ամբողջականություն և գաղտնիություն (SASL, TLS):

    RFC-ի syslog-նշանն առաջարկում է ապահովել նույնականացում, պատվիրում, հաղորդագրությունների ամբողջականություն և բացակայող հաղորդագրությունների հայտնաբերում` ստեղծելով հատուկ հաղորդագրություններ, որոնք պարունակում են նախորդ հաղորդագրությունների բլոկի թվային ստորագրությունը, պահպանելով ստանդարտ syslog արձանագրությունը և ձևաչափը և օգտագործելով UDP: Օգտագործվում է SHA1, OpenPGP DSA-ի կողմից:

    Նավահանգիստ 514 / UDP օգտագործվում է հաղորդագրություններ ստանալու համար: Հաղորդագրությունների համար նաև խորհուրդ է տրվում օգտագործել աղբյուրի պորտը 514: Հաղորդագրությունը տեքստային տող է և չի կարող ունենալ 1024 բայթից ավելի երկարություն, հակառակ դեպքում թույլատրվում է այն կրճատել կամ նույնիսկ հեռացնել: Նույնիսկ 514 նավահանգիստ ուղարկված սխալ ձևով հաղորդագրությունը պետք է համարվի syslog հաղորդագրություն: Այնուամենայնիվ, եթե ռելեն ուղարկում է հաղորդագրությունը հետագա, ապա այն պետք է դրան ավելացնի ստանդարտ վերնագրեր (միևնույն ժամանակ, հնարավոր է, այն կտրվի մինչև 1024 բայթ) - ՕԳՏԱԳՈՐԾՈՂ, ԾԱՆՈՒՑՈՒՄ, դրա տեղական ժամանակը և հաղորդագրության աղբյուրի պարզ անվանումը:

    Հաղորդագրությունը սկսվում է PRI դաշտով, որը կոդավորում է հաղորդագրության հարմարությունը և Խստության մակարդակը: Դրան հաջորդում է ժամանակը (TIMESTAMP), բացատը, հյուրընկալողի անունը կամ IP հասցեն տասնորդական նշումով (HOSTNAME), տարածությունը, կամայական հաղորդագրության տեքստը (MSG) US-ASCII-ում (0x20 - 0x7e):

    Հյուրընկալողի անունը (պարզ, ոչ FQDN!) գրված է այնպես, ինչպես հայտնի է հաղորդագրություն գեներատորին: Եթե ​​սարքն ունի մի քանի ինտերֆեյս տարբեր IP հասցեներով, ապա դրանցից որևէ մեկը կարող է օգտագործվել որպես հոսթի անուն կամ հասցե:

    Հաղորդագրության տեքստը (MSG) սովորաբար պարունակում է պիտակ (TAG), որը նույնականացնում է հաղորդագրությունը թողարկած ծրագիրը կամ գործընթացը և հաղորդագրության մարմինը (CONTENT): Պիտակը կարող է պարունակել լատինական տառեր և թվեր։ Հաղորդագրության հիմնական տեքստի սկիզբը նույնացվում է առաջին հատուկ նիշով, սովորաբար երկու կետով կամ բացվող քառակուսի փակագծով: Օրինակ՝ Cisco IOS-ն օգտագործում է հաղորդագրության հաջորդական համարը, որին հաջորդում է երկու կետ՝ որպես պիտակ, իսկ Unix-ն օգտագործում է ծրագրի պարզ անուն (հաղորդագրության մարմինը սկսվում է պրոցեսի համարով՝ քառակուսի փակագծերում և երկու կետով)։

    syslogdհաղորդագրություններ է ստանում 514 / UDP պորտից և տեղական աղբյուրներից (վարդակից / մշակող / տեղեկամատյան) ՝ դրանք ուղղելով ՝ կախված հաղորդագրությունների աղբյուրից և խստության մակարդակից: Թույլ է տալիս հաղորդագրություններ ուղարկել տեղեկամատյան, մուտքագրել վահանակ, տերմինալ, ուղարկել մեկ այլ սերվեր: Ներդրված է լրացուցիչ աղբյուրի տեսակ MARK (սովորական նշաններ, տեղեկատվություն)

    Մատյան յուրաքանչյուր տող պարունակում է մեկ հաղորդագրության մուտք, որը բաղկացած է բացատներով առանձնացված դաշտերից.

    • ամսաթիվը ստանդարտ տեքստային ձևաչափով (TIMESTAMP դաշտ syslog հաղորդագրությունից)
    • hostname (fqdn կամ սղագրություն, HOSTNAME դաշտ syslog հաղորդագրությունից)
    • հաղորդագրության տեքստը (TAG և CONTENT դաշտերը syslog հաղորդագրությունից)

    Գործարկման պարամետրեր.

    • լրացուցիչ-լսողական-վարդակ (օգտակար է chroot անող դևերի համար, կարող են լինել մի քանիսը)
    • (վրիպազերծման ռեժիմ)
    • config-file-name (կանխադրված, /etc/syslog.conf)
    • (փոխել սովորական վարքագիծը, երբ հեռավոր հոսթներից ստացված հաղորդագրությունները չեն փոխանցվում հեռավոր հոսթի վրա գրելու համար՝ շրջապտույտից խուսափելու համար)
    • հյուրընկալող ցուցակ (հյուրընկալողների ցուցակը, որոնց անունները չպետք է գրվեն որպես FQDN, առանձնացված երկու կետով)
    • րոպե (կանոնավոր ժամանակավոր ձայնագրությունների ընդմիջում; լռելյայն - 20; եթե 0, ապա ընդհանրապես մի արեք)
    • -n
    • -էջ լսող-վարդակ (կանխադրված: / dev / տեղեկամատյան)
    • (թույլ տվեք ստանալ հաղորդագրություններ հեռավոր հոսթներից, firewall-ը պետք է մի փոքր բաց լինի, syslog 514 / udp-ի համար պետք է սահմանվի / etc / ծառայություններում)
    • տիրույթի ցուցակ (նշված տիրույթների անունները հանել հոսթների անուններից. առանձնացված երկու կետով; լռելյայնորեն, syslog սերվերի տիրույթին համապատասխանող տիրույթը կտրված է)
    • -v
    • -x(արգելում է որոշել հոսթի անունը իր հասցեով, կանխում է փակուղին DNS սերվերի հետ նույն հոսթի վրա աշխատելիս)

    Օգտագործված ֆայլեր.

    • /etc/syslog.conf- կազմաձևման ֆայլ (գործարկման ժամանակ փոխվել է ըստ պարամետրի )
    • / dev / տեղեկամատյան- վարդակից, որտեղից կարդացվում են տեղական հաղորդագրությունները (գործարկման ժամանակ փոխվում է ըստ պարամետրի -էջ)
    • /var/run/syslogd.pid- գործընթացի ID

    Արձագանք ազդանշաններին.

    • SIGHUP - վերապատրաստում (փակում է բոլոր ֆայլերը, նորից կարդում է կազմաձևման ֆայլը)
    • SIGTERM - անջատում
    • SIGINT, SIGQUIT - անջատում, եթե վրիպազերծումն անջատված է
    • SIGUSR1 - միացնել / անջատել վրիպազերծումը (միայն -d անջատիչն օգտագործելիս)

    Գործում է որպես արմատ: Չի փոխում ֆայլի թույլտվությունները: Եթե ​​նրան ստիպում են ֆայլ ստեղծել, նա դա անում է 644 իրավունքով, եթե անհրաժեշտ է սահմանափակել մուտքը գրանցամատյանում, ապա համապատասխան ֆայլը պետք է ձեռքով ստեղծվի (կամ փոխվի մուտքի իրավունքները)։ Ստեղծում է հատուկ խնդիրներ լոգրոտացնել.

    Դա հաղորդագրությունների երթուղային կանոնների մի շարք է: Յուրաքանչյուր կանոն բաղկացած է ընտրիչից և գործողությունից՝ բաժանված ներդիրներով (Solaris 5 հին համակարգերում) կամ բացատներով (Linux): Մատյանում գրվելու համար հաղորդագրություն ստանալուց հետո (klogd-ից, տեղական կամ հեռավոր ծրագրից), syslogd-ը ստուգում է յուրաքանչյուր կանոնի համար, թե արդյոք հաղորդագրությունը համապատասխանում է ընտրիչի կողմից նշված օրինակին: Եթե ​​կիրառելի է, ապա կատարվում է կանոնում նշված գործողությունը: Մեկ հաղորդագրության համար մ. կատարվել են կամայական թվով գործողություններ (այսինքն՝ հաղորդագրությունների մշակումը չի դադարում առաջին հաջողությամբ):

    Ընտրիչն ունի երկու մաս՝ բաժանված կետով՝ հաղորդագրության աղբյուրը և խստությունը: Մեծատառ և փոքրատառ տառերը նույնն են։ Կարող եք նաև օգտագործել թվեր (տես /usr/include/syslog.h): Բացի syslog.3-ում սահմանված աղբյուրներից, կարող եք նշել նշագծել(սովորական ժամանակի դրոշմանիշներ), անվտանգություն(հնացած հոմանիշ հեղինակություն): Բացի syslog.h-ում սահմանված խստության մակարդակներից, կարող եք օգտագործել զգուշացնել(հոմանիշը նախազգուշացում), սխալ(հոմանիշը սխալվել), խուճապ(հոմանիշը առաջանալ): Վավեր են համարվում այն ​​հաղորդագրությունները, որոնց մակարդակը հավասար է կամ ավելի բարձր, քան նշված է ընտրիչում և աղբյուրը հավասար է ընտրիչում նշվածին: Կետից առաջ աստղանիշը համապատասխանում է ցանկացած աղբյուրի, կետից հետո՝ ցանկացած մակարդակի: Խոսք ոչ ոքկետից հետո - այս աղբյուրի համար մակարդակ չկա: Դուք կարող եք նշել մի քանի աղբյուրներ մեկ ընտրիչում (բաժանված ստորակետներով): Մեկ տողում կարելի է նշել բազմաթիվ ընտրիչներ: Իմաստաբանությունը պարզ չէ. եթե օգտագործում եք դրական ընտրիչներ, ապա տրամաբանականը ԿԱՄեթե բացասական ( ոչ ոքև բացականչական նշան), ապա՝ տրամաբանական ԵՎ.

    Նոր syslogd-ում (linux) մակարդակին կարող է նախորդել հավասար նշան. միայն նշված մակարդակով (բայց ոչ ամենաբարձր) հաղորդագրությունները կհամապատասխանեն ընտրիչին; բացականչական նշան - հավասար կամ ավելի մակարդակ ունեցող հաղորդագրությունները չեն համընկնի. բացականչական նշանը և հավասարը չեն համընկնի նշված մակարդակին հավասար հաղորդագրությունների հետ:

    Որպես գործողություն, կարող եք նշել.

    • սովորական ֆայլի անունը (ամբողջական ուղին արմատից), մինուս անվան դիմաց անջատում է գրառումների համաժամացումը
    • անվանված ալիքներ - fifo (անվան դիմաց տեղադրված է ուղղահայաց գիծ), ալիքն ինքնին պետք է լինի ստեղծվել է նախքան syslogd-ը mkfifo հրամանով սկսելը
    • տերմինալ կամ վահանակ
    • @hostname (ուղարկեք հաղորդագրություններ հեռավոր գրանցման համար)
    • օգտատերերի ցուցակը (բաժանված ստորակետներով), որոնց տերմինալներին կուղարկվի հաղորդագրությունը
    • աստղանիշ՝ բոլոր տերմինալներին հաղորդագրություն ուղարկելու համար (պատին)

    Կազմաձևման ֆայլը վերլուծելիս syslogdհամեմատում է հասցեն գերան(սահմանված է / etc / hosts-ում, ոչ DNS-ի միջոցով) ձեր համակարգչի հասցեով և, եթե համընկնում է, սահմանում է փոփոխական ՈՐԻՆԱԿ... Դրանից հետո syslog.conf-ն անցնում է m4 (1) մակրոպրոցեսորով։ Հիմնականում սա օգտագործվում է այնպես, որ նույն կազմաձևման ֆայլը կարող է օգտագործվել հաճախորդի և սերվերի վրա (syslog-ի տեսանկյունից) հոսթեր:

    Սկսել և դադարեցնել ընթացակարգը. /etc/init.d/syslog(դրա հղումները /etc/rc?.d գրացուցակներից): Գործընթացի համարը պահվում է /etc/syslog.pid.

    klogd-ը կարդում է միջուկի հաղորդագրությունները (կամ միջոցով / proc / kmsg կամ համակարգային զանգեր), որոշում է մակարդակը, թարգմանում հրամանների հասցեները ծրագրերի անուններով և հաղորդագրություն ուղարկում syslogd-ին:

    Գործարկման պարամետրեր.

    • -c մակարդակ(Այս մակարդակի և ավելի քիչ լուրջ հաղորդագրությունները կուղարկվեն syslog, իսկ ավելի լուրջները կթողարկվեն կոնսոլ; լռելյայն - 7; 0-ը հնարավոր չէ նշել)
    • (վրիպազերծման ռեժիմ)
    • Ֆայլի անունը (մուտքագրեք նշված ֆայլը syslog-ի փոխարեն)
    • (Վերբեռնել մոդուլի սիմվոլները արդեն գործող klogd-ում, պետք է օգտագործվեն ամեն անգամ, երբ մոդուլը բեռնվում կամ բեռնաթափվում է, հուսով ենք, որ insmod-ի, rmmod-ի և modprobe-ի ներկայիս տարբերակները դա կանեն ինքնուրույն)
    • -Ես(վերբեռնել միջուկը և մոդուլի նշանները արդեն գործող klogd-ում)
    • Ֆայլի անունը (օգտագործեք նշված ֆայլը որպես միջուկի խորհրդանիշի աղյուսակ, փոխարենը /boot/System.map)
    • -n(Մի գնա ֆոն, պահանջվում է սկզբից գործարկել)
    • (մեկանգամյա ռեժիմ - գրանցել միջուկի բուֆերում կուտակված բոլոր հաղորդագրությունները և դուրս գալ)
    • -էջ(միայն այն դեպքում, վերբեռնեք մոդուլի խորհրդանիշի աղյուսակը հասցեի թարգմանության պահին. միջուկը կարող է չկարողանալ դա անել)
    • (օգտագործեք միայն համակարգային զանգեր և մի գնացեք / proc / kmsg՝ բնօրինակ հաղորդագրությունները ստանալու համար)
    • -v(ցույց տալ տարբերակը և ավարտը)
    • -x(հասցեները անունների մի փոխարկեք)
    • -2 (միջուկի խափանման հաղորդագրությունները – Վա՜յ – թողարկվում են երկու անգամ՝ հասցեները անունների վերածելուց առաջ – ksymoops-ի համար և հետո)

    Միջուկի հաղորդագրության մակարդակները (որոշվում են անկյունային փակագծերի թվով և փոխարկվում են syslog-ի խստության՝ անփոփոխ ֆայլի ելքում).

    • KERN_EMERG - 0 (համակարգն անօգտագործելի է)
    • KERN_ALERT - 1 (գործողություններ պետք է ձեռնարկվեն անմիջապես)
    • KERN_CRIT - 2 (կրիտիկական պայմաններ)
    • KERN_ERR - 3 (սխալի պայմաններ)
    • KERN_WARNING - 4 (նախազգուշացման պայմաններ)
    • KERN_NOTICE - 5 (նորմալ, բայց նշանակալի վիճակ)
    • KERN_INFO - 6 (տեղեկատվական)
    • KERN_DEBUG - 7 (վրիպազերծման մակարդակի հաղորդագրություններ)

    Արձագանք ազդանշաններին.

    • SIGINT, SIGKILL, SIGTERM և SIGHUP - անջատում
    • SIGTSTP - դադարեցնել գրանցումը
    • SIGCONT - ռեզյումե, հնարավոր է ընտրել մեկ այլ
    • հաղորդագրությունների աղբյուր (/ proc / kmsg կամ համակարգային զանգեր)
    • SIGUSR1 - Վերբեռնել մոդուլների խորհրդանիշները
    • SIGUSR2 - վերաբեռնել միջուկը և մոդուլի նշանները

    Գործընթացի համարը պահվում է /var/run/klogd.pid.

    Գրանցման սկզբնավորում. openlog- նշվում է բոլոր հաջորդ հաղորդագրություններին ավելացված ստանդարտ նախածանցը (սովորաբար ծրագրի անվանումը, գործընթացի համարը քառակուսի փակագծերում և երկու կետում); աղբյուրը և տարբերակները: փակագլուխ- վերջացնել անտառահատումները: syslog- logging (նշում է տողի աղբյուրը, ծանրությունը և ձևաչափը, ինչպես printf-ում):

    լոգրոտացնել(տարբերակ 3.2-1 / 3.3.2-1 / 3.5.9) - Պայքար աճող տեղեկամատյանների դեմ. ռոտացիա (տարբերակում), սեղմում, ջնջում և ուղարկում: Աշխատում է ամեն օր cron-ով ( /etc/cron.daily/logrotate) և թույլ է տալիս մշակել տեղեկամատյանները, եթե դրանք գերազանցում են նշված չափը կամ սահմանված ժամանակային ընդմիջումով: Թույլ է տալիս մշակել ոչ միայն syslog տեղեկամատյանները, այլ նաև ցանկացած այլ ծրագիր: Ընտրանքներ:

    • [-d](վրիպազերծման ռեժիմ, իրական փոփոխություններ չեն կատարվել)
    • [-f](Փոփոխություններ կատարեք, նույնիսկ եթե logrotate-ը կարիք չի տեսնում. այն օգտագործվում է մշակված տեղեկամատյանների ցանկում փոփոխությունների դեպքում)
    • [պետական ​​ֆայլի անունը ] (տեղեկամատյանների ընթացիկ վիճակը պահվում է այս ֆայլում գործարկումների միջև, ըստ լռելյայն - /var/lib/logrotate.status)
    • կազմաձևման ֆայլերի անունները (անունները բաժանված են բացատներով, կարգը կարևոր է. եթե գրացուցակի անունը նշված է, ապա դրա մեջ յուրաքանչյուր ֆայլ համարվում է կազմաձևման ֆայլ, RH-ն օգտագործում է ֆայլ /etc/logrotate.confև գրացուցակ /etc/logrotate.d)

    Կազմաձևման ֆայլը սահմանում է գլոբալ պարամետրեր (մեկ տողում), որոնք սահմանում են լռելյայն պարամետրեր բոլոր տեղեկամատյանների համար: Մշակված տեղեկամատյանների յուրաքանչյուր շարքի համար նշվում են տեղական պարամետրեր. նշվում է հիմնական ֆայլի անունը, որին հաջորդում են գանգուր փակագծերի տեղական պարամետրերը, յուրաքանչյուր տողի համար մեկ: Ֆայլի անունը կարող է մեջբերվել shell կանոններով, եթե այն պարունակում է բացատներ կամ այլ հատուկ նիշեր: Դուք կարող եք նշել մի քանի ֆայլի անուններ կամ ֆայլերի անունների նախշեր՝ բաժանված բացատներով (նախշերը նաև հետևում են կեղևի կանոններին): Յուրաքանչյուր հատվածի մշակումը դիտվում է որպես մեկ գործողություն: «#» գրանշանով սկսվող տողերը մեկնաբանություններ են։ Հետևյալ կազմաձևման ֆայլում նշված պարամետրերը գերազանցում են նախորդ ֆայլում նշված պարամետրերի արժեքները: Տեղական պարամետրերը գերակայում են գլոբալ պարամետրերից: Կազմաձևման գրացուցակում ֆայլերի հերթականությունը որոշված ​​չէ:

    Ընտրանքներ:

    • սեղմել | ոչ սեղմում(ավելի հին տարբերակները սեղմված են կամ սեղմված չեն gzip-ով)
    • compresscmd(սահմանում է սեղմման ծրագիրը, gzip ըստ լռելյայն)
    • uncompresscmd(սահմանում է ապակոմպրեսիոն ծրագիրը, լռելյայն - ungzip)
    • compressext(սահմանում է սեղմված ֆայլերի վերջածանցը)
    • սեղմումներ(սահմանում է սեղմման ծրագրի պարամետրերը, կանխադրվածը «-9» է, այսինքն՝ առավելագույն սեղմումը gzip-ի համար)
    • copytruncate | nocopytruncate(սովորաբար հին տարբերակը վերանվանվում է, և գրանցամատյանի նոր տարբերակ է ստեղծվում; երբ այս պարամետրը սահմանվում է, logrotate-ը պատճենում է գրանցամատյանը նոր ֆայլի մեջ, այնուհետև կրճատում է հինը. օգտագործվում է, եթե մատյան ստեղծող ծրագիրը չի կարող փակել այն. գրանցում է. Պատճենման և կրճատման միջև կատարված աշխատանքները կորչում են. Բայց արդյո՞ք դա օգնում է, եթե գրանցամատյանը ստեղծող ծրագիրը, հավելվածի ռեժիմի փոխարեն, պարզապես գրում է ֆայլի վրա՝ օգտագործելով ներքին ցուցիչ:)
    • ստեղծել [ մուտքի իրավունքներ սեփականատեր խումբ] | չստեղծել(ամսագրի հին տարբերակը վերանվանելուց անմիջապես հետո և զանգահարելուց անմիջապես հետո հետշրջադարձստեղծվում է նոր մատյան՝ նշված ատրիբուտներով. թույլտվությունները դրված են օկտալով, ինչպես chmod.2-ում; եթե ատրիբուտները նշված չեն, դրանք վերցված են հին մատյանից)
    • օրական(շարքի տարբերակի փոփոխությունը տեղի է ունենում ամեն օր)
    • հետաձգել սեղմելը | nodelaycompress(որոշ ծրագրեր անմիջապես չեն փակում գրանցամատյանը, որի դեպքում սեղմումը պետք է հետաձգվի մինչև հաջորդ ցիկլը)
    • սխալներ էլ (ում ուղարկել սխալների մասին հաշվետվություններ)
    • երկարաձգում վերջածանց (սահմանում է ֆայլերի անուններին ավելացված վերջածանցը սեղմման վերջածանցից առաջ պտտվելիս)
    • դատարկ | ծանուցում(փոխել տարբերակները, նույնիսկ եթե ֆայլը դատարկ է, սա լռելյայն է)
    • ներառում Ֆայլի անունը | տեղեկատու-անուն (տեքստային կերպով փոխարինեք ֆայլը կամ բոլոր ֆայլերը նշված գրացուցակից; ենթագրքերները, հատուկ ֆայլերը և բացառումների ցանկից վերջածանցներով ֆայլերը ներառված չեն, չեն կարող օգտագործվել բաժնում)
    • փոստ հասցեն | nomail(երբ տարբերակի փոփոխության դեպքում անհրաժեշտ է լինում ջնջել հին գրանցամատյանը, այնուհետև ուղարկել այն նշված հասցեով)
    • փոստ առաջինը(ուղարկեք ոչ թե ամսագրի ջնջված տարբերակը, այլ առաջինը)
    • փոստատար(ուղարկեք գրանցամատյանի ջնջված տարբերակը, սա լռելյայն է)
    • missingok | nomissingok(եթե գրանցամատյանը բացակայում է, մի ուղարկեք սխալի հաղորդագրություններ)
    • ամսական(տարբերակի փոփոխությունը տեղի է ունենում ամսական)
    • հինդիր գրացուցակ | noolddir(տարբերակի փոփոխության ժամանակ գրանցամատյանը տեղափոխվում է նշված գրացուցակ, պետք է լինի նույն ֆիզիկական սարքում)
    • հետշրջադարձ վերջագիրարդիականացման գործընթացից հետո կատարվում են որպես shell հրամաններ)
    • նախադրել(բոլոր հետագա տողերը մինչև տող վերջագիրկատարվում են մինչև արդիականացման գործընթացը)
    • պտտել թիվ (Քանի՞ հին տարբերակ պահել, եթե 0, ապա ոչ մեկը)
    • չափը բայթ (տարբերակի փոփոխությունը տեղի է ունենում, եթե գրանցամատյանի չափը գերազանցել է նշված թիվը, կարող եք օգտագործել «k» - կիլոբայթ - և «M» - մեգաբայթ վերջածանցները)
    • համօգտագործվող գրություններ | nosharedscripts(կատարել հրամաններ նախադրելև հետշրջադարձմիայն մեկ անգամ՝ բաժնում նկարագրված բոլոր ֆայլերի համար)
    • տաբուհոդ [+ ] վերջածանց-ցուցակ (նշելով վերջածանցների բացառությունների ցանկը ներառում; եթե գումարած նշանը նշված է, ապա լրացում, հակառակ դեպքում փոխարինում. լռելյայն՝ .rpmorig, .rpmsave, .rpmnew, ", v", .swp և "~")
    • շաբաթական(տարբերակի փոփոխությունը տեղի է ունենում շաբաթական)

    Առաքման մեջ RH /etc/logrotate.confնկարագրում է / var / log / wtmp և / var / log / lastlog գլոբալ պարամետրերն ու պարամետրերը և վերաբերում է գրացուցակին /etc/logrotate.d, որի մեջ յուրաքանչյուր փաթեթ գրում է տեղական պարամետրեր իր տեղեկամատյանների համար:

    logwatch-ը ծրագրեր գրելու շրջանակ է (կոչվում է ֆիլտրեր)՝ օգտակար տեղեկատվություն բազմաթիվ, մեծ և բազմազան տեղեկամատյաններից (ոչ միայն syslog) հանելու համար: «Փաթեթը» պարունակում է մի քանի զտիչներ, որոնք նախատեսված են Red Hat Linux-ի համար (ինչ-որ հնագույն տարբերակ, քանի որ xinetd-ի փոխարեն նշվում է inetd), բայց դուք ինքներդ պետք է դրանք հարմարեցնեք կոնկրետ իրավիճակին։ Վերջին փոփոխությունը հեղինակը կատարել է 2000 թվականի սեպտեմբերին, ուստի հետագա զարգացման կարիք չկա սպասել։

    Զտիչները կարող են գրվել ցանկացած ծրագրավորման լեզվով, սակայն փաթեթի հեղինակը նախընտրում է perl-ը։ Զտիչները պետք է գրվեն այնպես, որ նրանք կարդան տվյալները stdin-ից և արդյունքը թողարկեն stdout: Նախքան ֆիլտրը կանչելը սահմանվում են շրջակա միջավայրի փոփոխականները՝ LOGWATCH_DATE_RANGE, LOGWATCH_DETAIL_LEVEL, LOGWATCH_TEMP_DIR, LOGWATCH_DEBUG: Հիմնական ծրագիրը գրված է նաև perl-ով. /etc/log.d/scripts/logwatch.pl(/etc/log.d/logwatch, / usr / sbin / logwatch և /etc/cron.daily/00-logwatch-ը դրա խորհրդանշական հղումներն են):

    տեղեկատու /etc/log.d/conf/logfiles/պարունակում է գրանցամատյանների խմբերի կազմաձևման ֆայլեր, որոնցում պահվում են պահպանվող ծառայությունների գրառումները: Յուրաքանչյուր խումբ նկարագրված է առանձին ֆայլում խմբի անվանումը.conf, որում սահմանված են.

    • LogFile = ֆայլի անվանումը, որը պարունակում է տեղեկամատյան կամ անվան օրինակ; կարելի է նշել բազմաթիվ անուններ կամ նախշեր. անունները մ. համեմատ LogDir-ի հետ
    • Արխիվ = ֆայլի անվանումը, որը ստեղծվել է գրանցամատյանի արխիվացված տարբերակի լոգոտատով կամ անվանման օրինակով; կարելի է նշել բազմաթիվ անուններ կամ նախշեր. անունները մ. համեմատ LogDir-ի հետ
    • ֆիլտրի անունները ( միայն մեկ անգամ, չնայած մյուսը ցուցադրված է:) -ից /etc/log.d/scripts/shared/ինչպես
      *ֆիլտր-անուն = տարբերակները Օրինակ, գրանցամատյանը ըստ ամսաթվի զտելու համար, եթե այն գրված է ստանդարտ syslog ձևաչափով, օգտագործեք տողը.
      * ApplyStdDate =

    տեղեկատու /etc/log.d/conf/services/պարունակում է կազմաձևման ֆայլեր այն ծառայությունների համար, որոնց գրանցամատյանում գրանցված գրառումները կմշակի logwatch-ը: Յուրաքանչյուր ծառայություն նկարագրված է առանձին ֆայլով ծառայության անվանումը.conf, որում սահմանված են.

    • LogFile = գրանցամատյանների խմբի անվանումը
    • ֆիլտրի անունները /etc/log.d/scripts/shared/ինչպես
      *ֆիլտր-անուն = տարբերակները սպասարկման ֆիլտրից առաջ
    • $միջավայր-փոփոխական-անուն = իմաստը

    տեղեկատու /etc/log.d/scripts/logfiles/պարունակում է զտիչներ տեղեկամատյանների խմբերի մշակման համար. տեղեկամատյանների խումբ մշակելիս գրացուցակի բոլոր ֆայլերը /etc/log.d/scripts/logfiles/ խմբի անվանումը օգտագործվում են որպես զտիչներ։

    տեղեկատու /etc/log.d/scripts/services/պարունակում է զտիչներ հատուկ ծառայությունների գրառումների մշակման համար:

    տեղեկատու /etc/log.d/scripts/shared/պարունակում է ընդհանուր զտիչներ, որոնք օգտագործվում են գրանցամատյանների խմբի կազմաձևման ֆայլերում.

    • applicationstddate - զտում է գրանցամատյանը ըստ պահանջվող ամսաթվի, եթե այն գրված է syslog ձևաչափով (այստեղ և մասնավոր ֆիլտրերում ըստ ամսաթվի, տեղադրեք LANG = նախքան զանգի ամսաթիվը, հակառակ դեպքում Mar-ը ոչ մի կերպ չի համընկնում Mar-ի հետ;)
    • expandrepeat - «վերջին հաղորդագրությունը կրկնվող» տողերը վերածում է նախորդ տողից հաղորդագրության տողերի համապատասխան քանակի
    • onlycontains - թողնում է միայն այն մատյան տողերը, որոնք պարունակում են նշված տողը (ես դրել եմ չակերտներ «$ *»-ի շուրջ)
    • onlyservice - մատյանից քաղում է syslog ձևաչափով նշված ծառայության հետ կապված տողերը (ծառայության անվանումը փոխանցվում է որպես պարամետր)
    • հեռացնել - թողնում է միայն այն մատյան տողերը syslog ձևաչափով, որոնք չեն պարունակում նշված տողը ( Ես չակերտներ դրեցի «$ *»-ի շուրջ և հանեցի1, հանեցի2 և այլն: քանի որ ես չհասկացա, թե ինչպես կարելի է նշել egrep-ի մի քանի ենթապատկերներ մեկ տողում; Ի դեպ, պարամետրերը փոխարինվում են կեղևի մեջ, ուստի հատուկ նիշերը նույնպես չեն կարող օգտագործվել)
    • removeheaders - հեռացնել ստանդարտ դաշտերը (ամսաթիվը, ժամը, հոսթի անունը, ծառայության պիտակը և գործընթացի համարը)
    • removeservice - մատյանից քաղում է տողեր syslog ձևաչափով, որոնք կապված չեն նշված ծառայության հետ (ծառայության անվանումը փոխանցվում է որպես պարամետր)

    Լռելյայն պարամետրերը պահվում են /etc/log.d/conf/logwatch.conf ֆայլում (/etc/log.d/logwatch.conf ունի դրա հետ կապված խորհրդանշական հղում), մեկնաբանությունները, որոնցում թույլ են տալիս հասկանալ ֆայլի իմաստը։ պարամետրեր:

    • LogDir - գրացուցակ, որի հետ կապված են ֆայլերի անունները
    • MailTo - ում ուղարկել հաշվետվությունը
    • Տպել - հաշվետվություն փոստով ուղարկելու փոխարեն, թողարկեք այն stdout-ին
    • Պահպանել - հաշվետվությունը փոստով ուղարկելու փոխարեն այն կպահի նշված ֆայլում
    • Արխիվներ - օգտագործեք logrotate-ի կողմից ստեղծված տեղեկամատյանների տարբերակները
    • Շրջանակ - համարվում է ժամանակային ընդմիջում՝ բոլորը, այսօր, երեկ (երեկվա օրացուցային օրը)
    • Մանրամասն - հաշվետվության մանրամասնության մակարդակ՝ 0-ից 10 կամ ցածր, միջին, բարձր
    • Ծառայություն - Բոլորը կամ ֆիլտրի անունը /etc/log.d/scripts/services/-ից (կարելի է նշել բազմաթիվ զտիչներ)
    • LogFile - տեղեկամատյան խմբի բոլորը կամ անունը (կարելի է նշել մի քանի խմբեր)

    Գործարկման պարամետրեր.

    • -- մանրամասն մակարդակ (զեկույցի մանրամասնության մակարդակը՝ բարձր, միջին կամ ցածր)
    • --logfile խումբ-տեղեկամատյաններ (մշակել միայն այս խմբի տեղեկամատյանները. խումբը նշված է կոնֆիգուրացիայի ֆայլում խորհրդանշական անունով, կարելի է նշել մի քանի խմբեր)
    • -- ծառայություն ծառայության անվանումը (մշակեք միայն այն գրառումները մատյաններում, որոնք վերաբերում են այս ծառայությանը. ծառայությունը նշված է կոնֆիգուրացիայի ֆայլում խորհրդանշական անունով, մի քանի ծառայություններ կարելի է նշել. անունը. Բոլորըբոլոր ծառայությունների համար ձայնագրությունների մշակում)
    • -- տպել(զեկուցել stdout-ին)
    • --mailto հասցեն (ուղարկեք հաշվետվություն նշված հասցեով)
    • -- խնայել Ֆայլի անունը (գրեք հաշվետվությունը նշված ֆայլում)
    • --արխիվներ(մշակել ոչ միայն տեղեկամատյանների ընթացիկ տարբերակները, այլ նաև logrotate-ի կողմից ստեղծված հին պատճենները)
    • - միջակայք ամսաթիվ-ինտերվալ (մշակել մատյաններում միայն այն գրառումները, որոնք վերաբերում են տվյալ ժամանակային միջակայքին. Երեկ, Այսօր, Բոլորը)

    Հիմնական օգտագործումը 00-logwatch ֆայլը (սկսած «00»-ից մինչև logrotate-ը գործարկելու համար) ներառելն է /etc/cron.daily գրացուցակում, ինչը ստիպում է logwatch-ը ամեն օր գործարկել լռելյայն ընտրանքներով:

    Ցավոք սրտի, բոլոր զտիչները նախագծված են այնպես, որ տեղեկամատյանները գրվեն նույն հոսթի վրա, որի վրա աշխատում է ծառայությունը:

    Բոլոր տեղեկամատյանները պահվում են մեկ համակարգչում (եթե դուք ունեք պարանոյիկ հակումներ, կարող եք գրանցել տեղեկամատյանները միանգամից երկու սերվերի վրա):

    Աղբյուրի պաշտոնական անվանման և իրական սարքի կամ ծրագրի համապատասխանությունը.

    • local0 - Cisco
    • local3 - ftp (կա հատուկ աղբյուրի անուն, բայց Solaris 2.5-ը դա չգիտի)
    • local4 - վերապահված է հաշվապահական հաշվառման համար
    • local5 - POP3 / IMAP
    • local6 - tac_plus>

    514 / udp պորտի էկրանը պետք է բաց լինի սերվերի վրա (կարող եք սահմանափակել փաթեթների աղբյուրի հասցեները, բայց դա կօգնի միայն դժբախտ պատահարներից): Syslogd-ի մեկնարկը (պարամետրերը /etc/rc.d/init.d/syslog կամ / etc / sysconfig / syslog) պետք է սկսվեն «-r -m 0» ստեղներով (և նաև «-x», եթե DNS սերվեր): Սկսեք klogd-ը «-2 -c 1» անջատիչներով: Syslog.conf կարգավորում.

    • * .crit - CRIT խստության մակարդակի և ավելի բարձր հաղորդագրությունները պետք է ուղարկվեն տերմինալներ և գրվեն առանձին ֆայլում (chmod 600), ձեր հաղորդագրությունները պետք է ուղարկվեն պահուստային սերվեր; sendmail-ը փոստի ընդունման հետ կապված խնդիրների մասին հաղորդագրությունները համարում է կարևոր
    • kern - ստեղծել kern ֆայլ հաղորդագրությունների բոլոր մակարդակների համար (chmod 600)
    • փոստ - ստեղծել փոստի ֆայլ բոլոր մակարդակների հաղորդագրությունների համար (առանց համաժամացման)
    • auth, authpriv - ստեղծել անվտանգ ֆայլ բոլոր մակարդակների հաղորդագրությունների համար (chmod 600)
    • նորություններ - ստեղծել առանձին ֆայլ յուրաքանչյուր ծանրության համար նորությունների գրացուցակում (վրիպազերծում առանց համաժամացման)
    • cron - ստեղծել cron ֆայլ բոլոր մակարդակների հաղորդագրությունների համար (cron-ը RH 6.2-ում և Solaris 2.5-ում չի կարող օգտագործել syslog)
    • local0 - cisco գրացուցակում ստեղծեք առանձին ֆայլ յուրաքանչյուր խստության մակարդակի համար (սխալ և ներքև առանց համաժամացման)
    • local3 - ստեղծեք առանձին ֆայլ ftp գրացուցակում խստության յուրաքանչյուր մակարդակի համար (տեղեկատվություն և վրիպազերծում առանց համաժամացման)
    • local5 - ստեղծել imap.log ֆայլ բոլոր մակարդակների հաղորդագրությունների համար
    • local6 - ստեղծել tac_plus.log ֆայլ բոլոր մակարդակների հաղորդագրությունների համար
    • local7 - boot.log ֆայլ (հաղորդագրություններ, երբ համակարգը բեռնվում է, և syslogd-ը և klogd-ը սկսում կամ դադարեցնում են)
    • INFO մակարդակի և ավելի բարձր մակարդակի բոլոր հաղորդագրությունները, որոնք չեն հայտնվել վերը նշված ֆայլերից մեկում, գրեք հաղորդագրությունների ֆայլին (chmod 600)

    Հաճախորդի համակարգիչների վրա կարգավորեք syslog-ը այնպես, որ բոլոր հաղորդագրություններն ուղարկվեն syslog սերվեր, սխալի հաղորդագրությունները կրկնօրինակվեն / var / log / syslog-ում, կրիտիկական կարգավիճակի հաղորդագրությունները կրկնօրինակվեն կոնսոլում, օգտագործողի տերմինալներում: Linux սարքերում նաև բեռնման հաղորդագրությունները տեղափոխում են տեղական ֆայլ (local7, boot.log): Պահուստային syslog սերվերը պետք է ստանա կարևոր հաղորդագրություններ ցանցից և գրի դրանք ֆայլում (էկրանի անցք, «-r» գործարկման անջատիչ):

    logrotate. պահել ընդմիշտ, հնարավորինս հազվադեպ փոխել տարբերակները (ամսական, բացառությամբ կաղամարների), թափել առանձին գրացուցակներ (բացի կաղամարից) և սեղմել (հետաձգված ռեժիմում, բացառությամբ ftpd, linuxconf, sendfax), ուղարկել ինձ սխալներ և ջնջված ֆայլեր: Համապատասխանեցման պարամետրերը syslog-ի համար:

    Ֆայլի անվան դիմաց խողովակի նշանը (|) տեղադրելը թույլ կտա օգտագործել fifo (առաջինը ներս - առաջինը դուրս,առաջինը եկավ - առաջինը դուրս եկավ) կամ անունով խողովակորպես հաղորդագրությունների ստացող: Նախքան syslogd-ը սկսելը (կամ վերագործարկելը), դուք պետք է ստեղծեք fifo՝ օգտագործելով mkfifo հրամանը: Երբեմն fifo-ները օգտագործվում են վրիպազերծման համար:

    Տերմինալ և վահանակ

    Տերմինալ, ինչպիսին է / dev / կոնսոլը:

    Հեռավոր մեքենա

    Հաղորդագրությունները մեկ այլ հոսթին փոխանցելու համար հաղորդավարի անունը նախորդում է @ նշանով: Նկատի ունեցեք, որ հաղորդագրությունները չեն փոխանցվում ընդունող հոսթից: (այս հանձնարարությունը ֆայլի հաճախորդի և սերվերի վրա աշխատելու համար / և այլն / ծառայություններտողը պետք է գրվի syslog 514 / udpև UTP 514 պորտը բաց է)

    օգտվողների ցուցակը

    Ստորակետերով բաժանված հաղորդագրություններ ստացող օգտատերերի ցուցակ (եթե օգտվողը մուտք է գործել): Սա հաճախ ներառում է արմատային օգտվողին:

    Բոլոր գրանցված օգտվողները

    Պատի հրամանի միջոցով գրանցված բոլոր օգտվողներին ծանուցելու համար օգտագործեք աստղանիշ (*) նշանը:

    Չբարդացածի օրինակ syslog.conf:

    # Արտադրեք միջուկի բոլոր հաղորդագրությունները վահանակ: # kern * / dev / console # Բոլոր տեղեկամատյանները տեղեկատվական մակարդակում կամ ավելի բարձր, բացառությամբ էլփոստի հաղորդագրությունների, և # մի գրանցվեք նույնականացման հաղորդագրությունները և cron daemon հաղորդագրությունները: * .info; mail.none; authpriv.none; cron.none / var / log / messages # Գրեք գաղտնի # նույնականացման տեղեկատվություն պարունակող հաղորդագրություններ առանձին ֆայլում՝ անկախ դրանց մակարդակից: authpriv * / var / log / safe # Փոստային համակարգի բոլոր հաղորդագրությունները նույնպես պետք է գրվեն առանձին ֆայլում: փոստ * - / var / log / maillog # Գրանցեք ժամանակացույցի հաղորդագրությունները / var / log / cron cron. * / var / log / cron # Արտակարգ իրավիճակների հաղորդագրությունները պետք է անմիջապես ստացվեն # համակարգի բոլոր օգտվողները * .emerg * # Պահպանեք հաղորդագրությունները նորությունները crit մակարդակը և ավելի բարձր՝ առանձին ֆայլի մեջ: uucp, news.crit / var / log / spooler # Պահպանեք boot հաղորդագրությունները boot.log local7. * /var/log/boot.log

    Ինչպես շատ կազմաձևման ֆայլերի դեպքում, շարահյուսությունը հետևյալն է.

    • #-ով սկսվող տողերը, իսկ դատարկ տողերը անտեսվում են:
    • * խորհրդանիշը կարող է օգտագործվել բոլոր կատեգորիաները կամ բոլոր առաջնահերթությունները նշելու համար:
    • Ոչ մի հատուկ բանալի բառը ցույց է տալիս, որ այս կատեգորիայի համար գրանցում չպետք է կատարվի այս գործողության համար:
    • Ֆայլի անվան դիմաց գծիկ (ինչպես / var / log / maillog այս օրինակում) ցույց է տալիս, որ գրանցամատյանը չպետք է համաժամանակացվի յուրաքանչյուր մուտքից հետո: Համակարգի խափանման դեպքում դուք կարող եք կորցնել տեղեկատվությունը, սակայն համաժամացման անջատումը կբարելավի աշխատանքը:

    Կազմաձևի ֆայլի շարահյուսության մեջ կարող եք առաջնահերթություն դնել նշան!նշել, որ գործողությունը չպետք է կիրառվի, այս մակարդակից և վերևից... Նմանապես, առաջնահերթությունը կարող է տրվել նշան =նշել, որ կանոնը վերաբերում է միայն այդ մակարդակին, կամ != նշել, որ կանոնը վերաբերում է բոլոր մակարդակներին, բացառությամբ այս մակարդակի: Ստորև բերված են մի քանի օրինակներ (շատ այլ օրինակներ կարելի է գտնել man syslog.conf-ում).

    # Ուղարկեք միջուկի բոլոր հաղորդագրությունները / var / log / միջուկ: # Ուղարկեք բոլոր կարևոր և ավելի բարձր հաղորդագրությունները հեռավոր sysloger մեքենային և վահանակին # Ուղարկեք բոլոր տեղեկությունները, ծանուցումները և նախազգուշական հաղորդագրությունները / var / log / kernel-info # kern: * / Var / log / kernel kern.crit @sysloger kern .crit / dev / console kern.info; kern.! err / var / log / kernel-info # Ուղարկեք բոլոր փոստի համակարգի հաղորդագրությունները, բացառությամբ տեղեկատվության մակարդակի / var / log / փոստում: փոստ: *; փոստ.! = info / var / log / փոստ

    Ես փորձեցի հնարավորինս պարզ ցույց տալ syslogd-ի աշխատանքը դիագրամում.

    Գործարկում է syslogd deemon-ը

    Լոգինգի դեյմոնը սկսելը սկսվում է համակարգի սկզբնավորման փուլում՝ սկրիպտի միջոցով /etc/rc.d/init.d/syslog, այնուամենայնիվ, գործարկման պարամետրերը սահմանելու համար այս սկրիպտը կարգավորելու կարիք չկա. սկսած 7.2 տարբերակից, գործարկման տարբերակները կարդացվում են առանձին կազմաձևման ֆայլից: / etc / sysconfig / syslog (/ etc / default / syslogդեբիանում).

    Ահա մի քանի հնարավոր syslogd Daemon գործարկման ընտրանքներ.

    • -a / թղթապանակ / վարդակից- նշելով լրացուցիչ լսողական վարդակ (մի մոռացեք նախ ստեղծել վարդակից)
    • - վրիպազերծման ռեժիմ: Այս դեպքում դեյմոնը չի անցնում հետին պլան և ուղարկում է բոլոր հաղորդագրությունները ընթացիկ տերմինալին.
    • config-file-name... Նշում է այլընտրանքային կազմաձևման ֆայլի անունը, որը կօգտագործվի լռելյայն /etc/syslog.conf-ի փոխարեն;
    • -l host-list- սահմանել հոսթինգների ցանկ, որոնց անունները չպետք է գրանցվեն տիրույթի ամբողջական անվան նշումով (FQDN - Full Qwalified Domain Name);
    • -մ րոպե- առանց այս ընտրանքի գործարկված sysklogd-ը յուրաքանչյուր 20 րոպեն մեկ գրանցում է նշանի կատեգորիայի հաղորդագրությունները (ժամանականիշեր): Օգտագործելով -m տարբերակը, կարող եք կամ փոխել նշանների միջև ընկած ժամանակահատվածը, կամ ամբողջությամբ չեղարկել նման հաղորդագրությունների թողարկումը.
    • -p վարդակից- այլընտրանքային UNIX վարդակից տեղադրելը (լռելյայն / մշակող / գրանցամատյան լսելու փոխարեն);
    • - հեռավոր հյուրընկալողներից հաղորդագրություններ ստանալու թույլտվություն.
    • -x- հյուրընկալողի անունը իր հասցեով որոշելու արգելք՝ DNS սերվերի հետ նույն հոսթի վրա աշխատելիս սառեցումը կանխելու համար:
    • -v- ցուցադրել տարբերակը և ավարտել աշխատանքը

    Syslogd daemon-ը գործարկելուց հետո ստեղծվում է կարգավիճակի ֆայլ / var / lock / subsys / syslogզրոյական երկարություն և ֆայլ՝ գործընթացի ID-ով /var/run/syslogd.pid.

    Օգտագործելով հրամանը
    kill -SIGNAL «cat / var / run / syslogd.pid»:

    կարող է ուղարկվել դեպի syslogd daemonհետևյալ ազդանշաններից մեկը. ՍԻՂՈՒՊ- դևի վերագործարկում; SIGTERM- աշխատանքի ավարտը; SIGUSR1- միացնել / անջատել վրիպազերծման ռեժիմը:

    Համակարգում իրականում գործում են երկու գրանցման դևոններ. syslogdև կլոգդ... Երկու դևերն էլ ներառված են փաթեթում sysklogd.

    The klogd deemonպատասխանատու է գրանցում տեղի ունեցող իրադարձությունների համար համակարգի առանցքը... Առանձին klogd daemon-ի անհրաժեշտությունը պայմանավորված է նրանով, որ միջուկը չի կարող օգտագործել ստանդարտ syslog ֆունկցիան: Փաստն այն է, որ ստանդարտ C գրադարանները (ներառյալ գրադարանը, որը պարունակում է syslog գործառույթը) նախատեսված է միայն օգտագործելու համար: պայմանական հավելվածներ... Քանի որ միջուկին անհրաժեշտ է նաև գրանցման գործառույթ, այն ներառում է իր սեփական գրադարանները, որոնք հասանելի չեն հավելվածներին: Հետևաբար, միջուկն օգտագործում է հաղորդագրությունների ստեղծման իր մեխանիզմը:

    The klogd deemonնախատեսված է այդ հաղորդագրությունների մշակումը կազմակերպելու համար: Սկզբունքորեն, այն կարող է կատարել այս մշակումը լիովին անկախ և անկախ syslogd-ից, օրինակ՝ գրելով այս հաղորդագրությունները ֆայլում, բայց շատ դեպքերում օգտագործվում է լռելյայն klogd պարամետրը, որն ուղարկում է բոլոր հաղորդագրությունները միջուկից նույն syslogd daemon-ին:

    Ավտոմատ ռոտացիա (լրիվ ֆայլերի թարմացում) և տեղեկամատյանների արխիվացում

    Ժամանակի ընթացքում գրանցամատյանի ֆայլը աճում է, հատկապես ցանկացած ծառայության ինտենսիվ աշխատանքի դեպքում: Համապատասխանաբար, դուք պետք է կարողանաք վերահսկել տեղեկամատյանների չափը: Սա արվում է logrotate հրամաններորը սովորաբար արվում է cron daemon... Քրոնի աշխատանքի մասին կխոսեմ հաջորդ հոդվածներում։ հիմնական նպատակը logrotate հրամաններպարբերաբար կրկնօրինակել տեղեկամատյանները և ստեղծել նոր մաքուր տեղեկամատյաններ: Բազմաթիվ սերունդների տեղեկամատյանները պահպանվում են, և երբ վերջին սերնդի գրանցամատյանը հասնում է իր ժամկետի ավարտին, այն կարող է արխիվացվել (սեղմվել): Արդյունքը կարող է ուղարկվել փոստով, օրինակ՝ արխիվների պահպանման համար պատասխանատու անձին։

    Գերանների պտտման և արխիվացման կարգը որոշելու համար օգտագործեք կազմաձևման ֆայլ /etc/logrotate.conf ... Տարբեր ամսագրերի համար կարող եք տարբեր հաճախականություն սահմանել, օրինակ՝ օրական, շաբաթական կամ ամսական, բացի այդ, կարող եք կարգավորել կուտակված սերունդների թիվը, ինչպես նաև նշել, թե արխիվների պատճենները կուղարկվեն արխիվացման պատասխանատու անձին: և, եթե այո, ապա երբ: Ստորև ներկայացված է օրինակ /etc/logrotate.conf ֆայլ:

    # սկզբում դրված են «կանխադրված» պարամետրերը (գլոբալ ընտրանքներ) # թարմացնել գրանցամատյանների ֆայլերը շաբաթական շաբաթական # պահել տեղեկամատյանների արխիվ վերջին 4 շաբաթվա ընթացքում պտտել 4 # ստեղծել նոր (դատարկ) ֆայլ պտտվելուց հետո (թարմացնել) ստեղծել # չմեկնաբանել, եթե ցանկանում եք, որ պահպանված ֆայլերը սեղմվեն #compress # enable rotation settings-ից նշված գրացուցակից ներառում են /etc/logrotate.d # մի պահեք wtmp, կամ btmp - log տվյալների պտտման կարգավորումները հետևյալն են. / var / log / wtmp (missingok ամսական ստեղծել 0664 root utmp պտտել 1) / var / log / btmp (missingok ամսական ստեղծել 0664 root utmp պտտել 1) # հատուկ համակարգի տեղեկամատյանները կարող են կազմաձևվել ստորև

    Գլոբալ տարբերակները տեղադրվում են սկզբում logrotate.conf ֆայլ... Դրանք օգտագործվում են լռելյայն, եթե այլ տեղ ավելի կոնկրետ բան նշված չէ: Օրինակում տեղի է ունենում ամսագրերի պտույտ շաբաթականիսկ կրկնօրինակները պահվում են չորսշաբաթներ. Հենց որ ամսագիրը պտտվում է, հին ամսագրի փոխարեն ավտոմատ ստեղծվում է նորը: Logrotate.conf ֆայլկարող է պարունակել այլ ֆայլերի բնութագրեր: Այսպիսով, այն ներառում է բոլոր ֆայլերը գրացուցակից /etc/logrotate.d.

    Այս օրինակը պարունակում է նաև հատուկ կանոններ / var / log / wtmpև / var / log / btmp(մուտքի հաջող և անհաջող փորձերի մասին տեղեկատվության պահպանում), որոնք պտտվում են ամսական: Եթե ​​ֆայլերը բացակայում են, սխալի մասին հաղորդագրություն չի ցուցադրվում: Ստեղծվում է նոր ֆայլ և պահվում է միայն մեկ կրկնօրինակ:

    Այս օրինակում, երբ կրկնօրինակը հասնում է վերջին սերնդին, այն ջնջվում է, քանի որ սահմանված չէ, թե ինչ անել դրա հետ:

    Մատյանների կրկնօրինակումներկարող է նաև ստեղծվել, երբ տեղեկամատյանները հասնում են որոշակի չափի, և սկրիպտներ կարող են ստեղծվել հրամանների մի շարքից, որոնք պետք է կատարվեն պահուստավորման գործողությունից առաջ կամ հետո: Օրինակ:

    / var / log / հաղորդագրություններ (պտտել 5 փոստ [էլփոստը պաշտպանված է]չափը 100k postrotate / usr / bin / killall -HUP syslogd endscript)

    Այս օրինակում ռոտացիան / var / log / հաղորդագրություններարտադրվում է, երբ այն հասնում է 100 ԿԲ-ի: Հինգ կրկնօրինակում է կուտակվում, և երբ ամենահին պահուստավորման ժամկետն ավարտվում է, այն ուղարկվում է փոստով [էլփոստը պաշտպանված է]Հետպտտվող հրամանի բառը հնարավորություն է տալիս սկրիպտին վերագործարկել syslogd դեյմոնը ռոտացիայի ավարտից հետո՝ ուղարկելով HUP ազդանշան: Վերջնական հրահանգի բառը պահանջվում է սկրիպտը դադարեցնելու համար, ինչպես նաև, եթե առկա է նախնական սկրիպտը: Լրացուցիչ տեղեկությունների համար տե՛ս logrotate man էջերը:

    Ընտրանքներտրված է կազմաձևման ֆայլում logrotate.conf:

    • սեղմել| ոչ սեղմում(ավելի հին տարբերակները սեղմված են կամ սեղմված չեն gzip-ով)
    • compresscmd(սահմանում է սեղմման ծրագիրը, gzip ըստ լռելյայն)
    • uncompresscmd(սահմանում է ապակոմպրեսիոն ծրագիրը, լռելյայն - ungzip)
    • compressext(սահմանում է սեղմված ֆայլերի վերջածանցը)
    • սեղմումներ(սահմանում է սեղմման ծրագրի պարամետրերը, կանխադրվածը «-9» է, այսինքն՝ առավելագույն սեղմումը gzip-ի համար)
    • copytruncate| nocopytruncate(սովորաբար հին տարբերակը վերանվանվում է և գրանցամատյանի նոր տարբերակ է ստեղծվում. երբ այս պարամետրը սահմանվում է, logrotate-ը պատճենում է գրանցամատյանը նոր ֆայլ, այնուհետև կրճատում է հինը. օգտագործվում է, եթե մատյան ստեղծող ծրագիրը չի կարող փակել այն. Պատճենման և կրճատման միջև արված գրառումները կորչում են, բայց դա օգնո՞ւմ է, եթե գրանցամատյանը ստեղծող ծրագիրը, հավելվածի ռեժիմի փոխարեն, պարզապես գրի ֆայլի վրա՝ օգտագործելով ներքին ցուցիչը:)
    • ստեղծել[մուտքի իրավունքի սեփականատերերի խումբ] | չստեղծել(log-ի հին տարբերակը վերանվանելուց անմիջապես հետո և նախքան postrotate կանչելը, ստեղծվում է նոր մատյան՝ նշված ատրիբուտներով. թույլտվությունները դրվում են օկտալով, ինչպես chmod.2-ում, եթե ոչ մի ատրիբուտ նշված չէ, ապա դրանք վերցված են հինից։ մատյան)
    • օրական(շարքի տարբերակի փոփոխությունը տեղի է ունենում ամեն օր)
    • հետաձգել սեղմելը| nodelaycompress(որոշ ծրագրեր անմիջապես չեն փակում գրանցամատյանը, որի դեպքում սեղմումը պետք է հետաձգվի մինչև հաջորդ ցիկլը)
    • սխալներէլ(ում ուղարկել սխալների մասին հաշվետվություններ)
    • երկարաձգումվերջածանց(սահմանում է ֆայլերի անուններին ավելացված վերջածանցը սեղմման վերջածանցից առաջ պտտվելիս)
    • դատարկ| ծանուցում(փոխել տարբերակները, նույնիսկ եթե ֆայլը դատարկ է, սա լռելյայն է)
    • ներառումՖայլի անունը| գրացուցակի անունը (տեքստային կերպով փոխարինել ֆայլը կամ բոլոր ֆայլերը նշված գրացուցակից; ենթագրքերները, հատուկ ֆայլերը և բացառումների ցանկից վերջածանցներով ֆայլերը ներառված չեն, չեն կարող օգտագործվել բաժնում)
    • փոստհասցեն| nomail(երբ տարբերակի փոփոխության դեպքում անհրաժեշտ է լինում ջնջել հին գրանցամատյանը, այնուհետև ուղարկել այն նշված հասցեով)
    • փոստ առաջինը(ուղարկեք ոչ թե ամսագրի ջնջված տարբերակը, այլ առաջինը)
    • փոստատար(ուղարկեք գրանցամատյանի ջնջված տարբերակը, սա լռելյայն է)
    • missingok| nomissingok(եթե գրանցամատյանը բացակայում է, մի ուղարկեք սխալի հաղորդագրություններ)
    • ամսական(տարբերակի փոփոխությունը տեղի է ունենում ամսական)
    • հինդիրգրացուցակ| noolddir(տարբերակի փոփոխության ժամանակ գրանցամատյանը տեղափոխվում է նշված գրացուցակ, պետք է լինի նույն ֆիզիկական սարքում)
    • հետշրջադարձ(բոլոր հետագա տողերը մինչև վերջնագրի տողը կատարվում են որպես shell հրամաններ տարբերակի փոփոխման գործընթացից հետո)
    • նախադրել(բոլոր հետագա տողերը մինչև վերջնագրի տողը կատարվում են նախքան տարբերակի փոփոխության գործընթացը)
    • պտտելթիվ(Քանի՞ հին տարբերակ պահել, եթե 0, ապա ոչ մեկը)
    • չափըբայթ(տարբերակի փոփոխությունը տեղի է ունենում, եթե գրանցամատյանի չափը գերազանցել է նշված թիվը, կարող եք օգտագործել «k» - կիլոբայթ - և «M» - մեգաբայթ վերջածանցները)
    • համօգտագործվող գրություններ| nosharedscripts(կատարեք prerotate և postrotate հրամանները միայն մեկ անգամ բաժնում նկարագրված բոլոր ֆայլերի համար)
    • տաբուհոդ[+] վերջածանց-ցուցակ(նշելով ներառման համար վերջածանց-բացառումների ցանկը. եթե գումարած նշանը նշված է, ապա լրացում, այլապես փոխարինում; ըստ լռելյայն՝ .rpmorig, .rpmsave, .rpmnew, ", v", .swp և "~")
    • շաբաթական(տարբերակի փոփոխությունը տեղի է ունենում շաբաթական)

    Տեղեկամատյանների ուսումնասիրություն և մոնիտորինգ

    Մատյան գրառումները սովորաբար պարունակում են ժամանակի դրոշմ, հոսթի անունը, որի վրա գործարկվում է նկարագրված գործընթացը և գործընթացի անվանումը: Դիտեք տեղեկամատյաններըԴուք կարող եք օգտագործել էջադրման ծրագիր, օրինակ. պակաս, կարող եք որոնել հատուկ մուտքեր (օրինակ՝ միջուկային հաղորդագրություններ կոնկրետ դեյմոնից)՝ օգտագործելով հրամանը grep:

    # պակաս / var / log / հաղորդագրություններ # grep «ppp» / var / log / հաղորդագրություններ | tail Dec 17 16:34:25 proxy pppd. Կապն ավարտված է: Դեկ 17 16:34:25 վստահված անձ pppd. Ելք: Դեկտեմբերի 17 16:35:57 պրոքսի pppd. LCP-ն ավարտված է գործընկերոջ կողմից (^ P] kV ^ @

    Համակարգիչը կարող է անընդհատ չաշխատել ու անջատվել, օրինակ, գիշերը։ Հետևաբար, / var / log / հաղորդագրություններում գրառումները ցիկլային կերպով պահվում են համակարգչի գործարկումից մինչև անջատումը, դուք կարող եք դա տեսնել հաղորդագրություններով.

    Դեկտեմբերի 17 08:32:56 syslog-server syslogd 1.4-0. վերագործարկեք: Դեկտեմբեր 17 08:32:56 syslog-server syslog. syslogd-ը հաջողվեց Դեկտեմբեր 17 08:32:56 syslog-սերվերի միջուկը՝ klogd 1.4-0, log source = / proc / kmsg մեկնարկել է: Դեկտեմբեր 17 08:32:56 syslog-server syslog. start klogd հաջողվեց

    Դեկ 17 08:32:56 syslog-server միջուկ. Kernel հրամանի տող. auto BOOT_IMAGE = linux ro root = 303 BOOT_FILE = / boot / vmlinuz-2.4.2-2 Dec 17 08:32:56 syslog-server kernel: Memory: Հասանելի է 125652k / 130560k (1365k միջուկի կոդը, 4200k պահպանված, 92k տվյալներ, 236k init, 0k highmem) Դեկ.

    Նաև այս ֆայլում կարող եք գտնել տեղեկատվություն սկավառակի հիշողության մասին (ներառյալ սկավառակի երկրաչափության, բաժանման կառուցվածքի և օգտագործվող ընդհատումների մասին), ծայրամասային սարքերի, անհատական ​​ծառայությունների և ծառայությունների գործարկման մասին տեղեկություններ, ֆայլային համակարգերի միացման և օգտվողի մուտքի մասին հաղորդագրություններ: ինչպես նաև սխալի հաղորդագրություններ:

    Երբեմն դա կարող է անհրաժեշտ լինել մոնիտորինգի համակարգի տեղեկամատյաններըընթացիկ իրադարձությունները որոնելու համար: Օրինակ, դուք կարող եք փորձել բռնել հազվագյուտ իրադարձություն հենց այն պահին, երբ դա տեղի է ունեցել: Այս դեպքում կարող եք օգտագործել հրամանը պոչըտարբերակով syslog-ի բովանդակությանը հետևելու համար: Օրինակ:

    # tail -f / var / log / հաղորդագրություններ | grep syslog-server Dec 17 16:46:09 syslog-server pppd: pptpd-logwtmp.so ip-up ppp0 maikop 94.77.0.150 Dec 17 16:46:09 syslog-server pppd: Script /ippppp. ավարտված է (pid 12552), կարգավիճակ = 0x0 Dec 17 16:46:49 syslog-server pptpd: CTRL: Client 85.175.197.65 կառավարման կապը սկսվել է Դեկտեմբեր 17 16:46:49 syslog-server pptpd: CTRL: Starting pppd: բացում GRE) Դեկտեմբերի 17 16:46:49 syslog-server pppd: Plugin /usr/lib/pptpd/pptpd-logwtmp.so բեռնված:

    Բացի /etc/syslog.conf-ում նշված log ֆայլերից, կան նաև այլ ֆայլեր, օրինակ՝ ֆայլ, որը պահպանում է տեղեկատվությունը համակարգի բեռնման գործընթացի մասին նախքան syslogd-ը սկսելը, ինչպես նաև ֆայլեր, որոնք ունեն երկուական ձևաչափ և պահպանում են տեղեկատվությունը: վերջին մուտքի օգտվողի մուտքի, բոլոր հաջող օգտվողների մուտքերի և բոլոր անհաջող օգտվողների մուտքերի մասին համապատասխանաբար: Նաև / var / log / գրացուցակը կարող է պարունակել այնպիսի դևերի մատյանների ֆայլեր, ինչպիսիք են վեբ սերվերը կամ վստահված սերվերը: Այս ֆայլերի ձևաչափը նման է syslogd տեղեկամատյաններին:

    Ի վերջո, ես կցանկանայի ընդգծել, որ այս արձանագրությունն այնքան էլ անվտանգ չէ, tk. syslog-ը չի պարունակում հաղորդագրությունների կեղծումից պաշտպանվելու որևէ միջոց: Ավելի վատ, UDP-ի օգտագործումը հարձակվողներին թույլ է տալիս հաղորդագրություններ ուղարկել ցանկացած հյուրընկալողի անունից: Ձեր տեղական ցանցը պետք է ստուգվի կեղծ տեղական հասցեներով փաթեթներ ստանալու դեմ (չնայած դա չի խանգարում ձեզ կեղծ հաղորդագրություններ ուղարկել տեղական ցանցից) և փաթեթներ ստանալ դրսում 514 / udp նավահանգստում: Հայտնի են կեղծ հաղորդագրություններով սկավառակի լցվելու դեպքեր։

    Syslog արձանագրությունը և UDP-ն երաշխավորված առաքում չեն ապահովում (հաղորդագրությունները կարող են կորչել ցանցի գերբեռնվածության ժամանակ կամ ընդհատվել, կոռումպացված հաղորդագրությունները ջնջվում են առանց նախազգուշացման), առաքման ճիշտ հաջորդականություն (գործընթացի ավարտի մասին հաղորդագրությունը կարող է առաջանալ դրա մեկնարկի մասին հաղորդագրությունից առաջ։ ), առաջնահերթ առաքում։

    Հաղորդագրությունները գաղտնի չեն պահվում, քանի որ դրանք փոխանցվում են հստակ տեքստով:

    Եթե ​​հաղորդագրությունների գեներատորը կարգավորելիս նշեք կոլեկտորի կամ ռելեի սխալ հասցեն, ապա սխալի հաղորդագրություններ չեն լինի՝ հաղորդագրությունները կջնջվեն (կամ կգրվեն ուրիշի գրանցամատյանում):

    Մի քանի նախագծեր են առաջարկվել՝ բարելավելու syslog արձանագրությունը: Օրինակ, RFC 3195-ն առաջարկում է TCP-ի վրա հիմնված գրանցման համակարգ (syslog-conn)՝ ապահովելու, որ հաղորդագրությունները առաքվում են ճիշտ հաջորդականությամբ: Syslog-sign նախագիծն առաջարկում է ապահովել նույնականացում, պատվիրում, հաղորդագրությունների ամբողջականություն և բացակայող հաղորդագրությունների հայտնաբերում` ստեղծելով հատուկ հաղորդագրություններ, որոնք պարունակում են նախորդ հաղորդագրությունների բլոկի թվային ստորագրությունը` պահպանելով ստանդարտ syslog արձանագրությունը և ձևաչափը և օգտագործելով UDP:

    Ամփոփենք.

    Linux-ն ունի մեկ դևոն, որը պատասխանատու է տեղական և հեռավոր համակարգերում իրադարձությունների գրանցման համար: Բոլոր իրադարձությունները հավաքվում են / dev / log վարդակից, UDP պորտից՝ 514, ինչպես նաև «օգնականից»՝ klogd deemon-ից, որը հաղորդագրություններ է ուղարկում միջուկից: Բոլոր հավաքագրված հաղորդագրությունները զտվում են syslogd դեյմոնի կողմից /etc/syslog.conf ֆայլի կանոնների միջոցով և ըստ կանոնների բաշխվում են համապատասխան ուղղություններով: Մատյան ֆայլերը պարբերաբար «կտրվում են»: Հաճախականությունը որոշվում է logrotate.conf ֆայլով և logrotate հրամանով, որն աշխատում է համակարգի ժամանակացույցի կողմից՝ cron:

    Այսօրվա համար այսքանը: Հուսով եմ, որ ես նկարագրեցի ամեն ինչ հնարավորինս պարզ: Ժամանակի ընթացքում ես կլրացնեմ հոդվածը:

    Հարգանքներով, Mc.Sim!

    ՍԵՐԳԵՅ ՍՈՒՊՐՈՒՆՈՎ

    FreeBSD խորհուրդներ. օգտագործելով syslog

    -Կներեք, ընկերնե՛ր, բոլոր շարժումները գրված են։

    «Գրասենյակը գրում է», - ասաց Օստապը:

    Ի.Իլֆ, Է.Պետրով «12 աթոռ».

    Ցանկացած համակարգի, և առաջին հերթին սերվերի աշխատանքի գրանցումը կառավարման ամենակարևոր բաղադրիչներից է: Հենց տեղեկամատյանների ֆայլերում ենք մենք առաջին հերթին նայում, երբ համակարգում խնդիրներ կան: Այդտեղից մենք վստահություն ենք ստանում, որ այս կամ այն ​​ծրագիրն աշխատում է այնպես, ինչպես սպասվում էր։ Վեբ հավելվածներ մշակելիս գրանցամատյանի ֆայլը դառնում է վրիպազերծման տեղեկատվության ամենակարևոր աղբյուրը: Կքննարկվեն syslog daemon-ի առանձնահատկությունները, որը պատասխանատու է համակարգի տեղեկատվության գրանցման համար:

    Ինչ է syslog-ը

    Syslog-ը կենտրոնացված ծառայություն է, որը հավաքում և գրանցում է արձանագրության տեղեկատվությունը տարբեր օպերացիոն համակարգի բաղադրիչներից և օգտագործողի գործընթացներից: Երրորդ կողմի ծրագրերը սովորաբար կարողանում են ինքնուրույն աշխատել իրենց log ֆայլերի հետ, թեև դրանցից շատերը կարող են կազմաձևվել syslogd daemon-ի հետ աշխատելու համար: Syslog-ի օգտագործման առավելությունները ներառում են մեկ կազմաձևման ֆայլի միջոցով անհրաժեշտ տեղեկատվության հավաքագրման գործընթացը վերահսկելու ունակությունը, որն ապահովում է ստացված տեղեկամատյանների ֆայլերի հետևողականությունը և արդյունքում պարզեցնում դրանց կառավարումը:

    Syslog ծառայությունը տրամադրվում է syslogd daemon-ի կողմից, որն ավտոմատ կերպով գործարկվում է համակարգի գործարկման ժամանակ: Այն մշտապես գտնվում է հիշողության մեջ, սպասում է այլ գործընթացների հաղորդագրություններին և մշակում դրանք իր կարգավորումներին համապատասխան:

    Յուրաքանչյուր հաղորդագրություն բնութագրվում է մակարդակով և հարմարությամբ: Մակարդակը սահմանում է հաղորդագրության կարևորության աստիճանը համակարգի գործունեության տեսանկյունից: syslog.h ֆայլը սահմանում է հետևյալ մակարդակները (առաջնահերթությունները).

    Աղյուսակ 1. Հաղորդագրության մակարդակները

    Մակարդակ

    Նկարագրություն

    առաջանալ, խուճապ

    Խուճապային վիճակ

    զգոն

    Անհապաղ ուշադրություն պահանջող պայման

    կրիտ

    Կրիտիկական իրավիճակ

    սխալ, սխալ

    Աշխատանքային այլ սխալներ

    զգուշացնել, զգուշացնել

    Զգուշացումներ

    ծանուցում

    Հաղորդագրություններ, որոնք սխալներ չեն, բայց պետք է նշել

    տեղեկատվություն

    Տեղեկատվական հաղորդագրություններ (սովորական աշխատանք)

    վրիպազերծել

    Վրիպազերծման տեղեկատվություն

    Աղյուսակ 1-ում թվարկված են հաղորդագրության մակարդակները նվազման կարգով: Այս կարգը հետագայում անհրաժեշտ կլինի կազմաձևման ֆայլի շարահյուսության քննարկման ժամանակ:

    Նույն տողում գրված հաղորդագրության մակարդակի նշանակիչները (օրինակ՝ emerg և panic) հոմանիշներ են, և դրանցից ցանկացածը կարող է օգտագործվել: Այնուամենայնիվ, խուճապը, սխալը և նախազգուշացումը (ցուցված է աղյուսակում երկրորդը) հնացած են և պետք է խուսափել կազմաձևման ֆայլը խմբագրելիս: Փոխարենը օգտագործեք emerg, err և զգուշացում:

    Հաղորդագրության հնարավոր աղբյուրները թվարկված են Աղյուսակ 2-ում.

    Աղյուսակ 2. Հաղորդագրությունների աղբյուրները

    Աղբյուր

    Նկարագրություն

    միջուկ

    Միջուկային հաղորդագրություններ

    auth, autpriv

    անվտանգություն

    Անվտանգության հաղորդագրություններ (օրինակ՝ firewall-ից)

    մխիթարել

    Հաղորդագրություններ, որոնք գալիս են վահանակ (/ dev / կոնսոլ)

    syslog

    Պատվերով syslog հաղորդագրություններ

    քրոն

    Cron ենթահամակարգի հաղորդագրություններ

    Ժամանակի ծառայության հաղորդագրություններ

    Գրառումներ FTP սերվերներ

    Տպել ենթահամակարգի հաղորդագրությունները

    փոստ

    Փոստային ծառայություններից հաղորդագրություններ

    նորություններ

    Լրատվական ծառայության հաղորդագրություններ

    uucp

    Գրառումներ UUCP

    դեմոն

    Համակարգում աշխատող այլ դևերի հաղորդագրություններ

    օգտագործող

    Օգտատիրոջ գործընթացի հաղորդագրությունները

    local0 - տեղական7

    Կարող է օգտագործվել տարբեր օգտվողների կարիքների համար (երբեմն օգտագործվում է նաև համակարգի կողմից)

    Հավելվածը syslog ծառայության հետ աշխատելու համար կարգավորելիս ստուգեք, թե որ հնարավորությունն է այն օգտագործում: Որոշ ծրագրեր թույլ են տալիս ինքներդ նշել աղբյուրը: Օրինակ, clamd daemon-ը (clamav հակավիրուսային հիմնական պրոցեսը) լռելյայն օգտագործում է local6, բայց թույլ է տալիս նշել այլ աղբյուր (LogFacility պարամետրը կազմաձևման ֆայլում): Որոշ դեպքերում կարող է օգտակար լինել իր հաղորդագրությունները համատեղել փոստային ծառայությունների հաղորդագրությունների հետ՝ որպես աղբյուր նշելով LOG_MAIL:

    Daemon գործարկման ընտրանքներ

    Գործարկման ընտրանքների ամբողջական ցանկը կարելի է գտնել syslogd man էջում: Այստեղ մենք կդիտարկենք դրանցից միայն մի քանիսը:

    Syslog-ը կարող է մուտքային հաղորդագրություններ գրել գրանցամատյանների ֆայլերի վրա (որոնք սովորաբար գտնվում են / var / log գրացուցակում), ուղարկել դրանք կոնսոլ կամ միացված օգտվողի տերմինալ, ուղարկել դրանք հեռավոր հոսթին կամ խողովակաշար ուղարկել դրանք արտաքին կոմունալ վերամշակում։

    Ցանցի համար syslog-ն օգտագործում է 514 պորտերը (UDP և TCP): Syslogd-ը, որը գործարկվել է առանց լրացուցիչ պարամետրերի, կլսի այս նավահանգիստները մուտքային հաղորդագրությունների համար: -s անջատիչը անջատում է մուտքային հաղորդագրությունները, սակայն 514 նավահանգիստների վարդակները դեռ ստեղծված են ելքային կապերի համար, որպեսզի syslogd-ը կարողանա հաղորդագրություններ ուղարկել հեռավոր հոսթներին: Բանալին (-ss) կրկնապատկելը նույնպես հերքում է ելքային կապերը:

    Լռելյայնորեն, syslogd-ը սկսվում է -s անջատիչով (տես /etc/defaults/rc.conf, syslogd_flags պարամետրը), ուստի մուտքային կապերը մերժվում են: Եթե ​​ցանկանում եք օգտագործել ձեր սերվերի syslog ծառայությունը մի քանի մեքենաներ սպասարկելու համար, ավելացրեք հետևյալ տողը /etc/rc.conf.

    syslogd_flags = ””

    Սա կշրջանցի /etc/defaults/rc.conf-ում սահմանված արժեքը, որպեսզի syslogd-ը կարողանա կառավարել մուտքային կապերը: Բնականաբար, այս դեպքում անհրաժեշտ է ապահովել անվտանգության պահանջվող մակարդակը՝ բացառելով օտարերկրյա հոսթների՝ ձեր լոգերի վրա որևէ բան գրելու հնարավորությունը։ -a անջատիչը թույլ է տալիս մուտքային կապերի սահմանափակումներ սահմանել (տես man syslogd): Կարևոր դեր է խաղում նաև պատշաճ կազմաձևված firewall-ը:

    Մեկ այլ օգտակար անջատիչ -l թույլ է տալիս նշել լրացուցիչ վարդակից ֆայլեր, որոնք syslogd-ը լսում է ի լրումն լռելյայն / var / run / log-ի: Օրինակ, այս անջատիչը պահանջվում է, որպեսզի syslog-ը կարողանա կառավարել chroot միջավայրում աշխատող ծրագրերը: Մասնավորապես, BIND 9-ից ի վեր անվանումն այսպես է աշխատում: FreeBSD 5.3-ում syslogd-ը սկսվում է հետևյալ ստեղներով.

    # ps -մոմ | grep syslog

    321 ?? Ss 0: 01.67 / usr / sbin / syslogd -l / var / run / log -l / var / named / var / run / log -s

    Կազմաձևման ֆայլի շարահյուսություն

    Լոգինգը կազմաձևված է /etc/syslog.conf ֆայլում: Անհասկանալի է, որ միայն արմատային օգտվողը կարող է խմբագրել այն: Այս ֆայլը պարունակում է երկու տեսակի տողեր՝ եկեք դրանք անվանենք «ֆիլտրեր» և «կանոններ»:

    Զտիչի տողը սահմանում է այն ծրագիրը կամ հոսթինգը, որը պետք է կիրառի հետևյալ կանոնները հաղորդագրությունների նկատմամբ: «! Prog» (կամ «#! Prog») նման զտիչը ցույց է տալիս, որ հետևյալ տողերը վերաբերում են նշված պրոգ ծրագրի կողմից ստեղծված տեղեկամատյաններին: Այս գրառման հոմանիշն է «! + Prog»: Ընդհակառակը, «! -Prog» տողը նշանակում է, որ հետևյալ կանոնները կկիրառվեն բոլոր հաղորդագրությունների վրա, բացառությամբ այն հաղորդագրությունների, որոնք գալիս են prog ծրագրից: Թույլատրվում է թվարկել մի քանի ծրագրեր՝ բաժանված ստորակետերով, մինչդեռ «+» կամ «-» նշանը կիրառվում է ամբողջ ցանկի վրա։

    Եթե ​​ֆիլտրի տողը նշված է որպես «+ hostname», ապա նշված հոսթինգը կօգտագործվի որպես հաղորդագրությունների աղբյուր, որոնք պետք է մշակվեն հետագա կանոններով: Ինչպես հաղորդումների դեպքում, «-» խորհրդանիշը ցույց է տալիս, որ կանոնները կկիրառվեն բոլոր հաղորդագրությունների վրա, բացառությամբ նշված հաղորդավարից եկող հաղորդագրությունների: Դուք կարող եք նշել ստորակետերով բաժանված հոսթինգների ցանկը:

    «*» նիշը, որը նշված է որպես ծրագիր կամ հոսթ, կշրջանցի նախկինում սահմանված զտիչը: Այսինքն՝ նման տողից հետո նշված կանոնները կկիրառվեն բոլոր հաղորդագրությունների վրա։ Հոսթի անվանումով կամ ծրագրով զտիչները միմյանցից անկախ են և կարող են միաժամանակ գործել: Օրինակ:

    # Այստեղ տեղակայված կանոնները վերաբերում են բոլոր հաղորդագրություններին

    My.host

    # Կանոններ կիրառվում են my.host-ի բոլոր հաղորդագրությունների համար

    անտառահատ

    # Կանոններ կիրառվում են my.host-ով լոգերի հաղորդագրությունների համար (հյուրընկալող զտիչը շարունակում է գործել)

    # Կանոններ կիրառվում են my.host-ով su-ից ստացվող հաղորդագրությունների համար

    # Կանոններ կիրառվում են ցանկացած հոսթից su-ից ստացված հաղորդագրությունների համար (հյուրընկալող զտիչը չեղարկված է, ծրագրի զտիչը շարունակվում է)

    # Կանոնները կիրառվում են բոլոր հաղորդագրությունների վրա (ծրագրի զտիչը նույնպես չեղարկված է)

    Կանոնների տողերը հետևյալն են.

    facility.CMPlevel նպատակակետ

    Այստեղ հարմարանքը հաղորդագրության աղբյուրն է («*» նշանակում է ցանկացած աղբյուր), մակարդակը հաղորդագրությունների մակարդակն է, որոնք մշակվելու են այս կանոնին համապատասխան: Մակարդակի փոխարեն նշված «ոչ մի» ծառայողական բառը հրահանգում է ամբողջությամբ բացառել հաղորդագրություններն այս աղբյուրից։

    CMP - համեմատական ​​գործողություն (նշաններ «>», «<», «=», «>=», «<=», а также символ отрицания «!»). Если символ сравнения не указан, подразумевается «больше или равно», то есть обрабатываются все сообщения уровня level и выше.

    Նպատակակետը նշում է, թե որտեղ պետք է պահվի այս հաղորդագրությունը: Սա կարող է լինել գրանցամատյանի ֆայլ (նշված է ամբողջական ուղին, սկսած «/»–ով), հեռավոր սերվերի հասցեն (սկսած «@» նշանով), օգտվողի անուն (հաղորդագրությունները կուղարկվեն այն տերմինալին, որին այս օգտվողը կուղարկվի։ միացված է): Նաև հաղորդագրությունը կարող է փոխանցվել արտաքին ծրագրի՝ մշակման համար, որի համար օգտագործվում է խողովակի «|» նշանը։

    Կանոնների մի քանի օրինակ

    Միջուկի բոլոր հաղորդագրությունները կուղարկվեն kern.log ֆայլ:

    միջուկ * /var/log/kern.log

    Բոլոր սխալի հաղորդագրությունները, ինչպես նաև emerg, alert և crit մակարդակի հաղորդագրությունները կտեղադրվեն all-err.log-ում: Ուշադրություն դարձրեք գրանցամատյանի ֆայլի անվան դիմաց գծիկին: Լռելյայնորեն, հաղորդագրությունները պահվում են հիշողության մեջ և գրվում սկավառակի վրա, երբ բուֆերը լցվում է: Սա նվազեցնում է ֆայլային համակարգի բեռը, բայց դա կարող է հանգեցնել որոշ տեղեկատվության կորստի, երբ սարքը խափանում է: Ֆայլի անվան դիմաց գտնվող գծիկը ստիպում է syslogd daemon-ին անմիջապես հաղորդագրություններ գրել սկավառակի վրա:

    * .err - / var / log / all-err.log

    Օգտատիրոջ գործընթացներից վրիպազերծման հաղորդագրությունները կուղարկվեն տերմինալ, որին ներկայումս միացված է օգտատերը vasya:

    user.debug vasya

    Նորությունների և էլեկտրոնային փոստի ծառայություններից ստացված բոլոր հաղորդագրությունները կփոխանցվեն syslog.host.ru մեքենայի 514 պորտ:

    փոստ *, նորություններ * @ syslog.host.ru

    Բոլոր տպագիր ծառայության նախազգուշացման հաղորդագրությունները կտեղադրվեն նշված ֆայլում: Ինչպես նշվեց ավելի վաղ, լռելյայն ավելի մեծ է կամ հավասար է համեմատությանը, և the! այն շրջվում է՝ այն փոխարինելով «պակաս»-ով։ Եթե ​​Ձեզ անհրաժեշտ է բացառել որոշակի մակարդակ, դուք պետք է օգտագործեք «! =" կառուցումը:

    lpr.! զգուշացում /var/log/printers.log

    Վրիպազերծման մակարդակի հաղորդագրությունները (և միայն վրիպազերծման հաղորդագրությունները) հաստատության մակարդակ 0 և 3 մակարդակով կուղարկվեն բոլոր միացված տերմինալներին:

    մակարդակ 0, մակարդակ 3. = վրիպազերծում *

    Time Service հաղորդագրությունները, որոնք ավելի բարձր են, քան կրիտիկականը (այսինքն՝ emerg և alert) և պակաս կամ հավասար են ծանուցմանը (ծանուցում, տեղեկատվություն և վրիպազերծում), կուղարկվեն ntpuser և root օգտվողների տերմինալներ:

    ntp.> crit,<=notice ntpuser,root

    Բոլոր նախազգուշական հաղորդագրությունները, բացառությամբ փոստային ծառայությունների, կգրվեն warn.log ֆայլում:

    *. = զգուշացում, mail.none /var/log/warn.log

    Այս դեպքում բոլոր հաղորդագրությունները, որոնց մակարդակը ավելի կամ հավասար է crit-ին, էլփոստով կուղարկվեն արմատային օգտվողին:

    * .կրիտ | փոստ -s «կրիտիկական հաղորդագրություն» արմատը

    Ինչպես տեսնում եք, կազմաձևման ֆայլի ձևաչափը թույլ է տալիս մի շարք մակարդակների, աղբյուրների և նպատակակետերի ցուցակագրումը մեկ տողում, որն ավելի ճկուն է դարձնում կազմաձևը: Որպեսզի փոփոխություններն ուժի մեջ մտնեն խմբագրումից հետո, դուք պետք է HUP ազդանշան ուղարկեք syslogd գործընթացին.

    # kill –HUP «cat / var / run / syslog.pid»:

    Հարկ է նշել, որ եթե այս կամ այն ​​հաղորդագրությունը ընկնի կազմաձևման ֆայլի մի քանի տողերի գործողության տակ, ապա այն կմշակվի դրանցից յուրաքանչյուրին համապատասխան։ Օրինակ:

    փոստ: * / var / log / maillog

    *. = err /var/log/error.log

    Այս դեպքում mail.err հաղորդագրությունները կգնան և՛ maillog, և՛ error.log:

    Կազմաձևման ֆայլի ռազմավարություն

    Ավարտելով կազմաձևման ֆայլի իմ դիտարկումը, ես մի քանի խոսք կասեմ դրա կազմման ռազմավարությունների մասին: Ի լրումն շատ տարածված «եթե միայն աշխատի», կան երկու հիմնական, որոնք պայմանականորեն կանվանենք «ըստ աղբյուրի» և «ըստ նպատակի»։

    • Առաջին ռազմավարությունը, որը կարելի է դիտարկել մի շարք GNU/Linux բաշխումներում, յուրաքանչյուր հաղորդագրության աղբյուրի համար տարբեր կանոն գրելն է (կամ կանոնների խումբ, եթե տարբեր մակարդակների հաղորդագրությունները պետք է տարբեր կերպ մշակվեն): Դրա առավելությունն այն պարզությունն է, թե որտեղ են գրվում կոնկրետ ծառայությունների հաղորդագրությունները:
    • «Ըստ նպատակակետի» ռազմավարությունն է՝ հնարավորության դեպքում ստեղծել միայն մեկ տող հաղորդագրության յուրաքանչյուր «ստացողի», օրինակ՝ ֆայլի համար: Այս մոտեցումն է, մասնավորապես, FreeBSD-ի կողմից: Արդյունքում, դուք կարող եք հեշտությամբ որոշել, թե ինչ տեղեկատվություն է գրանցված որոշակի log ֆայլում, բայց, օրինակ, միջուկի հաղորդագրությունների նպատակակետերը պետք է հավաքվեն ամբողջ կազմաձևման ֆայլից:

    Logger կոմունալ

    Համակարգը ներառում է լոգերի կոմունալ ծրագիր, որը թույլ է տալիս հաղորդագրություններ ուղարկել syslog ծառայությանն անմիջապես հրամանի տողից: Հարմար է այն օգտագործել կոնֆիգուրացիայի կանոնները ստուգելիս, ինչպես նաև դրանց աշխատանքը գրանցելու համար սցենարներ մշակելիս: Օրինակներ.

    օգտվող $ logger -p user.err «Սխալ օգտվողի ծրագրում»:

    օգտվող $ logger -h syslog.host.ru «Փորձեք այն»

    Առաջին օրինակը կուղարկի err մակարդակի հաստատության օգտվողի հաղորդագրություն, որը կմշակվի ըստ կազմաձևման ֆայլի: Երկրորդ հրամանը հաղորդագրություն կուղարկի հեռավոր հոսթին, աղբյուրը և լռելյայն մակարդակը կսահմանվեն user.notice:

    Օգտագործելով ռոտացիոն մեխանիզմներ

    Վերևում քննարկված գրանցամատյանների մեխանիզմը չի ապահովում գրանցամատյանների որևէ կառավարում: Հաղորդագրությունները պարզապես տեղադրվում են դրանց մեջ ըստ կազմաձևման ֆայլում նկարագրված կանոնների: Սա նշանակում է, որ տեղեկամատյանների ֆայլերը անընդհատ աճելու են, և եթե ոչինչ չի արվում, վաղ թե ուշ դրանք կլցնեն համապատասխան բաժանման ողջ հասանելի տարածքը։ Դրանից խուսափելու համար օգտագործվում է ռոտացիոն մեխանիզմ:

    Օրինակ, հենց որ debug.log ֆայլը գերազանցի 100 ՄԲ-ը, այն վերանվանվում է debug.log.0 և փաթեթավորվում debug.log.0.bz2-ում: Փոխարենը ստեղծվում է նոր debug.log: Հետո, երբ նոր ֆայլի չափը հասնում է 100 ՄԲ-ի, debug.log.0.bz2-ը վերանվանվում է debug.log.1.bz2, և վերը նշված ընթացակարգը կրկնվում է։ Համակարգը պահպանում է միայն որոշակի քանակությամբ արխիվային ֆայլեր՝ ջնջելով ամենահինը։ Սա ռոտացիա է:

    Newsyslog կոմունալ

    FreeBSD-ում ռոտացիան կառավարվում է newsyslog utility-ի կողմից, որը լռելյայնորեն գործարկվում է ամեն ժամի սկզբում cron daemon-ի կողմից: Դուք կարող եք փոխել ռոտացիայի ժամանակահատվածը՝ խմբագրելով / etc / crontab ֆայլը:

    Վերոնշյալ օրինակում նշված ռոտացիայի պարամետրերը (ֆայլի չափը, փաթեթավորումը), ինչպես նաև մի շարք այլ պարամետրեր, սահմանված են /etc/newsyslog.conf կազմաձևման ֆայլում։ Յուրաքանչյուր ֆայլի համար, որը ռոտացիայի կարիք ունի, այն պարունակում է ընդհանուր առմամբ ինը դաշտերից բաղկացած տող՝ ֆայլի անվանում, սեփականատեր և խումբ, մուտքի իրավունքներ, արխիվի ֆայլի անվան մեջ ամենամեծ թիվը, ֆայլի առավելագույն չափը, պտտման ժամանակահատվածը, լրացուցիչ դրոշները և PID ֆայլի ուղին: ռոտացիայից հետո ազդանշան ուղարկելու դիմումի և ուղարկվելիք ազդանշանի համարը: (Ձեզ կարող է անհրաժեշտ լինել ազդանշան ուղարկել գործընթացին, օրինակ, եթե գործընթացը մշտապես բաց է պահում գրանցամատյանի ֆայլը, հակառակ դեպքում օգտագործված ֆայլի նկարագրիչը չի համընկնի նոր ստեղծված ֆայլի հետ:) Որոշ դաշտեր կարող են բաց թողնել: Ահա երկու օրինակ՝ ամբողջական և բնորոշ.

    / var / log / pflog արմատը՝ անիվ 600 3 100 * JB /var/run/pflog.pid 1

    Համաձայն այս կանոնի՝ pflog ֆայլը պետք է վերագրվի, հենց որ դրա չափը գերազանցի 100 ՄԲ-ը (5-րդ դաշտ), անկախ ժամանակից (6-րդ դաշտում «*»): Արխիվային ֆայլերը կունենան այնպիսի անուններ, ինչպիսիք են pflog.X.bz2 (pflog.0.bz2, pflog.1.bz2 և այլն), և X-ը չի կարող երեքից ավելի լինել (3-րդ պարամետրը 4-րդ դաշտում): J դրոշը ցույց է տալիս, որ արխիվային ֆայլը պետք է սեղմվի՝ օգտագործելով bzip2 կոմունալ ծրագիրը: B դրոշի շնորհիվ ռոտացիայի մասին ծառայության հաղորդագրությունները չեն ավելացվի արխիվացված և նոր ստեղծված ֆայլերին, քանի որ ֆայլը ընկալվում է որպես երկուական: Նորաստեղծ ֆայլը կպատկանի արմատային օգտվողին և անիվների խմբին (այս դաշտը կարող էր բաց թողնել, քանի որ սա լռելյայն սեփականատերն է): Թույլտվությունները կսահմանվեն rw ------- (թվային արժեքը 600), ինչը նշանակում է, որ միայն սեփականատերը կարող է կարդալ և գրել այս ֆայլը: Վերջապես, 1 (HUP) ազդանշան կուղարկվի գործընթացին, որի PID-ը պահվում է /var/run/pflog.pid-ում՝ իր log ֆայլը նորից բացելու համար:

    / var / log / maillog 640 7 * @ T00 Ջ

    Այս կանոնը սահմանում է maillog ֆայլի պտտման պարամետրերը. անկախ չափից (աստղանիշ 5-րդ դաշտում), ֆայլը կվերագրվի ամեն երեկո ժամը 00:00-ին (ժամանակի ձևաչափի մանրամասն նկարագրության համար տե՛ս man newsyslog.conf): . Արխիվը պետք է փաթեթավորվի, վերջին 8 արխիվները կպահվեն (0-ից 7-ը ներառյալ թվերով), նորաստեղծ ֆայլը կպատկանի արմատային օգտատիրոջը (կանխադրված արժեքը, հետևաբար սեփականատիրոջ դաշտը բաց է թողնվել) և կունենա rw-r: ----- թույլտվություններ:

    Դուք կարող եք օգտագործել zcat և bzcat կոմունալ ծառայությունները (համապատասխանաբար gzip-ի և bzip2-ի համար)՝ փաթեթավորված մատյան ֆայլերը դիտելու համար: Midnight Commander-ը ավտոմատ կերպով կանչում է համապատասխան կոմունալ ծառայություններ:

    Newsyslog.conf ֆայլը խմբագրելուց հետո ոչ մի տեղ ազդանշաններ ուղարկելու կարիք չկա. հաջորդ անգամ newsyslog-ը կանչելիս կոնֆիգուրացիան կվերընթերցվի:

    Նկատի ունեցեք, որ newsyslog կոմունալ ծրագիրը կապված չէ syslogd դեմոնի հետ: Այսինքն, այն կարող է օգտագործվել ցանկացած ֆայլ պտտելու համար, որը դրա կարիքն ունի: Եթե ​​ռոտացիան միացված է տեղեկամատյանների համար, որոնք հավելվածն ինքնուրույն է պահում (օրինակ՝ կակղամորթ կամ կաղամարների տեղեկամատյանների համար), ապա առանձնահատուկ ուշադրություն դարձրեք սեփականատիրոջը և մուտքի իրավունքները նշելուն: Դրանց սխալ նշելը կարող է հանգեցնել նրան, որ ռոտացիայից հետո որպես արտոնյալ օգտվող գործարկված հավելվածը չի կարողանա գրել նոր ստեղծված ֆայլին:

    Ամփոփելով

    Syslog համակարգը շատ հզոր և արդյունավետ գործիք է համակարգում տեղի ունեցող տարբեր իրադարձությունների գրանցման համար: Լռելյայն կարգավորումները բավականին հավասարակշռված են և լավ են աշխատում համակարգերի մեծ մասի համար: Այնուամենայնիվ, հասկանալով, թե ինչպես է աշխատում syslog-ը, թույլ կտա զգալիորեն բարելավել գրանցման որակը՝ հարմարեցնելով գրանցումը ձեր հատուկ կարիքներին համապատասխան: