मुख्य कंटेंट तक स्किप करें

क्लाउड ऐप लॉग्स को एक पाइपलाइन में रूट करें

यह गाइड आपको दिखाती है कि एक ऑब्ज़र्वेबिलिटी पाइपलाइन वर्कफ़्लो के भीतर एक सिंगल JSON लॉग इवेंट को कैसे सिम्युलेट, भेजें और सत्यापित करें।

लक्ष्य: एक मॉक ऐप लॉग को इनजेस्ट करें, यह सत्यापित करें कि यह पाइपलाइन तक पहुँच गया है, और इसे स्प्लंक, इलास्टिक, या S3 जैसे डेस्टिनेशन पर रूट करने के लिए तैयार करें।

यह क्यों मायने रखता है

जटिल पार्सिंग नियम बनाने या महंगे सुरक्षा सूचना और घटना प्रबंधन (SIEM) टूल पर डेटा भेजने से पहले, आपको अपने इनजेस्टेशन पथ को सत्यापित करना होगा। यह वर्कफ़्लो पुष्टि करता है कि:

  1. आपका API टोकन काम करता है।
  2. पाइपलाइन आपके JSON संरचना को स्वीकार करती है।
  3. आप डेटा को रीयल टाइम में देख सकते हैं।

शुरू करने से पहले

सुनिश्चित करें कि आपके पास हैं:

  • एक API टोकन (ingest परमिशन के साथ)।
  • आपकी यूनिक स्ट्रीम आईडी (प्लेटफ़ॉर्म UI से)।
  • टर्मिनल एक्सेस (curl चलाने के लिए) या पोस्टमैन

पाइपलाइन अवलोकन

पाइपलाइन आर्किटेक्चर का स्क्रीनशॉट

1. एक स्ट्रीम बनाएँ या चुनें

अपने ऑब्ज़र्वेबिलिटी प्लेटफ़ॉर्म में:

  1. Streams > Management पर जाएँ।
  2. New Stream पर क्लिक करें या default-logs चुनें।
  3. Stream ID को कॉपी करें, उदाहरण के लिए, st_12345
  4. (वैकल्पिक) एक प्रतिधारण नीति सेट करें। डिफ़ॉल्ट आमतौर पर 7 दिन होता है।

2. एक नमूना लॉग इवेंट बनाएँ

निम्नलिखित को app-log.json के रूप में सहेजकर एक क्लाउड ऐप लॉग का अनुकरण करें।

{
"timestamp": "2025-11-15T08:30:00Z",
"service": "payment-gateway",
"level": "ERROR",
"message": "Transaction failed: Gateway timeout",
"transaction_id": "txn_998877",
"meta": {
"region": "us-east-1",
"customer_id": "cus_554433"
}
}
नोट

उचित इंडेक्सिंग सुनिश्चित करने के लिए timestamp को इंटरनेशनल ऑर्गनाइजेशन फॉर स्टैंडर्डाइजेशन (ISO) 8601 फॉर्मेट में रखें।

3. लॉग इवेंट भेजें

ऐप द्वारा लॉग भेजे जाने का अनुकरण करने के लिए curl का उपयोग करें।

export STREAM_ID="your_stream_id_here"
export API_TOKEN="your_api_token_here"

curl -X POST "https://api.observability-platform.com/v1/streams/ingest" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-H "X-Stream-Id: $STREAM_ID" \
-d @app-log.json

अपेक्षित प्रतिक्रिया

{
"status": "accepted",
"ingest_id": "evt_abc12345",
"accepted_items": 1
}

यदि आप status: accepted देखते हैं, तो पाइपलाइन ने डेटा प्राप्त कर लिया है।

4. लाइव डेटा व्यूअर में अपने लॉग को सत्यापित करें

  1. प्लेटफ़ॉर्म UI में Explore या Live Tail पर नेविगेट करें।
  2. अपनी स्ट्रीम (st_12345) चुनें।
  3. एक फ़िल्टर जोड़ें: service == "payment-gateway".
  4. आपका इवेंट तुरंत दिखाई देना चाहिए:
[ERROR] 2025-11-15T08:30:00Z service=payment-gateway msg="Transaction failed..."

5. लॉग्स को एक डेस्टिनेशन पर रूट करें

अब जब डेटा प्रवाहित हो रहा है, तो एक राउटिंग नियम बनाएँ:

  1. पाइपलाइन्स > राउटिंग नियम पर जाएँ।
  2. नया नियम पर क्लिक करें।
  3. फ़िल्टर: level == "ERROR"
  4. एक्शन: S3-Archive और Slack-Alerts पर राउट करें।
  5. सेव और डिप्लॉय करें।

curl अनुरोध को फिर से भेजें।

  • अपनी S3 बकेट देखें।
  • अपना स्लैक चैनल देखें।

6. पाइपलाइन को ऑप्टिमाइज़ करें

अब जब आपका एक वर्किंग फ्लो तैयार है, तो निम्नलिखित जोड़ने पर विचार करें:

  • पार्सिंग: customer_id को एक टॉप-लेवल फ़ील्ड में निकालें।
  • मास्किंग: यदि customer_id व्यक्तिगत रूप से पहचानने योग्य जानकारी (PII) है तो उसे अस्पष्ट करें।

समस्या निवारण

त्रुटि कोडसंभावित कारण / समाधान
401 अनधिकृतअपने एपीआई टोकन की अनुमति की जाँच करें।
400 खराब अनुरोधअपने JSON सिंटैक्स को सत्यापित करें।
404 नहीं मिलासत्यापित करें कि X-Stream-Id सही है।
टाइमस्टैम्प संबंधी समस्याएँसुनिश्चित करें कि आप कोऑर्डिनेटेड यूनिवर्सल टाइम (UTC) ISO 8601 प्रारूप का उपयोग कर रहे हैं।
डेटा नहीं दिख रहा हैजाँचें कि क्या आपके पास कोई सक्रिय फ़िल्टर है जो आपके नए लॉग को बाहर कर रहा है।

अगले कदम