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

Datadog Log Ingestion API के साथ इवेंट्स इनजेस्ट करें

परिचय

क्लाउड ऐप्स, माइक्रोसर्विसेज़, या किसी भी सिस्टम से जो टेलीमेट्री उत्सर्जित करता है, JSON लॉग इवेंट्स को सीधे Datadog लॉग मैनेजमेंट में भेजने के लिए Datadog लॉग इनजेस्टन एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (API) का उपयोग करें। एक बार जब आप लॉग इनजेस्ट कर लेते हैं, तो वे कुछ ही सेकंड में Log Explorer में उपलब्ध हो जाते हैं। आप उन्हें Log Pipelines का उपयोग करके प्रोसेस, रूट और आर्काइव कर सकते हैं।

यह एंडपॉइंट संरचित और अर्ध-संरचित JSON पेलोड के उच्च-थ्रूपुट, रीयल-टाइम इनजेक्शन का समर्थन करता है।

इस API द्वारा समर्थित क्रियाएँ

  • Datadog एजेंट इंस्टॉल किए बिना सीधे क्लाउड ऐप्स से लॉग भेजें।
  • आने वाले डेटा पर पाइपलाइन प्रोसेसर, जैसे कि ग्रोक पार्सर, रिमैपर और लुकअप प्रोसेसर लागू करें।
  • सामग्री के आधार पर लॉग को इंडेक्स, आर्काइव, या अलर्ट गंतव्यों पर रूट करें।
  • इस एंडपॉइंट को सैंपलिंग और फ़िल्टरिंग नियमों के साथ संयोजित करके इंडेक्सिंग लागत कम करें।
नोट

Datadog के API और API keys के बारे में और जानें यहां

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

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

  • एक Datadog API key जिसमें लॉग इनजेस्ट करने की अनुमति हो। इसे Organization SettingsAPI Keys में खोजें।

  • आपका Datadog साइट पता। यह पता क्षेत्र के अनुसार भिन्न होता है:

    क्षेत्रसाइट पता
    यूएस (पूर्व)datadoghq.com
    यूएस3 (पश्चिम)us3.datadoghq.com
    यूएस5 (मध्य)us5.datadoghq.com
    EU (यूरोप)datadoghq.eu
    AP1 (जापान)ap1.datadoghq.com
    AP2 (ऑस्ट्रेलिया)ap2.datadoghq.com
  • curl या Postman इंस्टॉल किया हुआ।

  • JSON-फ़ॉर्मेटेड लॉग पेलोड।

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

Datadog log ingestion pipeline

इनजेस्ट एंडपॉइंट

POST https://http-intake.logs.{dd_site}/api/v2/logs

{dd_site} को अपने क्षेत्र के साइट पते से बदलें, उदाहरण के लिए, datadoghq.com या ap2.datadoghq.com

अनुरोध हेडर

हेडरमानआवश्यकविवरण
DD-API-KEY<your_api_key>हाँआपकी Datadog API कुंजी
Content-Typeapplication/jsonहाँपेलोड प्रारूप

अनुरोध बॉडी

रिक्वेस्ट बॉडी एक या अधिक लॉग ऑब्जेक्ट्स का JSON ऐरे है। प्रत्येक लॉग ऑब्जेक्ट निम्नलिखित फ़ील्ड्स को सपोर्ट करता है:

फ़ील्डप्रकारआवश्यकविवरण
messagestringहाँलॉग संदेश बॉडी
ddsourcestringअनुशंसितवह तकनीक जिससे लॉग उत्पन्न हुआ है, उदाहरण के लिए, python या nginx
ddtagsstringवैकल्पिकअल्पविराम से अलग किए गए टैग, उदाहरण के लिए, env:prod,team:payments
hostnamestringवैकल्पिकउस होस्ट का नाम जिसने लॉग उत्पन्न किया है
servicestringअनुशंसितऐप या सेवा का नाम
नोट

आपको message फ़ील्ड को शामिल करना होगा। अन्य सभी फ़ील्ड वैकल्पिक हैं लेकिन Datadog उनकी अनुशंसा करता है। Datadog फ़िल्टरिंग, फ़ेसटिंग, और पाइपलाइन मिलान के लिए service, ddsource, and ddtags का उपयोग करता है।

उदाहरण पेलोड

[
{
"message": "Transaction failed: Gateway timeout",
"ddsource": "payment-gateway",
"ddtags": "env:prod,region:us-east-1",
"hostname": "payments-host-01",
"service": "payment-gateway",
"timestamp": "2025-11-15T08:30:00Z",
"transaction_id": "txn_998877",
"customer_id": "cus_554433",
"level": "ERROR"
}
]
नोट

timestamp को अंतर्राष्ट्रीय मानकीकरण संगठन (ISO) 8601 समन्वित सार्वभौमिक समय (UTC) प्रारूप का उपयोग करना चाहिए। Datadog Log Explorer में टाइमलाइन संरेखण के लिए इस प्रारूप का उपयोग करता है। Datadog बिना timestamp के सबमिट किए गए लॉग को ingest समय का उपयोग करके इंडेक्स करता है।

प्रतिक्रिया कोड

202 स्वीकार किया गया

202 Accepted प्रतिक्रिया का अर्थ है कि Datadog ने पेलोड प्राप्त कर लिया है। इस प्रतिक्रिया में कोई बॉडी नहीं होती है। लॉग कुछ ही सेकंड में Log Explorer में दिखाई देता है।

HTTP/1.1 202 Accepted

400 खराब अनुरोध

Datadog यह कोड तब लौटाता है जब पेलोड में फ़ॉर्मेटिंग त्रुटियाँ होती हैं। सामान्य कारण:

  • गलत JSON सिंटैक्स।
  • message फ़ील्ड अनुपस्थित है।
  • पेलोड 5 एमबी की सीमा से अधिक है।
{
"errors": ["Invalid JSON"]
}

401 अनधिकृत

एपीआई कुंजी अनुपस्थित है, गलत है, या उसमें लॉग इनजेस्टन की अनुमति नहीं है।

{
"errors": ["Forbidden"]
}

429 बहुत अधिक अनुरोध

सिस्टम ने अनुरोध दर सीमा से अधिक कर दिया है। अनुरोध की आवृत्ति कम करें या लॉग ऑब्जेक्ट्स को एक ही एरे पेलोड में बैच करें।

कर्ल उदाहरण

export DD_API_KEY="your_datadog_api_key_here"
export DD_SITE="datadoghq.com"

curl -X POST "https://http-intake.logs.$DD_SITE/api/v2/logs" \
-H "DD-API-KEY: $DD_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"message": "Transaction failed: Gateway timeout",
"ddsource": "payment-gateway",
"ddtags": "env:prod,region:us-east-1",
"hostname": "payments-host-01",
"service": "payment-gateway",
"level": "ERROR",
"transaction_id": "txn_998877"
}
]'

कई लॉग इवेंट्स को बैच करना

आप एक एरे पास करके एक ही रिक्वेस्ट में 1,000 लॉग एंट्रीज़ तक भेज सकते हैं। डेटाडॉग उच्च-थ्रूपुट सेवाओं के लिए इस दृष्टिकोण की अनुशंसा करता है।

[
{
"message": "User login succeeded",
"service": "auth-service",
"ddsource": "python",
"ddtags": "env:prod",
"level": "INFO"
},
{
"message": "Transaction failed: Gateway timeout",
"service": "payment-gateway",
"ddsource": "python",
"ddtags": "env:prod",
"level": "ERROR",
"transaction_id": "txn_998877"
}
]

सीमाएँ:

  • अधिकतम पेलोड आकार: 5 MB प्रति अनुरोध
  • अधिकतम व्यक्तिगत लॉग आकार: 1 MB
  • अधिकतम ऐरे प्रविष्टियाँ: 1,000 लॉग ऑब्जेक्ट्स

सामान्य उपयोग के मामले

  • Datadog एजेंट को डिप्लॉय किए बिना माइक्रोसर्विसेज़ से लॉग्स इंगेस्ट करना।
  • Amazon Web Services (AWS) Lambda या Google Cloud Platform (GCP) Cloud Run जैसे सर्वरलेस फ़ंक्शंस से संरचित JSON इवेंट्स भेजना।
  • IoT डिवाइस या एज सर्विसेज़ से टेलीमेट्री स्ट्रीमिंग करना।
  • लॉग पाइपलाइन्स के माध्यम से सुरक्षा सूचना और इवेंट प्रबंधन (SIEM), S3, या अलर्टिंग डेस्टिनेशन्स को एनरिच्ड इवेंट्स रूट करना।
  • कंटीन्यूअस इंटीग्रेशन और कंटीन्यूअस डिलीवरी (CI/CD) पाइपलाइनों या डिप्लॉयमेंट स्क्रिप्ट्स से लॉग सबमिट करना।

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

समस्यासंभावित कारणसमाधान
401 Unauthorizedगलत या गुम API कुंजीऑर्ग सेटिंग्सAPI कुंजियाँ में DD_API_KEY सत्यापित करें
400 Bad Requestगड़बड़ JSONभेजने से पहले jq . payload.json के साथ मान्य करें
एक्सप्लोरर में लॉग नहीं हैपाइपलाइन फ़िल्टर लॉग को बाहर कर रहा हैफ़िल्टर साफ़ करें; इंडेक्स रूटिंग नियमों की जाँच करें
टाइमस्टैम्प क्रम से बाहर हैगैर-UTC या गैर-ISO 8601 प्रारूप"2025-11-15T08:30:00Z" प्रारूप का उपयोग करें
429 बहुत अधिक अनुरोधदर सीमा पार हो गईलॉग ऑब्जेक्ट्स को एक ही एरे पेलोड में बैच करें

अगले कदम