सिसलॉग
Original author(s) | Eric Allman |
---|---|
Initial release | 1980s |
Operating system | Unix-like |
Type | System logging |
कम्प्यूटिंग में, syslog /ˈsɪslɒɡ/ बोटा दस्तावेज के लिए एक मानक है। यह उस सॉफ़्टवेयर को अलग करने की अनुमति देता है जो संदेश उत्पन्न करता है, सिस्टम जो उन्हें संग्रहीत करता है, और सॉफ़्टवेयर जो उन्हें रिपोर्ट और विश्लेषण करता है। प्रत्येक संदेश को एक फैसिलिटी कोड के साथ लेबल किया जाता है, जो संदेश उत्पन्न करने वाले सिस्टम के प्रकार को दर्शाता है, और एक गंभीरता स्तर निर्दिष्ट किया जाता है।
कंप्यूटर सिस्टम डिज़ाइनर सिस्टम प्रबंधन और सुरक्षा ऑडिटिंग के साथ-साथ सामान्य सूचनात्मक, विश्लेषण और डिबगिंग संदेशों के लिए syslog का उपयोग कर सकते हैं। उपकरणों की एक विस्तृत विविधता, जैसे प्रिंटर, राउटर, और कई प्लेटफॉर्म पर संदेश रिसीवर, syslog मानक का उपयोग करते हैं। यह एक केंद्रीय रिपॉजिटरी में विभिन्न प्रकार के सिस्टम से लॉगिंग डेटा के समेकन की अनुमति देता है। कई ऑपरेटिंग सिस्टम के लिए syslog का कार्यान्वयन मौजूद है।
नेटवर्क पर काम करते समय, syslog एक ग्राहक सर्वर आर्किटेक्चर का उपयोग करता है, जहाँ एक syslog सर्वर क्लाइंट से आने वाले संदेशों को सुनता है और लॉग करता है।
इतिहास
Syslog को 1980 के दशक में Sendmail प्रोजेक्ट के हिस्से के रूप में Eric Allman द्वारा विकसित किया गया था।[1] इसे अन्य अनुप्रयोगों द्वारा आसानी से अपनाया गया था और तब से यह यूनिक्स जैसी प्रणालियों पर मानक लॉगिंग समाधान बन गया है।[2] अन्य ऑपरेटिंग सिस्टम पर भी विभिन्न प्रकार के कार्यान्वयन मौजूद हैं और यह आमतौर पर राउटर (कंप्यूटिंग) जैसे नेटवर्क उपकरणों में पाया जाता है।[3] Syslog मूल रूप से एक वास्तविक मानक के रूप में कार्य करता था, बिना किसी आधिकारिक प्रकाशित विनिर्देश के, और कई कार्यान्वयन मौजूद थे, जिनमें से कुछ असंगत थे। इंटरनेट इंजीनियरिंग टास्क फोर्स ने 2001 के अगस्त में RFC 3164 में यथास्थिति का दस्तावेजीकरण किया। इसे 2009 के मार्च में RFC 5424 द्वारा मानकीकृत किया गया था।[4] विभिन्न कंपनियों ने syslog कार्यान्वयन के विशिष्ट पहलुओं के लिए पेटेंट का दावा करने का प्रयास किया है।[5][6] प्रोटोकॉल के उपयोग और मानकीकरण पर इसका बहुत कम प्रभाव पड़ा है।[citation needed]
संदेश घटक
syslog संदेश के प्रवर्तक द्वारा प्रदान की गई जानकारी में सुविधा कोड और गंभीरता स्तर शामिल हैं। syslog सॉफ्टवेयर syslog रिसीवर में प्रवेश करने से पहले सूचना शीर्षलेख में जानकारी जोड़ता है। ऐसे घटकों में एक प्रवर्तक प्रक्रिया आईडी, एक TIMESTAMP और डिवाइस का होस्टनाम या आईपी पता शामिल है।
सुविधा
सुविधा कोड का उपयोग सिस्टम के उस प्रकार को निर्दिष्ट करने के लिए किया जाता है जो संदेश लॉग कर रहा है. विभिन्न सुविधाओं वाले संदेशों को अलग तरीके से हैंडल किया जा सकता है।[7] उपलब्ध सुविधाओं की सूची मानक द्वारा वर्णित है:[4]: 9
Facility code | Keyword | Description |
---|---|---|
0 | kern | Kernel messages |
1 | user | User-level messages |
2 | Mail system | |
3 | daemon | System daemons |
4 | auth | Security/authentication messages |
5 | syslog | Messages generated internally by syslogd |
6 | lpr | Line printer subsystem |
7 | news | Network news subsystem |
8 | uucp | UUCP subsystem |
9 | cron | Cron subsystem |
10 | authpriv | Security/authentication messages |
11 | ftp | FTP daemon |
12 | ntp | NTP subsystem |
13 | security | Log audit |
14 | console | Log alert |
15 | solaris-cron | Scheduling daemon |
16–23 | local0 – local7 | Locally used facilities |
अलग-अलग ऑपरेटिंग सिस्टम और syslog कार्यान्वयन में सुविधा कोड और कीवर्ड के बीच मैपिंग एक समान नहीं है।[8]
गंभीरता स्तर
गंभीरता की सूची भी मानक द्वारा वर्णित है:[4]: 10
Value | Severity | Keyword | Deprecated keywords | Description | Condition |
---|---|---|---|---|---|
0 | Emergency | emerg |
panic [9] |
System is unusable | A panic condition.[10] |
1 | Alert | alert |
Action must be taken immediately | A condition that should be corrected immediately, such as a corrupted system database.[10] | |
2 | Critical | crit |
Critical conditions | Hard device errors.[10] | |
3 | Error | err |
error [9] |
Error conditions | |
4 | Warning | warning |
warn [9] |
Warning conditions | |
5 | Notice | notice |
Normal but significant conditions | Conditions that are not error conditions, but that may require special handling.[10] | |
6 | Informational | info |
Informational messages | Confirmation that the program is working as expected. | |
7 | Debug | debug |
Debug-level messages | Messages that contain information normally of use only when debugging a program.[10] |
आपातकाल और डिबग के अलावा अन्य गंभीरता स्तरों का अर्थ अनुप्रयोग के सापेक्ष है। उदाहरण के लिए, यदि सिस्टम का उद्देश्य ग्राहक खाते की शेष राशि की जानकारी को अद्यतन करने के लिए लेन-देन को संसाधित करना है, तो अंतिम चरण में एक त्रुटि को अलर्ट स्तर निर्दिष्ट किया जाना चाहिए। हालाँकि, ग्राहक के ज़िप कोड को प्रदर्शित करने के प्रयास में होने वाली त्रुटि को त्रुटि या चेतावनी स्तर भी सौंपा जा सकता है।
सर्वर प्रक्रिया जो संदेशों के प्रदर्शन को संभालती है, आमतौर पर सभी निचले (अधिक गंभीर) स्तर शामिल होते हैं जब कम गंभीर स्तरों के प्रदर्शन का अनुरोध किया जाता है। यानी, अगर संदेशों को अलग-अलग गंभीरता से अलग किया जाता है, तो सूचना, जानकारी और डीबग संदेशों के लिए फ़िल्टर करते समय एक चेतावनी स्तर की प्रविष्टि भी शामिल की जाएगी।[11]
संदेश
RFC 3164 में, संदेश घटक (जिसे MSG के रूप में जाना जाता है) को इन क्षेत्रों के रूप में निर्दिष्ट किया गया था: TAG, जो उस प्रोग्राम या प्रक्रिया का नाम होना चाहिए जो संदेश उत्पन्न करता है, और सामग्री जिसमें संदेश का विवरण होता है।
आरएफसी 5424 में वर्णित,[12] MSG को RFC 3164 में CONTENT कहा जाता था। TAG अब हेडर का हिस्सा है, लेकिन एक फ़ील्ड के रूप में नहीं। TAG को APP-NAME, PROCID और MSGID में विभाजित किया गया है। यह पूरी तरह से TAG के उपयोग जैसा नहीं है, लेकिन अधिकांश मामलों के लिए समान कार्यक्षमता प्रदान करता है। लोकप्रिय syslog उपकरण जैसे कि रूपलॉग इस नए मानक के अनुरूप है।
सामग्री फ़ील्ड को UTF-8 वर्ण सेट में एन्कोड किया जाना चाहिए और पारंपरिक ASCII#ASCII नियंत्रण वर्णों में ऑक्टेट मानों से बचना चाहिए।[13][14]
लकड़हारा
जनरेट किए गए लॉग संदेशों को सिस्टम कंसोल, फ़ाइलें, रिमोट syslog सर्वर या रिले सहित विभिन्न गंतव्यों के लिए निर्देशित किया जा सकता है। लॉग को संदेश भेजने के लिए अधिकांश कार्यान्वयन एक कमांड लाइन उपयोगिता प्रदान करते हैं, जिसे अक्सर लकड़हारा कहा जाता है, साथ ही एक सॉफ्टवेयर पुस्तकालय भी।[15] एकत्रित लॉग को प्रदर्शित और मॉनिटर करने के लिए क्लाइंट एप्लिकेशन का उपयोग करने या लॉग फ़ाइल को सीधे सिस्टम पर एक्सेस करने की आवश्यकता होती है। बुनियादी कमांड लाइन उपकरण टेल (यूनिक्स) और पकड़ हैं। लॉग सर्वर को नेटवर्क पर लॉग भेजने के लिए कॉन्फ़िगर किया जा सकता है (स्थानीय फ़ाइलों के अतिरिक्त)। कुछ कार्यान्वयनों में syslog संदेशों को फ़िल्टर करने और प्रदर्शित करने के लिए रिपोर्टिंग प्रोग्राम शामिल हैं।
नेटवर्क प्रोटोकॉल
नेटवर्क पर काम करते समय, syslog क्लाइंट-सर्वर आर्किटेक्चर का उपयोग करता है जहां सर्वर क्लाइंट से प्रोटोकॉल अनुरोधों के लिए एक प्रसिद्ध पोर्ट | प्रसिद्ध या पंजीकृत पोर्ट पर सुनता है। ऐतिहासिक रूप से नेटवर्क लॉगिंग के लिए सबसे आम ट्रांसपोर्ट लेयर प्रोटोकॉल डेटाग्राम प्रोटेकॉलका उपयोग करें (UDP) रहा है, जिसमें सर्वर पोर्ट 514 पर सुनता है।[16] क्योंकि यूडीपी में कंजेशन कंट्रोल मैकेनिज्म का अभाव है, प्रसारण नियंत्रण प्रोटोकॉल (टीसीपी) पोर्ट 6514 का उपयोग किया जाता है; परिवहन परत सुरक्षा कार्यान्वयन में भी आवश्यक है और सामान्य उपयोग के लिए अनुशंसित है।[17][18]
सीमाएं
चूंकि प्रत्येक प्रक्रिया, एप्लिकेशन और ऑपरेटिंग सिस्टम को स्वतंत्र रूप से लिखा गया था, इसलिए लॉग संदेश के पेलोड में थोड़ी एकरूपता है। इस कारण इसके स्वरूपण या सामग्री के बारे में कोई अनुमान नहीं लगाया जाता है। एक syslog संदेश स्वरूपित है (RFC 5424 ऑगमेंटेड बैकस-नौर फॉर्म (ABNF) परिभाषा देता है), लेकिन इसका MSG फ़ील्ड नहीं है।
नेटवर्क प्रोटोकॉल सरल संचार है, जिसमें प्रवर्तक को वितरण को स्वीकार करने का कोई साधन नहीं है।
आउटलुक
विभिन्न समूह ड्राफ्ट मानकों पर काम कर रहे हैं, जो कि केवल नेटवर्क और सुरक्षा इवेंट लॉगिंग से अधिक के लिए syslog के उपयोग का विवरण देते हैं, जैसे स्वास्थ्य देखभाल वातावरण में इसका प्रस्तावित अनुप्रयोग।[19] सरबेंस-ऑक्सले अधिनियम, पीसीआई डीएसएस, एचआईपीएए और कई अन्य जैसे विनियमों के लिए संगठनों को व्यापक सुरक्षा उपायों को लागू करने की आवश्यकता होती है, जिसमें अक्सर कई अलग-अलग स्रोतों से लॉग एकत्र करना और उनका विश्लेषण करना शामिल होता है। लॉग को समेकित करने में syslog प्रारूप प्रभावी साबित हुआ है, क्योंकि इन लॉग की रिपोर्टिंग और विश्लेषण के लिए कई ओपन-सोर्स और मालिकाना उपकरण हैं। विंडोज इवेंट लॉग और अन्य लॉग प्रारूपों से syslog में रूपांतरण के लिए उपयोगिताएँ मौजूद हैं।
प्रबंधित सुरक्षा सेवा प्रदाता पैटर्न का पता लगाने और ग्राहकों को समस्याओं के प्रति सचेत करने के लिए विश्लेषणात्मक तकनीकों और कृत्रिम बुद्धिमत्ता एल्गोरिदम को लागू करने का प्रयास करते हैं।[20]
इंटरनेट मानक दस्तावेज़
Syslog प्रोटोकॉल को इंटरनेट इंजीनियरिंग टास्क फोर्स (इंटरनेट मानकों) द्वारा प्रकाशित टिप्पणियों के लिए अनुरोध (RFC) दस्तावेजों द्वारा परिभाषित किया गया है। निम्नलिखित RFC की एक सूची है जो syslog प्रोटोकॉल को परिभाषित करती है:[21]
- बीएसडी सिसलॉग प्रोटोकॉल. RFC 3164. (द्वारा अप्रचलित सिसलॉग प्रोटोकॉल. RFC 5424.)
- syslog के लिए विश्वसनीय डिलीवरी. RFC 3195.
- सिसलॉग प्रोटोकॉल. RFC 5424.
- Syslog के लिए TLS ट्रांसपोर्ट मैपिंग. RFC 5425.
- UDP पर Syslog संदेशों का प्रसारण. RFC 5426.
- Syslog प्रबंधन के लिए शाब्दिक सम्मेलन. RFC 5427.
- हस्ताक्षरित Syslog संदेश. RFC 5848.
- Syslog के लिए डेटाग्राम ट्रांसपोर्ट लेयर सिक्योरिटी (DTLS) ट्रांसपोर्ट मैपिंग. RFC 6012.
- टीसीपी पर Syslog संदेशों का प्रसारण. RFC 6587.
यह भी देखें
- लेखापरीक्षा
- सामान्य लॉग प्रारूप
- कंसोल सर्वर
- डेटा प्रविष्ट कराना
- लॉग प्रबंधन और खुफिया
- लॉगपार्सर
- नेटकॉन्फ़
- रुपयोग
- सुरक्षा इवेंट मैनेजर
- सर्वर लॉग
- सरल नेटवर्क प्रबंधन प्रोटोकॉल (SNMP)
- सिसलॉग-एनजी
- वेब काउंटर
- वेब लॉग विश्लेषण सॉफ्टवेयर
संदर्भ
- ↑ "Eric Allman". Internet Hall of Fame. Retrieved 2017-10-30.
- ↑ "3 great engineering roles to apply for this week". VentureBeat (in English). 2021-08-06. Retrieved 2021-08-16.
- ↑ "Efficient and Robust Syslog Parsing for Network Devices in Datacenter Networks".
{{cite web}}
: CS1 maint: url-status (link) - ↑ 4.0 4.1 4.2 Gerhards, Rainer. The Syslog Protocol. doi:10.17487/RFC5424. RFC 5424.
- ↑ "LXer: Patent jeopardizes IETF syslog standard".
- ↑ "IETF IPR disclosure on HUAWEI's patent claims".
- ↑ "Syslog Facility". Retrieved 22 November 2012.
- ↑ "The Ins and Outs of System Logging Using Syslog". SANS Institute.
- ↑ 9.0 9.1 9.2 "syslog.conf(5) - Linux man page". Retrieved 2017-03-29.
- ↑ 10.0 10.1 10.2 10.3 10.4 "closelog, openlog, setlogmask, syslog - control system log". Retrieved 2017-03-29.
- ↑ "Severity Levels for Syslog Messages". docs.delphix.com. Retrieved 2021-08-16.
- ↑ Gerhards, Rainer (March 2009). "RFC 5424 - The Syslog Protocol". doi:10.17487/RFC5424.
This document describes a layered architecture for syslog. The goal of this architecture is to separate message content from message transport while enabling easy extensibility for each layer.
{{cite journal}}
: Cite journal requires|journal=
(help) - ↑ "Transmission of Syslog Messages over TCP". www.ipa.go.jp. Retrieved 2021-08-16.
- ↑ Gerhards, Rainer (March 2009). "rfc5424". datatracker.ietf.org. Retrieved 2021-08-16.
- ↑ "logger Command". www.ibm.com (in English). Retrieved 2021-08-16.
- ↑ "Syslog Server". www.howtonetwork.com. Retrieved 2021-08-16.
{{cite web}}
: CS1 maint: url-status (link) - ↑ Gerhards, Rainer (March 2009). "RFC 5424 - The Syslog Protocol". doi:10.17487/RFC5424.
{{cite journal}}
: Cite journal requires|journal=
(help) - ↑ Fuyou, Miao; Yuzhi, Ma; Salowey, Joseph A. (March 2009). Miao, F; Ma, Y; Salowey, J (eds.). "RFC 5425 - TLS Transport Mapping for Syslog". doi:10.17487/RFC5425.
{{cite journal}}
: Cite journal requires|journal=
(help) - ↑ "ATNA + SYSLOG is good enough". Healthcare Exchange Standards. 2 January 2012. Retrieved 2018-06-06.
- ↑ Yamanishi, Kenji; Maruyama, Yuko (2005-08-21). "Dynamic syslog mining for network failure monitoring". Proceedings of the Eleventh ACM SIGKDD International Conference on Knowledge Discovery in Data Mining. KDD '05. Chicago, Illinois, USA: Association for Computing Machinery: 499–508. doi:10.1145/1081870.1081927. ISBN 978-1-59593-135-1. S2CID 5051532.
- ↑ "Security Issues in Network Event Logging (syslog)". IETF.
बाहरी संबंध
- Internet Engineering Task Force: Datatracker: syslog Working Group (concluded)
- SANS Institute: "The Ins and Outs of System Logging Using Syslog" (white paper)
- National Institute of Standards and Technology: "Guide to Computer Security Log Management" (Special Publication 800-92) (white paper)
- Network Management Software: "Understanding Syslog: Servers, Messages & Security"
- Paessler IT Explained - Syslog
- MonitorWare: All about Syslog