क्लाउड ऐप लॉग्स को एक पाइपलाइन में रूट करें
यह गाइड आपको दिखाती है कि एक ऑब्ज़र्वेबिलिटी पाइपलाइन वर्कफ़्लो के भीतर एक सिंगल JSON लॉग इवेंट को कैसे सिम्युलेट, भेजें और सत्यापित करें।
लक्ष्य: एक मॉक ऐप लॉग को इनजेस्ट करें, यह सत्यापित करें कि यह पाइपलाइन तक पहुँच गया है, और इसे स्प्लंक, इलास्टिक, या S3 जैसे डेस्टिनेशन पर रूट करने के लिए तैयार करें।
यह क्यों मायने रखता है
जटिल पार्सिंग नियम बनाने या महंगे सुरक्षा सूचना और घटना प्रबंधन (SIEM) टूल पर डेटा भेजने से पहले, आपको अपने इनजेस्टेशन पथ को सत्यापित करना होगा। यह वर्कफ़्लो पुष्टि करता है कि:
- आपका API टोकन काम करता है।
- पाइपलाइन आपके JSON संरचना को स्वीकार करती है।
- आप डेटा को रीयल टाइम में देख सकते हैं।
शुरू करने से पहले
सुनिश्चित करें कि आपके पास हैं:
- एक API टोकन (
ingestपरमिशन के साथ)। - आपकी यूनिक स्ट्रीम आईडी (प्लेटफ़ॉर्म UI से)।
- टर्मिनल एक्सेस (
curlचलाने के लिए) या पोस्टमैन।
पाइपलाइन अवलोकन
- Mermaid (छवि)
- Mermaid (कोड)
- ASCII
flowchart LR
A[क्लाउड ऐप] -->|JSON लॉग| B[इंजेस्ट एपीआई]
B --> C{राउटिंग इंजन}
C -->|मैच नियम| D[लाइव डेटा व्यूअर]
C -->|नो मैच| E[ड्रॉप / डिफ़ॉल्ट बकेट]
[क्लाउड ऐप]
|
| |JSON लॉग|
v
[इंजेस्ट एपीआई]
|
v
{ राउटिंग इंजन }
|
+-----------------------+
| |
v |मैच नियम| v |कोई मैच नहीं|
+-----------------------+ +-----------------------+
| लाइव डेटा व्यूअर | | ड्रॉप / डिफ़ॉल्ट बकेट |
+-----------------------+ +-----------------------+
1. एक स्ट्रीम बनाएँ या चुनें
अपने ऑब्ज़र्वेबिलिटी प्लेटफ़ॉर्म में:
- Streams > Management पर जाएँ।
- New Stream पर क्लिक करें या
default-logsचुनें। - Stream ID को कॉपी करें, उदाहरण के लिए,
st_12345। - (वैकल्पिक) एक प्रतिधारण नीति सेट करें। डिफ़ॉल्ट आमतौर पर 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. लाइव डेटा व्यूअर में अपने लॉग को सत्यापित करें
- प्लेटफ़ॉर्म UI में Explore या Live Tail पर नेविगेट करें।
- अपनी स्ट्रीम (
st_12345) चुनें। - एक फ़िल्टर जोड़ें:
service == "payment-gateway". - आपका इवेंट तुरंत दिखाई देना चाहिए:
[ERROR] 2025-11-15T08:30:00Z service=payment-gateway msg="Transaction failed..."
5. लॉग्स को एक डेस्टिनेशन पर रूट करें
अब जब डेटा प्रवाहित हो रहा है, तो एक राउटिंग नियम बनाएँ:
- पाइपलाइन्स > राउटिंग नियम पर जाएँ।
- नया नियम पर क्लिक करें।
- फ़िल्टर:
level == "ERROR" - एक्शन:
S3-ArchiveऔरSlack-Alertsपर राउट करें। - सेव और डिप्लॉय करें।
curl अनुरोध को फिर से भेजें।
- अपनी S3 बकेट देखें।
- अपना स्लैक चैनल देखें।
6. पाइपलाइन को ऑप्टिमाइज़ करें
अब जब आपका एक वर्किंग फ्लो तैयार है, तो निम्नलिखित जोड़ने पर विचार करें:
- पार्सिंग:
customer_idको एक टॉप-लेवल फ़ील्ड में निकालें। - मास्किंग: यदि
customer_idव्यक्तिगत रूप से पहचानने योग्य जानकारी (PII) है तो उसे अस्पष्ट करें।
समस्या निवारण
| त्रुटि कोड | संभावित कारण / समाधान |
|---|---|
401 अनधिकृत | अपने एपीआई टोकन की अनुमति की जाँच करें। |
400 खराब अनुरोध | अपने JSON सिंटैक्स को सत्यापित करें। |
404 नहीं मिला | सत्यापित करें कि X-Stream-Id सही है। |
टाइमस्टैम्प संबंधी समस्याएँ | सुनिश्चित करें कि आप कोऑर्डिनेटेड यूनिवर्सल टाइम (UTC) ISO 8601 प्रारूप का उपयोग कर रहे हैं। |
डेटा नहीं दिख रहा है | जाँचें कि क्या आपके पास कोई सक्रिय फ़िल्टर है जो आपके नए लॉग को बाहर कर रहा है। |
अगले कदम
- Ingest API संदर्भ
- Observability अवधारणाएँ
- विभिन्न प्रकार के लॉग भेजने का प्रयास करें, जैसे कि VM लॉग, कंटेनर लॉग और API इवेंट।