संरचित logging और distributed tracing
structured log, correlation ID और distributed tracing के साथ अपने deployment को observable बनाएँ, ताकि CI/CD pipeline में service के बीच हुई विफलताओं को debug कर सकें।
संरचित logging और distributed tracing, CoddyKit पर GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
अवलोकनीयता के तीन स्तंभ
अवलोकनीयता तीन स्तंभों पर आधारित होती है: मेट्रिक्स, लॉग और ट्रेस।
- मेट्रिक्स बताते हैं कि कुछ गड़बड़ है
- लॉग बताते हैं कि क्या हुआ
- ट्रेस बताते हैं कि अनुरोध-प्रवाह में वह कहाँ हुआ
पाइपलाइन की निगरानी आमतौर पर मेट्रिक्स से शुरू होती है; यह पाठ लॉग और ट्रेस की समझ को और गहरा करता है।
संरचित लॉग-लेखन क्यों
सादा-पाठ लॉग पंक्ति में खोज करना कठिन होता है। संरचित लॉग मशीन द्वारा पढ़ा जा सकने वाला रिकॉर्ड होता है, आमतौर पर जेसन में, जिसमें नामित फ़ील्ड होते हैं।
लोकी, इलास्टिकसर्च या डेटाडॉग जैसे उपकरण संरचित लॉग को फ़िल्टर, एकत्रित और उनके आधार पर चेतावनी जारी कर सकते हैं।
सादा बनाम संरचित
एक असंरचित पंक्ति की तुलना संरचित पंक्ति से करें। संरचित संस्करण आपको सीधे status=500 पर खोज करने देता है।
// Unstructured
Deploy failed for service api at 12:01
// Structured (JSON)
{"level":"error","event":"deploy_failed","service":"api","status":500}जेसन लॉग जारी करना
अधिकांश प्रोग्रामिंग भाषाओं में संरचित लॉगर होता है। मुख्य विचार यह है कि जोड़ी गई स्ट्रिंग के बजाय किसी ऑब्जेक्ट को लॉग किया जाए।
const log = (level, event, fields) =>
console.log(JSON.stringify({ level, event, ...fields }));
log('info', 'deploy_started', { service: 'api', version: '1.4.2' });सहसंबंध ID
एकल तैनाती कई चरणों और सेवाओं को प्रभावित करती है। सहसंबंध ID (या ट्रेस ID) एक विशिष्ट मान होता है, जो किसी एक तार्किक संचालन की हर लॉग पंक्ति से जुड़ा रहता है।
उस ID से खोज करने पर सभी घटकों में फैली पूरी घटना फिर से बनाई जा सकती है।
- name: Set correlation id
run: echo "TRACE_ID=$(uuidgen)" >> $GITHUB_ENVलॉग स्तर
विस्तार और चेतावनी-प्रणाली को नियंत्रित करने के लिए सुसंगत लॉग स्तरों का उपयोग करें:
debug— विस्तृत निदानinfo— सामान्य घटनाएँwarn— सुधार योग्य समस्याएँerror— ध्यान देने योग्य विफलताएँ
error पर चेतावनी दें, info के कुछ नमूने रखें और उत्पादन में debug बंद रखें।
वितरित ट्रेसिंग क्या है
वितरित ट्रेसिंग किसी अनुरोध को कई सेवाओं से गुज़रते समय उसका अनुसरण करती है। प्रत्येक चरण एक span होता है; span आपस में जुड़कर एक ट्रेस बनाते हैं।
ट्रेस समय-रेखा और यह दिखाता है कि कौन-सा span धीमा था या उसमें त्रुटि हुई, जो माइक्रोसर्विस परिनियोजनों में बेहद उपयोगी है।
OpenTelemetry
OpenTelemetry (ओटेल) ट्रेस, मेट्रिक्स और लॉग बनाने का विक्रेता-निरपेक्ष मानक है।
अपने अनुप्रयोग में ओटेल SDK से उपकरण-संयोजन करें और Jaeger, Tempo या किसी क्लाउड APM जैसे बैकएंड को निर्यात करें।
import { trace } from '@opentelemetry/api';
const tracer = trace.getTracer('deploy-service');
const span = tracer.startSpan('deploy');
// ... do work
span.end();पाइपलाइन को स्वयं ट्रेस करना
आप केवल अपने अनुप्रयोग को ही नहीं, बल्कि पाइपलाइन को भी ट्रेस कर सकते हैं। उपकरण प्रत्येक कार्य और चरण के लिए एक span जारी करते हैं, ताकि आप देख सकें कि CI/CD का कौन-सा चरण बाधा बन रहा है।
इससे लंबा कार्यप्रवाह समय कहाँ खर्च हो रहा है, उसका एक दृश्य क्रम बन जाता है।
केंद्रीकृत एकत्रीकरण
हर कार्य और सेवा से लॉग और ट्रेस को एक केंद्रीय मंच पर भेजें। CI रनर अल्पकालिक होते हैं, इसलिए रनर पर छोड़े गए लॉग रन समाप्त होने के बाद गायब हो जाते हैं।
रन के दौरान लॉग को किसी लॉग गंतव्य पर भेजें, ताकि रनर के हट जाने के बाद भी घटना-पश्चात विश्लेषण किया जा सके।
संकेत से कार्रवाई तक
अवलोकनीयता तभी उपयोगी है जब वह कार्रवाई को प्रेरित करे। ऐसे डैशबोर्ड बनाएँ जो त्रुटि दरों और धीमे ट्रेस को सामने लाएँ, और महत्वपूर्ण प्रतिरूपों को उन चेतावनियों से जोड़ें जिन्हें आपने पहले ही कॉन्फ़िगर किया है।
लक्ष्य यह है कि एक ही चेतावनी से सीधे उस ट्रेस और संरचित लॉग पंक्ति तक पहुँचा जा सके जो समस्या समझाती है।
त्वरित जाँच
लॉग और ट्रेस की अपनी समझ जाँचें।
पुनरावलोकन
आपने लॉग और ट्रेस के साथ अपनी अवलोकनीयता को और गहरा किया।
- सुसंगत स्तरों के साथ संरचित (जेसन) लॉग जारी करें
- किसी एक संचालन का अनुसरण करने के लिए सहसंबंध ID जोड़ें
- धीमे या विफल span खोजने के लिए वितरित ट्रेसिंग और OpenTelemetry का उपयोग करें
- अल्पकालिक रनर गायब होने से पहले सब कुछ केंद्रीय रूप से एकत्रित करें
यह पूरी पाइपलाइन की अवलोकनीयता के लिए मेट्रिक्स और चेतावनियों का पूरक है।
एआई शिक्षक के साथ GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “संरचित logging और distributed tracing” पाठ निःशुल्क है?
हाँ—“संरचित logging और distributed tracing” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“संरचित logging और distributed tracing” में मैं क्या सीखूँगा?
structured log, correlation ID और distributed tracing के साथ अपने deployment को observable बनाएँ, ताकि CI/CD pipeline में service के बीच हुई विफलताओं को debug कर सकें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“संरचित logging और distributed tracing” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- पाइपलाइन निगरानी रणनीतियाँ
- बाहरी सेवाओं के साथ एकीकरण
- सूचनाओं और चेतावनियों का सेटअप
- संरचित logging और distributed tracing