یک راهنمای جامع برای API Datadog

نگه داشتن زبانه ها در API های خود فقط خوب نیست – ضروری است. در داده های قطار API ابزارهای نظارت در اینجا می درخشند و بینش دقیقی در مورد عملکرد ، سلامت و تجربیات کاربر ارائه می دهند.
API DataDog تصویر کامل را به شما می دهد ، در زمان واقعی ، معیارها ، سیاهههای مربوط و اثری را جمع آوری می کند. این دیدگاه جامع به تیم ها کمک می کند تا به سرعت مسائل را حل کنند ، آنها را برطرف کنند و تصمیمات هوشمندانه تری بگیرند. این اعداد برای خودشان صحبت می کنند: گزارش مشاهده DataDog نشان می دهد شرکت هایی که از مشاهده پیشرفته استفاده می کنند ، زمان حل مسئله خود را تا 80 ٪ کاهش می دهد.
برای کاربران Zuplo ، این یک مسابقه عالی ایجاد می کند. پلت فرم API کد ما ، که در 300+ مرکز داده جهانی اجرا می شود ، با ابزارهای نظارت DataDog API به زیبایی کار می کند. شما بدون توجه به اینکه کاربران شما در کجا قرار دارند ، در زمان واقعی عملکرد API خود را مشاهده می کنید.
این راهنما به شما نشان می دهد که چگونه می توانید احراز هویت را تنظیم کنید ، از نقاط پایانی API DataDog استفاده کنید ، خطاهای را به طور موثر ردیابی کنید و گردش کار نظارت خود را ساده کنید.
درک API DataDog
DataDog API موتور زیر هود سکوی نظارت آنها است. بر خلاف داشبورد که در آن کلیک می کنید ، API به شما امکان می دهد تا برنامه را انجام دهید و همه کارهایی را که Datadog می تواند انجام دهد ، خودکار کنید. این امر برای تیم ها و توسعه دهندگان DevOps که نیاز به مقیاس نظارت دارند ، بسیار ارزشمند است.
API DataDog به شما امکان می دهد:
- ارسال و واکشی معیارها
- با سیاههها کار کنید
- داشبورد را ایجاد و ویرایش کنید
- هشدارها را تنظیم و مدیریت کنید
- پیگیری و تجزیه و تحلیل وقایع
ویژگی ها و ویژگی های اصلی
در داده های قطار API چندین قابلیت قدرتمند را ارائه می دهد:
- مجموعه و بازیابی متریک: معیارهای سفارشی را دنبال کنید یا موارد موجود را برای تجزیه و تحلیل عملکرد دقیق پرس و جو کنید.
- پیگیری رویداد: وقایع مهم مانند استقرار یا حوادث را ثبت کنید.
- مدیریت ورود به سیستم: ارسال سیاههها به DataDog ، آنها را جستجو کنید و خطوط لوله پردازش را تنظیم کنید.
- ایجاد داشبورد: داشبورد را به صورت برنامه ای بسازید و اصلاح کنید.
- پیکربندی نظارت: هشدارها را ایجاد و مدیریت کنید تا زودتر مشکلات را بدست آورید.
این ویژگی ها کاملاً با قابلیت های جهانی Zuplo کار می کنند و به شما امکان می دهد عملکرد را در مناطق مختلف ردیابی کنید ، هشدارهایی را برای مراکز داده خاص تنظیم کنید و داشبورد ایجاد کنید که الگوهای ترافیک جهانی API شما را نشان می دهد.
فرآیندهای ادغام API DataDog
احراز هویت و کنترل دسترسی
برای ارتباط با API DataDog ، نیاز دارید:
- کلید API: برای ارسال معیارها و رویدادها به DataDog.
- کلید کاربردی: برای کارهای خاص مدیریت API.
دریافت این کلیدها از طریق تنظیمات سازمان حساب DataDog شما ساده است. از آنجا که این کلیدها دسترسی قابل توجهی دارند ، این شیوه های امنیتی را دنبال کنید:
- آنها را به عنوان متغیرهای محیط یا در یک مدیر اسرار ذخیره کنید تا از مدیریت مناسب کلید API اطمینان حاصل شود.
- آنها را مرتباً تغییر دهید.
- فقط مجوزهایی را که هر کلید در واقع به آن نیاز دارد اعطا کنید.
درک و اجرای روشهای تأیید اعتبار API برای محافظت از داده ها و خدمات شما بسیار مهم است.
هنگام برقراری تماس API ، کلیدهای خود را در هدر قرار دهید:
const headers = {
'DD-API-KEY': process.env.DATADOG_API_KEY,
'DD-APPLICATION-KEY': process.env.DATADOG_APP_KEY,
'Content-Type': 'application/json'
};
در اینجا نحوه ادغام تماس های API DataDog در برنامه شما آورده شده است:
- متغیرهای محیط: کلیدهای Datadog خود را به عنوان متغیرهای محیط تنظیم کنید.
- یک ماژول قابل استفاده مجدد ایجاد کنید:
export async function sendMetricToDatadog(metric, value, tags) {
const endpoint = 'https://api.datadoghq.com/api/v1/series';
const payload = {
series: [{
metric: metric,
points: [[Math.floor(Date.now() / 1000), value]],
type: 'gauge',
tags: tags
}]
};
const response = await fetch(endpoint, {
method: 'POST',
headers: {
'DD-API-KEY': process.env.DATADOG_API_KEY,
'DD-APPLICATION-KEY': process.env.DATADOG_APP_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify(payload)
});
if (!response.ok) {
throw new Error(`Datadog API error: ${response.status}`);
}
return response.json();
}
- با دستگیرندگان درخواست خود ادغام شوید:
import { sendMetricToDatadog } from './datadogModule';
export default async function (request, context) {
// Your existing application logic here
await sendMetricToDatadog('api.requests', 1, ['endpoint:users', 'method:GET']);
// Continue with your response
}
- رسیدگی به خطای قوی را اضافه کنید تا مسائل مربوط به API DataDog عملکرد اصلی API شما را بشکند.
استفاده از API Datadog
با استفاده از نقاط پایانی DataDog API
DataDog بسیاری از نقاط پایانی API را به شما می دهد تا با قسمت های مختلف سیستم عامل کار کنید:
- معیارهای API:/API/V1/سری (ارسال معیارها) ،/API/V1/پرس و جو (بازیابی معیارها)
- api logs:/api/v2/logs/envent (کار با سیاههها)
- نظارت بر API:/API/V1/مانیتور (مدیریت هشدارها)
- API داشبورد:/API/V1/داشبورد (ایجاد یا دریافت داشبورد)
- API رویدادها:/API/V1/رویدادها (رویدادهای پست یا لیست)
در اینجا مثالی برای ارسال یک متریک سفارشی آورده شده است:
import requests, time, json
api_key = "your_api_key"
app_key = "your_app_key"
payload = {
"series": [{
"metric": "custom.api.latency",
"points": [[int(time.time()), 150]],
"type": "gauge",
"tags": ["endpoint:users", "environment:production"]
}]
}
headers = {
"Content-Type": "application/json",
"DD-API-KEY": api_key,
"DD-APPLICATION-KEY": app_key
}
response = requests.post("https://api.datadoghq.com/api/v1/series", headers=headers, data=json.dumps(payload))
print(response.status_code, response.json())
اجرای آزمایش API پایان به پایان در کنار این نقاط پایانی باعث می شود سرویس شما قابل اعتماد و عملکرد باشد.
استفاده از پارامتر مؤثر با API Datadog
بیشترین استفاده از API DataDog به معنای استفاده از پارامترها عاقلانه است:
- محدوده زمان: هنگام پرس و جو از داده ها ، از پارامترها (در زمان یونیکس) استفاده کنید.
- نحو پرس و جو: پارامتر پرس و جو و داده های مصالح.
- برچسب زدن: همیشه برچسب های مربوطه را برای فیلتر آسان تر به معیارها و سیاهههای مربوط خود اضافه کنید.
- صفحه بندی: برای مجموعه داده های بزرگ ، از صفحه استفاده کنید[limit] و صفحه[offset] برای مدیریت اندازه پاسخ.
- تجمع: پارامترهایی مانند کنترل Rollup چگونه داده ها با گذشت زمان ترکیب می شوند.
مثال برای پرس و جو در API سیاههها:
params = {
"filter[from]": int(time.time()) - 3600, # Last hour
"filter[to]": int(time.time()),
"filter[query]": "service:api status:error",
"page[limit]": 1000,
"sort": "-timestamp"
}
response = requests.get("https://api.datadoghq.com/api/v2/logs/events", headers=headers, params=params)
به یاد داشته باشید که خطاها را به طرز فجیعی انجام دهید و محدودیت نرخ را برای عملکرد صاف احترام بگذارید.
رسیدگی به پاسخ ها و خطاهای API DataDog
رمزگشایی پاسخهای API DataDog
DataDog پاسخ هایی را در قالب JSON با اطلاعات کلیدی در مورد درخواست شما ارسال می کند. هنگام کار با داده های Metrics ، قسمت سری شامل نقاط داده واقعی شما است:
{
"series": [
{
"metric": "system.cpu.user",
"points": [[1609459200, 0.5], [1609459260, 0.7]],
"tags": ["host:web-01", "env:production"]
}
]
}
برای استفاده موثر از این داده ها:
- JSON را در ساختار داده های زبان برنامه نویسی خود تجزیه کنید.
- زمینه های مورد نیاز خود را استخراج کنید.
- در صورت لزوم داده ها را تغییر دهید (تبدیل جدول زمانی ، قالب برای نمایش و غیره).
در اینجا نحوه تجزیه داده های متریک آورده شده است:
import requests
response = requests.get("https://api.datadoghq.com/api/v1/query",
headers={"DD-API-KEY": your_api_key, "DD-APPLICATION-KEY": your_app_key},
params={"query": "avg:system.cpu.user{host:web-01}"})
data = response.json()
if 'series' in data:
for series in data['series']:
print(f"Metric: {series['metric']}")
for point in series['points']:
timestamp, value = point
print(f"Time: {timestamp}, Value: {value}")
کدهای خطا و عیب یابی
هنگام کار با داده های قطار API، ممکن است با این خطاهای رایج روبرو شوید:
- 400 درخواست بد: درخواست خود را در برابر مستندات API بررسی کنید.
- 401 غیرمجاز: API و کلیدهای برنامه خود را تأیید کنید.
- 403 ممنوع: دامنه کلید برنامه خود را مرور کنید.
- 404 یافت نشد: در شناسه ها یا URL ها تایپی را بررسی کنید.
- 429 درخواست بیش از حد: منطق پشتیبان را به درخواست های خود اضافه کنید.
احترام به محدودیت نرخ برای عملکرد صاف بسیار مهم است. رسیدگی مناسب محدودیت نرخ API از خطاهای غیر ضروری جلوگیری می کند.
در اینجا نحوه رسیدگی به خطاها آورده شده است:
import requests
from requests.exceptions import RequestException
try:
response = requests.get("https://api.datadoghq.com/api/v1/dashboard/some_id",
headers={"DD-API-KEY": your_api_key, "DD-APPLICATION-KEY": your_app_key})
response.raise_for_status()
data = response.json()
# Process successful response
except requests.HTTPError as http_err:
if response.status_code == 401:
print("Authentication failed. Check your API and application keys.")
elif response.status_code == 403:
print("Permission denied. Ensure you have the necessary access rights.")
# Handle other error codes
except RequestException as req_err:
print(f"An error occurred while making the request: {req_err}")
برای ادغام قابل اعتماد ، به خطای خطای مناسب و ورود به سیستم اضافه کنید ، از بلوک های به جز آزمایش برای خطاهای خاص استفاده کنید و مدارک را برای تماس های مهم در نظر بگیرید.
بهینه سازی استفاده از API DataDog
بهترین روشها برای کارآیی API
تا بیشترین استفاده را از داده های قطار API بدون مشکلات عملکرد:
- محدودیت های نرخ را مدیریت کنید: درخواست های API CAPS DATADOG. Backoff را اضافه کنید و منطق را دوباره به کد خود امتحان کنید.
- در صورت امکان حافظه پنهان: به جای اینکه به طور مکرر با API تماس بگیرید ، داده های مکرر دسترسی به محلی را ذخیره کنید.
- درخواست های خود را: چندین عملیات را به تماس های یکپارچه API انجام دهید.
- کد خود را به طور کارآمد ساختار دهید: ادغام خود را برای به حداقل رساندن تماس های اضافی سازماندهی کنید.
- در مورد نظرسنجی ، وب سایت های وب را انتخاب کنید: برای به روزرسانی های زمان واقعی ، وب سایت های DataDog نظرسنجی مداوم را کاهش دادند.
اجرای این شیوه ها می تواند عملکرد و کارآیی API را به میزان قابل توجهی افزایش دهد.
DataDog API ویژگی های پیشرفته و سفارشی سازی
در داده های قطار API قابلیت های پیشرفته ای را فراتر از اصول ارائه می دهد:
- تشخیص ناهنجاری: هشدارهای ML را ایجاد کنید که الگوهای غیرمعمول آستانه های سنتی را از دست می دهند.
- پیش بینی: پیش بینی مقادیر متریک آینده برای رسیدگی به موضوعات احتمالی قبل از وقوع آنها.
- تجزیه و تحلیل همبستگی: به صورت برنامه ای روابط بین معیارها را برای کشف وابستگی های پنهان تجزیه و تحلیل کنید.
این ویژگی های پیشرفته نه تنها نظارت را تقویت می کنند بلکه می توانند با ارائه بینش های دقیق ، از استراتژی های کسب درآمد API شما نیز پشتیبانی کنند.
در اینجا نحوه ایجاد مانیتور تشخیص ناهنجاری آورده شده است:
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.monitors_api import MonitorsApi
from datadog_api_client.v1.model.monitor import Monitor
from datadog_api_client.v1.model.monitor_type import MonitorType
body = Monitor(
name="Anomaly Detection Monitor",
type=MonitorType("metric alert"),
query="anomalies(avg:system.cpu.user{*}, 'basic', 2)",
message="Detected anomaly in CPU usage",
tags=["service:critical", "env:production"],
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = MonitorsApi(api_client)
response = api_instance.create_monitor(body=body)
print(response)
مقیاس پذیری و کاربرد جهانی
با افزایش API شما ، نظارت شما نیز باید مقیاس کند:
- نظارت چند منطقه: ساختار خود را داده های قطار API فراخوانی برای ردیابی عملکرد در مناطق مختلف.
- استراتژی برچسب گذاری: یک سیستم برچسب گذاری جامع برای سازماندهی موثر معیارها ایجاد کنید.
- تجمع داده های کارآمد: از توابع تجمیع DataDog برای کاهش حجم داده در حالی که بینش ها را حفظ می کنید ، استفاده کنید.
در اینجا نحوه پرس و جو از معیارها در سراسر مناطق آورده شده است:
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.metrics_api import MetricsApi
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = MetricsApi(api_client)
response = api_instance.query_metrics(
from_=int(time.time()) - 3600,
to=int(time.time()),
query="avg:api.response_time{*} by {region}"
)
print(response)
کاوش در گزینه های API DataDog
در حالی که DataDog نظارت جامع API را ارائه می دهد ، چندین گزینه دیگر ارزش بررسی دارد:
- API جدید یادگار: قابلیت های مشابه را با تمرکز بر نظارت بر عملکرد برنامه فراهم می کند. GraphQL API آنها گزینه های پرس و جو قابل انعطاف برای معیارها ، رویدادها و سیاهههای مربوط را ارائه می دهد.
- Prometheus http api: یک جایگزین منبع باز که در جمع آوری معیارها و پرس و جوهای مختلف برتری دارد. در حالی که از ویژگی های کمتری نسبت به DataDog برخوردار است ، مقرون به صرفه است و با محیط های Kubernetes به خوبی ادغام می شود.
- API گرانش: با ارائه قابلیت های تجسم قدرتمند ، سیستم عامل های معیارها را تکمیل می کند. API آن اجازه می دهد تا داشبورد برنامه ای و هشدار دهنده ایجاد شود.
- API الاستیک: API Elasticsearch قابلیت های تحلیلی ورود به سیستم را فراهم می کند. این به ویژه برای جستجوی مبتنی بر متن و تجزیه و تحلیل ورود به سیستم پیچیده است.
- API Dynatrace: با تشخیص ناهنجاری اتوماتیک ، مشاهده AI را ارائه می دهد. API آنها بر ارائه تجزیه و تحلیل علت ریشه ای دقیق متمرکز است.
هیچ جایگزین با وسعت DataDog دقیقاً مطابقت ندارد ، اما بسته به نیازهای خاص شما ، این سیستم عامل ها به همراه مقایسه هایی مانند دروازه Zuplo vs AWS API ، ممکن است مناسب تر برای مورد استفاده خاص شما باشد.
قیمت گذاری API DataDog
DataDog چندین بخش قیمت گذاری را برای تأمین اندازه های مختلف سازمان و نیازهای نظارت ارائه می دهد:
ردیف رایگان
- حفظ معیارهای محدود
- قابلیت های اساسی داشبورد
- حجم تماس API محدود (100 درخواست در دقیقه)
- حداکثر 5 میزبان
- ایده آل برای پروژه های کوچک و اهداف ارزیابی
ردیف
- حفظ داده های گسترده
- ویژگی های تحلیلی پیشرفته
- محدودیت نرخ API بالاتر (1000 درخواست در دقیقه)
- دسترسی کامل به سیاهههای مربوط و APM
- بهترین برای مشاغل متوسط با بار کار تولید
سطح شرکت
- حداکثر دوره حفظ داده ها
- بالاترین محدودیت نرخ API
- ویژگی های امنیتی پیشرفته
- نقش های SAML و سفارشی
- پشتیبانی اولویت
- برای سازمانهای بزرگ با محیطهای پیچیده طراحی شده است
راه حل های سفارشی
برای سازمان هایی که نیازهای منحصر به فرد دارند ، DataDog بسته های قیمت گذاری متناسب را ارائه می دهد که می تواند شامل موارد زیر باشد:
- تخفیف حجم
- سیاست های نگهداری سفارشی
- نمایندگان پشتیبانی اختصاصی
- کمک اجرای
هر ردیف شامل دسترسی به API Datadog است ، اما با محدودیت های مختلف و در دسترس بودن ویژگی. در هنگام انتخاب ردیف مناسب ، نیازهای نظارت ، نیازهای مقیاس و بودجه را در نظر بگیرید. سازمان ها غالباً با سطح طرفدار شروع می شوند و به روز می شوند زیرا نیازهای نظارتی آنها پیشرفته تر می شود.
صفحه قیمت گذاری API DataDog را می توان در: https://www.datadoghq.com/pricing/ در اینجا یافت ، در اینجا ، اطلاعات مفصلی را در مورد ردیف های قیمت گذاری ، برنامه ها و چگونگی استفاده از API در ساختار صورتحساب خود پیدا خواهید کرد.
بهینه سازی استراتژی نظارت API خود
DataDog API قابلیت های قدرتمندی را برای نظارت جامع API فراهم می کند و ضمن حفظ عملکرد و سادگی ، بینش عمیق تری در مورد اکوسیستم API خود به شما می دهد. با دنبال کردن نظارت بر بهترین روشها ، کلیدهای DataDog خود را با استفاده از متغیرهای محیط ایمن کنید ، در تماس های API خود خطای مناسب را اضافه کنید و از سیستم برچسب زدن DataDog برای سازماندهی معیارها برای عیب یابی آسان تر استفاده کنید.
این رویکرد به شما امکان می دهد معیارهای مهم را ردیابی کنید ، هشدارهای معنی دار تنظیم کنید و عملکرد API خود را در داشبورد در زمان واقعی تجسم کنید و یک راه حل نظارت قوی ایجاد کنید که به حفظ قابلیت اطمینان و بهبود تجربه کاربر کمک می کند.
آماده برای بالا بردن نظارت API خود با ادغام DataDog API هستید؟ امروز برای Zuplo ثبت نام کنید و قدرت ترکیب یک پلت فرم جهانی و لبه API را با قابلیت های نظارت جامع تجربه کنید. کاربران شما از شما برای قابلیت اطمینان و عملکرد بهبود یافته تشکر می کنند! 🙏