APISIX और Prometheus के साथ APIs को स्वस्थ रखें
July 20, 2023
API स्वास्थ्य जांचें आपके APIs के समग्र स्वास्थ्य की निगरानी करने के लिए एक सक्रिय दृष्टिकोण का हिस्सा हैं। ये सुनिश्चित करती हैं कि आप अपने समग्र API स्वास्थ्य के बारे में सूचित रहें और शुरुआती चरणों में किसी भी समस्या की पहचान कर सकें। इस लेख में, हम यह जानेंगे कि APISIX और Prometheus कैसे मिलकर स्वास्थ्य जांच डेटा मेट्रिक्स को एकत्रित और विश्लेषण करते हैं, जिससे API से संबंधित मुद्दों की निगरानी, निदान और समाधान करना आसान हो जाता है।
यह व्यवसायों के लिए क्यों महत्वपूर्ण है?
सेवा स्तर संकेतक (SLIs) और सेवा स्तर उद्देश्य (SLOs) स्थापित करना साइट विश्वसनीयता इंजीनियरिंग (SRE) के सर्वोत्तम अभ्यासों का एक महत्वपूर्ण हिस्सा बन गया है। ये टीम को यह स्पष्ट लक्ष्य निर्धारित करने में मदद करते हैं कि एक सेवा (जैसे वेबसाइट या ऐप) कितनी अच्छी तरह काम करनी चाहिए। ये लक्ष्य आंतरिक सेवाओं (जैसे कंपनी के अपने ऐप्स द्वारा उपयोग किए जाने वाले API) या सार्वजनिक उत्पादों (ग्राहकों द्वारा उपयोग किए जाने वाले) के लिए हो सकते हैं। ये टीम को सिस्टम के प्रदर्शन को प्रबंधित करने के लिए एक मात्रात्मक दृष्टिकोण प्रदान करते हैं। उदाहरण के लिए, सामान्य SLIs में त्रुटि दर, विलंबता, थ्रूपुट और उपलब्धता शामिल हैं या एक SLO हो सकता है "99.9% API अनुरोध 300ms से कम समय में पूरे होने चाहिए।"
APISIX API गेटवे आपके API इंफ्रास्ट्रक्चर के सामने होता है और SLIs और SLOs को मापने में महत्वपूर्ण भूमिका निभा सकता है। आपको यह जानने की आवश्यकता नहीं है कि क्या मापना है और इसे कैसे मापना है क्योंकि यह समस्याग्रस्त हो सकता है, खासकर आज की जटिल और वितरित आर्किटेक्चर में। APISIX स्वचालित रूप से सभी आवश्यक मेट्रिक्स जैसे विलंबता, असफल अनुरोध, या थ्रूपुट को ट्रैक करता है जो आपके APIs द्वारा उपयोग किए जाने वाले अपस्ट्रीम सेवाओं के लिए होते हैं। APISIX बैकएंड सेवाओं पर स्वास्थ्य जांच कर सकता है, यह सुनिश्चित करता है कि वे अनुरोधों को संसाधित करने के लिए उपलब्ध हैं और संभावित मुद्दों के बारे में जिम्मेदार टीमों को सूचित करता है ताकि डाउनटाइम को कम किया जा सके और सिस्टम की विश्वसनीयता में सुधार किया जा सके।
API गेटवे स्वास्थ्य जांच कैसे काम करती है?
आमतौर पर, APIs के लिए स्वास्थ्य जांच सक्रिय करना एक सीधी प्रक्रिया है। प्रत्येक सेवा के लिए केवल एक निर्दिष्ट स्वास्थ्य जांच API एंडपॉइंट (/health) की आवश्यकता होती है। वहां से, आप उस सेवा के लिए सबसे प्रासंगिक मेट्रिक्स जैसे मेमोरी उपयोग, डेटाबेस कनेक्टिविटी, प्रतिक्रिया अवधि, और अधिक का निरीक्षण करते हैं। आप Prometheus और Grafana जैसे ऑब्जर्वेबिलिटी प्लेटफॉर्म का उपयोग करके परिणाम प्रदर्शित कर सकते हैं और किसी भी समस्या को तुरंत फ्लैग करने के लिए एक अलर्ट सिस्टम का उपयोग कर सकते हैं।
APISIX का एक लाभ यह है कि यह कॉन्फ़िगरेशन ऑब्जर्वेबिलिटी टूल्स की प्रक्रिया को कई सेवाओं के लिए और भी आसान बनाता है। APISIX समय-समय पर उन बैकएंड सेवाओं को अनुरोध भेजता है जिन्हें वे प्रबंधित करते हैं (जिन्हें अपस्ट्रीम नोड्स भी कहा जाता है)। यदि एक स्वस्थ स्थिति वापस आती है (आमतौर पर एक 200 OK HTTP स्थिति कोड), तो सेवा को स्वस्थ माना जाता है। गेटवे प्रतिक्रिया समय का भी मूल्यांकन कर सकता है, धीमी प्रतिक्रिया को संभावित मुद्दों का संकेत मानते हुए। यदि सेवा निर्दिष्ट समय सीमा के भीतर प्रतिक्रिया नहीं देती है, या यदि यह एक त्रुटि स्थिति वापस करती है, तो इसे अस्वस्थ चिह्नित किया जाता है। यह एप्लिकेशन त्रुटियों या धीमेपन को रोकने के लिए उस सेवा पर ट्रैफ़िक रूटिंग बंद कर देगा और इसके बजाय एक स्वस्थ नोड पर ट्रैफ़िक रूट करेगा। स्वास्थ्य जांच सक्षम करने का तरीका यहां जानें।
APISIX Prometheus प्लगइन के साथ स्वास्थ्य जांच डेटा एकत्रित करना
APISIX Prometheus के साथ एक प्लगइन के माध्यम से एकीकृत होता है जिसे prometheus कहा जाता है, जो API मेट्रिक्स को खींचने का एक कुशल तरीका प्रदान करता है, जिसमें अपस्ट्रीम नोड्स की स्वास्थ्य स्थिति से संबंधित मेट्रिक्स भी शामिल हैं (एक बैकएंड API सेवा के कई उदाहरण)। यहां बताया गया है कि यह कैसे काम करता है:
- जब APISIX Prometheus प्लगइन सक्रिय होता है (इसे सक्रिय करने का तरीका यहां देखें), यह एक मेट्रिक्स URL को एक्सपोज़ करता है, आमतौर पर
/apisix/prometheus/metrics। आपconf/config.yamlफ़ाइल में कॉन्फ़िगर करके URI, अतिरिक्त लेबल जोड़ सकते हैं, इन स्क्रैप्स की आवृत्ति, और अन्य पैरामीटर्स को अनुकूलित कर सकते हैं।
plugin_attr: prometheus: export_uri: /metrics
- Prometheus इस URL को विशिष्ट अंतराल पर स्क्रैप करता है, विभिन्न प्रदर्शन पैरामीटर्स जैसे अनुरोध गणना, अनुरोध विलंबता, अपस्ट्रीम विलंबता, और स्थिति कोड से संबंधित समय-श्रृंखला डेटा एकत्रित करता है।
- APISIX 3.3.0 संस्करण में जारी Prometheus कस्टम मेट्रिक्स फंक्शनलिटी के साथ, आप अब अपने APIs के लिए अधिक विस्तृत मेट्रिक्स डेटा को एक्सपोज़ कर सकते हैं। यह तंत्र APISIX को यह जांचने की अनुमति देता है कि अपस्ट्रीम नोड्स स्वस्थ हैं या नहीं और रूटिंग को तदनुसार समायोजित करता है। यह विफलताओं को रोकने और सिस्टम की विश्वसनीयता में सुधार करने में मदद कर सकता है, जो किसी भी API-आधारित इंफ्रास्ट्रक्चर के लिए महत्वपूर्ण है। इन स्वास्थ्य जांचों के परिणाम Prometheus प्लगइन द्वारा एक्सपोज़ किए गए मेट्रिक्स में शामिल होते हैं, जो आपके APIs के प्रदर्शन का एक व्यापक और वास्तविक-समय दृश्य प्रदान करते हैं। उदाहरण के लिए, यदि आप APISIX गेटवे
/metricsएंडपॉइंट पर एक साधारण अनुरोध भेजते हैं, तो आप एकत्रित मॉनिटरिंग डेटा और अपस्ट्रीम नोड्स की स्वास्थ्य जांच परिणाम स्थिति को देख सकते हैं।
curl <http://127.0.0.1:9091/metrics> ... # HELP apisix_upstream_status स्वास्थ्य जांच से अपस्ट्रीम स्थिति # TYPE apisix_upstream_status gauge apisix_upstream_status{name="/apisix/upstreams/1",ip="172.27.0.5",port="443"} 0 apisix_upstream_status{name="/apisix/upstreams/1",ip="172.27.0.5",port="80"} 1 apisix_upstream_status{name="/apisix/upstreams/1",ip="172.27.0.7",port="443"} 0 apisix_upstream_status{name="/apisix/upstreams/1",ip="172.27.0.7",port="80"} 1
1 का मान स्वस्थ को दर्शाता है और 0 का मान अपस्ट्रीम नोड अस्वस्थ है।
- आप Prometheus डैशबोर्ड पर अपस्ट्रीम नोड्स की स्वास्थ्य जांच स्थितियों का आउटपुट भी देख सकते हैं:

- APISIX Prometheus प्लगइन Grafana से स्वचालित रूप से कनेक्ट होने के लिए कॉन्फ़िगर किया गया है ताकि इन मेट्रिक्स को विज़ुअलाइज़ किया जा सके।
इसके साथ ही, Prometheus को मेट्रिक्स एकत्रित करने के लिए TCP/UDP के लिए सक्षम करना भी संभव है। क्योंकि ट्रांसपोर्ट लेयर पर ऑब्जर्वेबिलिटी आपके इंफ्रास्ट्रक्चर में सेवाओं के बीच डेटा कैसे ट्रांसमिट होता है, इसकी जानकारी प्रदान करती है, और मुद्दों का निदान करने और प्रदर्शन को अनुकूलित करने में महत्वपूर्ण हो सकती है।
Prometheus प्लगइन पर कस्टमाइज़ेशन करें
APISIX के संदर्भ में, Prometheus प्लगइन डिफ़ॉल्ट रूप से कई मेट्रिक्स को एक्सपोज़ करता है। ये मेट्रिक्स कॉन्फ़िगर करने योग्य हैं, और प्लगइन को विशिष्ट आवश्यकताओं के आधार पर अतिरिक्त मेट्रिक्स जोड़ने के लिए विस्तारित किया जा सकता है। API7.ai टीम हमेशा API स्वास्थ्य जांच और मॉनिटरिंग के बारे में आपके किसी भी प्रश्न का उत्तर देने के लिए तैयार है और हमारे इंजीनियर्स नए APISIX उपयोगकर्ताओं को ऑनबोर्ड करने और उनकी आवश्यकताओं के अनुसार APISIX डिफ़ॉल्ट कॉन्फ़िगरेशन को संशोधित करने में मदद करने के लिए सक्रिय रूप से समर्थन कर रहे हैं।
वास्तविक दुनिया का उपयोग मामला: APISIX और Prometheus एकीकरण के साथ फास्ट-फूड जायंट सर्वर स्वास्थ्य मॉनिटरिंग में सुधार करता है
मान लीजिए कि एक प्रमुख वैश्विक फास्ट-फूड चेन है जिसके दुनिया भर में हजारों शाखाएं हैं (इसके बाद "कंपनी X" के रूप में संदर्भित) एक्टिव-एक्टिव सर्वर कॉन्फ़िगरेशन प्राप्त करने के लिए उत्सुक थी। उनका लक्ष्य यह सुनिश्चित करना था कि सभी सर्वर या डेटा सेंटर वास्तविक समय में कार्यभार साझा कर सकें बिना सेवा में व्यवधान पैदा किए।
कंपनी की प्रौद्योगिकी टीम ने सर्वर या डेटा सेंटर के बीच स्विचिंग प्रक्रिया को स्वचालित कर दिया था। हालांकि, कुछ अवसरों पर व्यावसायिक ट्रैफ़िक सक्रिय सर्वरों के बीच भिन्न होता था, और लोड असमान रूप से वितरित होता था। कुछ सर्वर अधिभारित हो जाते थे, और अन्य को कम ट्रैफ़िक मिलता था, जिससे परिचालन अक्षमताएं उत्पन्न होती थीं। चरम समय के दौरान, इससे सर्वर क्रैश और सेवा में व्यवधान होता था, जिससे कंपनी के डिजिटल परिचालन प्रभावित होते थे।
APISIX ने कंपनी को अपने अपस्ट्रीम सर्वर/डेटा सेंटर के स्वास्थ्य की लगातार निगरानी करने और सर्वर स्वास्थ्य स्थिति के आधार पर ट्रैफ़िक को स्वचालित रूप से स्विच करने की अनुमति दी। यदि एक सर्वर को अस्वस्थ माना जाता है, तो सिस्टम स्वचालित रूप से एक अन्य स्वस्थ सर्वर पर स्विच कर सकता है ताकि सेवा बिना व्यवधान के बनी रहे। विशिष्ट परिदृश्यों में जहां ट्रैफ़िक असामान्य रूप से छोटा या बहुत बड़ा होता है जिसे एक सर्वर संभाल नहीं सकता, Prometheus की अलर्टिंग मैकेनिज्म ने अलार्म ट्रिगर किया। इस एकीकरण ने कंपनी X के परिचालन टीम को सर्वर स्वास्थ्य स्थितियों, ट्रैफ़िक लोड, और अन्य महत्वपूर्ण मेट्रिक्स की सक्रिय रूप से निगरानी करने में सुविधा प्रदान की।
समापन
संक्षेप में, APISIX और Prometheus को एकीकृत करके स्वास्थ्य जांच डेटा मेट्रिक्स प्राप्त करने से आपके मेट्रिक्स इकोसिस्टम में महत्वपूर्ण सुधार हो सकता है, जिससे आपको अपने APIs की स्वास्थ्य स्थिति की गहरी समझ मिलती है। यह अंततः बेहतर व्यावसायिक परिणामों जैसे परिचालन दक्षता में सुधार, उच्च ग्राहक संतुष्टि, और बढ़ी हुई राजस्व की ओर ले जा सकता है। इसलिए, यदि आप अपने मेट्रिक्स इकोसिस्टम को उन्नत करना चाहते हैं, तो APISIX और Prometheus की ताकत का लाभ उठाने पर विचार करें।
संबंधित संसाधन
- API मेट्रिक्स की निगरानी: अपने API के इष्टतम प्रदर्शन को कैसे सुनिश्चित करें?
- Prometheus और Grafana के साथ माइक्रोसर्विसेज की निगरानी