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

Datadog लॉग इनजेक्शन API के साथ इवेंट्स इनजेस्ट करें

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

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

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

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

प्रमाण-पत्रों के प्रबंधन के बारे में अधिक जानकारी के लिए, Datadog API और एप्लिकेशन कुंजियाँ देखें।

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

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

  • एक Datadog API कुंजी जिसमें लॉग इनजेक्शन की अनुमति हो। इसे Organization Settings → API Keys में पाएँ।

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

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

  • JSON-स्वरूपित लॉग पेलोड।

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

डेटाडॉग लॉग इनजेक्शन पाइपलाइन

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

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हाँलोड प्रारूप
Content-Encodinggzipवैकल्पिकसंपीड़ित पेलोड प्रारूप (उच्च-मात्रा वाले बैचों के लिए अनुशंसित)

अनुरोध बॉडी​

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

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

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

उदाहरण पेलोड​

Payload: single log
[
{
"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 लॉग एक्सप्लोरर में टाइमलाइन संरेखण के लिए इस प्रारूप का उपयोग करता है। Datadog बिना timestamp के सबमिट किए गए लॉग्स को इनजेस्ट समय का उपयोग करके इंडेक्स करता है।

cURL उदाहरण​

cURL
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"
}
]'

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

CodeStatusविवरण
202Acceptedलोड स्वीकार किया गया और अनुक्रमण के लिए कतारबद्ध किया गया।
400Bad requestफ़ॉर्मेटिंग या सत्यापन त्रुटि
401 / 403Unauthorized / ForbiddenAPI कुंजी अनुपस्थित (401) या अमान्य कुंजी / अपर्याप्त अनुमतियाँ (403)
413Payload too largeपेलोड बिना संपीड़ित 5 एमबी से अधिक है (gzip के साथ 50 एमबी)
429Too many requestsग्रहण दर सीमा पार हो गई

202 स्वीकार​

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

Response: 202 Accepted
HTTP/1.1 202 Accepted

400 खराब अनुरोध​

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

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

401 अनधिकृत और 403 निषिद्ध​

Datadog 401 Unauthorized लौटाता है यदि DD-API-KEY हेडर अनुपस्थित हो। Datadog 403 Forbidden लौटाता है यदि API कुंजी अमान्य हो या लॉग इनजेक्शन अनुमतियाँ न हों:

Response: 403 Forbidden
{
"errors": ["Forbidden"]
}

413 पेलोड बहुत बड़ा​

Datadog तब यह कोड लौटाता है जब अनुरोध पेलोड अधिकतम आकार सीमा से अधिक हो जाता है: बिना संपीड़ित JSON के लिए 5 MB या gzip-संपीड़ित डेटा के लिए 50 MB।

Response: 413 Payload Too Large
{
"errors": ["Payload too large"]
}

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

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

कई लॉग इवेंट्स का बैचिंग​

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

Payload: batched logs
[
{
"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 एमबी प्रति बिना संपीड़ित अनुरोध (gzip से संपीड़ित करने पर 50 एमबी)
  • अधिकतम व्यक्तिगत लॉग आकार: 1 एमबी
  • मैक्स एरे प्रविष्टियाँ: 1,000 लॉग ऑब्जेक्ट्स

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

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

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

समस्यासंभावित कारणसमाधान
401 Unauthorizedगलत या अनुपस्थित एपीआई कुंजीसंगठन सेटिंग्स → एपीआई कुंजियाँ में DD_API_KEY सत्यापित करें।
400 Bad Requestअमान्य JSONभेजने से पहले jq . payload.json के साथ सत्यापित करें।
एक्सप्लोरर में लॉग न करेंलॉग को छोड़कर पाइपलाइन फ़िल्टरफ़िल्टर साफ़ करें; इंडेक्स राउटिंग नियमों की जाँच करें
समय-स्टाम्प अनुक्रम से बाहरगैर-UTC या गैर-ISO 8601 प्रारूप"2025-11-15T08:30:00Z" प्रारूप का उपयोग करें।
429 Too Many Requestsदर सीमा पार हो गईBatch log objects into a single array payload

अगले कदम​