लॉग प्लगइन्स को परिवर्तित करके Observability को बढ़ाना
Yong Qian
February 24, 2023
आजकल, API गेटवे में लॉग्स अत्यंत महत्वपूर्ण हैं, विशेष रूप से दोष पहचान और समस्या निवारण के लिए, जो संचालन और रखरखाव लागत को बचाते हैं। API गेटवे लॉग डेटा संग्रहण को समर्थन देने में भी बहुत मूल्यवान है। अवलोकनीयता और सिस्टम स्थिरता को बेहतर बनाने के लिए, ओपन-सोर्स API गेटवे Apache APISIX कई लॉग प्लगइन्स का समर्थन करता है, जैसे
elasticsearch-logger,kafka-logger,loggly, औरerror-log-logger।
गेटवे लॉग्स का मूल्य
डिजिटल युग में व्यवसायों के तेजी से विकास के साथ, सॉफ्टवेयर आर्किटेक्चर अधिक जटिल होते जा रहे हैं, जिससे दोष पहचान और निदान अधिक चुनौतीपूर्ण हो गया है। फिर से, यह सॉफ्टवेयर अवलोकनीयता के महत्व को रेखांकित करता है।
लॉग्स अवलोकनीयता के तीन स्तंभों में से एक हैं। वे सिस्टम प्रशासकों और डेवलपर्स को सिस्टम के संचालन स्थिति की जानकारी प्रदान करते हैं, जो समस्याओं को समय पर पहचानने और हल करने में सहायता करते हैं।
इसके अलावा, लॉग्स डेटा खनन, ऑडिटिंग, और सुरक्षा निगरानी जैसे अतिरिक्त उद्देश्यों के लिए भी उपयोग किए जा सकते हैं, जो सिस्टम की अनुपालनता और सुरक्षा को बनाए रखने में मदद करते हैं।
एक API गेटवे एप्लिकेशन और बाहरी दुनिया को जोड़ता है, जो संगठनों को API कॉल्स को बेहतर ढंग से प्रबंधित और मॉनिटर करने में सक्षम बनाता है, जिसमें API कॉल लॉग्स को रिकॉर्ड करने की महत्वपूर्ण कार्यक्षमता शामिल है।

हम निम्नलिखित अनुभागों में API गेटवे लॉग्स के मूल्य को दो दृष्टिकोणों से विश्लेषण करेंगे।
संचालन और रखरखाव का मूल्य
चाहे वह पारंपरिक सिस्टम संचालन और रखरखाव (O&M) हो या आधुनिक SRE (साइट रिलायबिलिटी इंजीनियरिंग), दोषों की खोज और उन्हें ठीक करना हमेशा सिस्टम की स्थिरता सुनिश्चित करने में सर्वोच्च प्राथमिकता होती है। ऐसा इसलिए है क्योंकि किसी भी बड़े ऑनलाइन व्यवसाय के लिए डाउनटाइम का हर सेकंड महत्वपूर्ण व्यावसायिक नुकसान और उपयोगकर्ता अनुभव को नुकसान पहुंचा सकता है।
API गेटवे पूरे सिस्टम के सबसे आगे होता है और "सेंटिनल" की भूमिका निभा सकता है। हम इसके एक्सेस लॉग्स से बहुत सारे महत्वपूर्ण डेटा निकाल सकते हैं जो O&M सिस्टम के लिए महत्वपूर्ण हैं:
- वेबसाइट की उपलब्धता और विशिष्ट अपस्ट्रीम सेवाओं की उपलब्धता की निगरानी के लिए अपस्ट्रीम और डाउनस्ट्रीम स्थिति कोड का विश्लेषण करें।
- वेबसाइट ट्रैफिक की निगरानी के लिए एक्सेस लॉग्स का उपयोग करें और DDoS जैसे हमलों का तुरंत पता लगाएं।
- ट्रैफिक ट्रेंड्स का विश्लेषण करें और व्यावसायिक सिस्टम को स्केल अप या डाउन करने के लिए संदर्भ प्रदान करें।
- अनुरोध प्रसंस्करण समय को ट्रैक करें और इंटरफ़ेस-स्तरीय प्रदर्शन रिपोर्ट्स उत्पन्न करें ताकि व्यावसायिक सिस्टम प्रदर्शन को अनुकूलित करने के लिए डेटा संदर्भ प्रदान किया जा सके।
उपरोक्त कुछ सर्वोत्तम प्रथाएं हैं जो API गेटवे लॉग्स के लिए उद्योग में व्यापक रूप से अपनाई जाती हैं और कई उद्यमों के संचालन और रखरखाव सिस्टम में लागू की जाती हैं।
व्यावसायिक मूल्य
व्यापक रूप से मान्यता प्राप्त संचालन मूल्य की तुलना में, गेटवे लॉग्स का व्यावसायिक मूल्य अक्सर अनदेखा किया जाता है।
उदाहरण के लिए, उपयोगकर्ता व्यवहार विश्लेषण में, एन्कोडिंग प्रोग्राम में इवेंट ट्रैकिंग के माध्यम से डेटा संग्रहण का सबसे सामान्य तरीका है। हालांकि, एक अच्छी तरह से डिज़ाइन किए गए API के लिए, गेटवे लॉग्स स्वाभाविक रूप से ऐसी आवश्यकताओं को पूरा कर सकते हैं। परिणामस्वरूप, हम बहुत सारे काम कर सकते हैं जैसे:
- ट्रैफिक के भौगोलिक वितरण को निर्धारित करने के लिए क्लाइंट IP का विश्लेषण करें।
- प्रत्येक पृष्ठ तक उपयोगकर्ता पहुंच के स्रोत को समझने के लिए HTTP Referer का विश्लेषण करें।
- हम प्रमुख API के लिए महत्वपूर्ण व्यावसायिक संकेतक सीधे प्राप्त कर सकते हैं। उदाहरण के लिए, उपयोगकर्ता पंजीकरण और ऑर्डर प्लेसमेंट के लिए API के सफल कॉल्स की गिनती करके, हम निर्दिष्ट अवधि में नए उपयोगकर्ताओं और ऑर्डर की संख्या प्राप्त कर सकते हैं।
बेशक, गेटवे लॉग्स इवेंट ट्रैकिंग की तुलना में कम लचीले होते हैं और कस्टम डेटा संग्रहण आवश्यकताओं को पूरा नहीं कर सकते हैं; हालांकि, वे बुनियादी डेटा खनन आवश्यकताओं को पूरा करने के लिए पर्याप्त व्यावसायिक मूल्य रखते हैं।
Apache APISIX एक गतिशील, रियल-टाइम, और उच्च प्रदर्शन वाला क्लाउड-नेटिव API गेटवे है जो लोड बैलेंसिंग, डायनामिक अपस्ट्रीम, कैनरी रिलीज, सर्किट ब्रेकिंग, पहचान प्रमाणीकरण, और अवलोकनीयता जैसे समृद्ध ट्रैफिक प्रबंधन कार्य प्रदान करता है।
इसकी कई क्षमताएं प्लगइन्स के माध्यम से प्रदान की जाती हैं, जिसमें दर्जनों लॉगिंग प्लगइन्स शामिल हैं। निम्नलिखित में APISIX में विशिष्ट लॉगिंग प्लगइन का उदाहरण देकर समझाया जाएगा कि गेटवे लॉग्स को लॉग विश्लेषण सिस्टम के साथ कैसे एकीकृत किया जाए ताकि अधिक मूल्य उत्पन्न किया जा सके।
APISIX के विशिष्ट लॉगिंग प्लगइन्स का परिचय
elasticsearch-logger

Elastic Search एक वितरित ओपन-सोर्स खोज और विश्लेषण इंजन है जो बड़ी मात्रा में डेटा को प्रोसेस करने के लिए उपयोग किया जाता है और लॉग विश्लेषण में अत्यधिक प्रसिद्ध है। इसका पूरक डेटा डैशबोर्ड Kibana विभिन्न सांख्यिकीय चार्ट्स को आसानी से कस्टमाइज़ कर सकता है ताकि संगठन की विज़ुअल क्वेरी विश्लेषण की आवश्यकताओं को पूरा किया जा सके।
व्यावहारिक अनुप्रयोगों में, चूंकि अधिकांश पारंपरिक सॉफ्टवेयर लॉग्स स्थानीय फाइलों में सहेजे जाते हैं, Elastic Search इकोसिस्टम में एक प्रोजेक्ट जिसे Filebeat कहा जाता है, का उपयोग स्थानीय मशीनों पर लॉग फाइलों की निगरानी करने और इंक्रीमेंटल लॉग्स को Elastic Search सर्वर पर भेजने के लिए किया जाता है।
हालांकि, APISIX द्वारा प्रदान किया गया elasticsearch-logger प्लगइन सीधे APISIX एक्सेस लॉग्स को Elastic Search सर्वर पर भेज सकता है, जो कई लाभ प्रदान कर सकता है:
- Filebeat कंपोनेंट की तैनाती की आवश्यकता नहीं है, जिससे प्रोसेसिंग चेन छोटी हो जाती है और कंप्यूटिंग संसाधन कम हो जाते हैं।
- लॉग्स डिस्क पर संग्रहीत नहीं होते हैं, इसलिए डिस्क स्पेस उपयोग की चिंता करने की आवश्यकता नहीं है। हालांकि, एक्सेस लॉग्स बहुत बड़ी मात्रा में हो सकते हैं, और यदि फाइल रोटेशन को ठीक से संभाला नहीं जाता है, तो यह मशीन की डिस्क को जल्दी से भर सकता है और विफलता का कारण बन सकता है। इसके अलावा, डिस्क के साथ इंटरैक्शन करने से गेटवे का प्रदर्शन भी कम हो सकता है।
kafka-logger
गेटवे एक्सेस लॉग्स की एक प्रमुख विशेषता है: लॉग डेटा की मात्रा व्यावसायिक अनुरोधों की मात्रा के समानुपाती होती है: जितने अधिक अनुरोध, उतने अधिक लॉग।
ऑनलाइन व्यवसाय आमतौर पर अनुरोध मात्रा में आवधिक पैटर्न प्रदर्शित करते हैं। उदाहरण के लिए, खाद्य वितरण प्लेटफॉर्म आमतौर पर भोजन के समय में उच्च ट्रैफिक का अनुभव करते हैं, जबकि वीडियो साइट्स काम के बाद के घंटों में चरम पर होती हैं।
यह लॉग स्टोरेज सिस्टम के लिए एक महत्वपूर्ण चुनौती प्रस्तुत करता है, और यह सुनिश्चित करना कि सिस्टम ट्रैफिक चरम के दौरान पर्याप्त रूप से कार्य कर सकता है, हर ElasticSearch प्रशासक के लिए एक महत्वपूर्ण कौशल है।

ट्रैफिक को संतुलित करने के लिए एक संदेश कतार सबसे अच्छा उपकरण है। गेटवे और स्टोरेज सिस्टम के बीच एक संदेश कतार को पेश करके लॉग बफर प्रदान करना, ट्रैफिक चरम अवधि के दौरान स्टोरेज सिस्टम पर दबाव को काफी कम कर देगा।
इस उद्देश्य के लिए, APISIX kafka-logger प्रदान करता है, जो एक्सेस लॉग्स को Kafka सर्वर पर भेजता है, जिससे लॉग स्टोरेज पर सीधा प्रभाव से बचा जा सकता है।
loggly
हाल के वर्षों में, [SaaS (सॉफ्टवेयर के रूप में सेवा)] (https://en.wikipedia.org/wiki/Software_as_a_service) की अवधारणा धीरे-धीरे लोकप्रिय हो गई है, जो कई छोटे और मध्यम आकार के उद्यमों द्वारा इसकी कम प्रवेश सीमा और पे-एज़-यू-गो मूल्य निर्धारण मॉडल के कारण पसंद की जाती है। लॉग विश्लेषण के क्षेत्र में, कई SaaS उत्पाद उभरे हैं, और loggly अपने समृद्ध लॉग स्रोतों और विश्लेषण क्षमताओं के साथ एक नेता बन गया है।
इस पृष्ठभूमि में, सक्रिय APISIX समुदाय ने तैयार-से-उपयोग Loggly प्लगइन्स विकसित किए हैं, जिन्हें केवल क्रेडेंशियल जानकारी को कॉन्फ़िगर करने की आवश्यकता होती है ताकि APISIX एक्सेस लॉग्स को सीधे Loggly सेवा पर भेजा जा सके, जिससे इसका उपयोग करना अत्यंत सुविधाजनक हो जाता है।
Loggly प्लगइन की तरह, APISIX google-cloud-logging, sls-logger, और tencent-cloud-cls प्लगइन्स भी प्रदान करता है, जो मुख्यधारा के क्लाउड विक्रेताओं की लॉग सेवाओं के साथ आसानी से एकीकृत हो सकते हैं।

error-log-logger
ऊपर पेश किए गए प्लगइन्स सभी एक्सेस लॉग्स को संग्रहित करने के लिए उपयोग किए जाते हैं। हालांकि, APISIX में एक और प्रकार का लॉग होता है, जिसे त्रुटि लॉग (error.log) कहा जाता है, जो गेटवे खराबी का निदान करने के लिए महत्वपूर्ण है।
इसलिए, APISIX error-log-logger प्रदान करता है, जो त्रुटि लॉग्स को दूरस्थ सर्वर पर भेजता है ताकि उन्हें संग्रहीत और विश्लेषित किया जा सके। व्यवहार में, APISIX के लॉगिंग स्तर कॉन्फ़िगरेशन का उपयोग करके अधिक डीबग या इन्फो-स्तरीय लॉग्स प्रिंट किए जा सकते हैं, जिनमें गेटवे संचालन स्थिति के अधिक विस्तृत लॉग्स होते हैं। इन लॉग्स का उपयोग करके, हम अधिकांश समस्याओं का पता लगा सकते हैं।
सारांश
गेटवे लॉग्स में एक विशाल मूल्य होता है, और हम Apache APISIX प्रोजेक्ट में प्रचुर मात्रा में लॉग प्लगइन्स से देख सकते हैं कि समुदाय के उद्यम उपयोगकर्ता गेटवे लॉग्स के मूल्य को पहचानते हैं। इसके अलावा, ये प्लगइन्स नए उपयोगकर्ताओं के लिए लॉग सिस्टम स्थापित करने की लागत को और कम करते हैं।
इसके अलावा, APISIX के पास दो अन्य प्रकार के अवलोकनीयता प्लगइन्स हैं: मेट्रिक्स और ट्रेसिंग। लॉग प्लगइन्स के साथ संयुक्त होकर, वे गेटवे की अवलोकनीयता को और बढ़ाएंगे और सिस्टम स्थिरता को बनाने में मदद करेंगे।