از API تشخیص ناهنجاری استفاده کنید

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

بیشتر APIهایی که برای ایجاد و مدیریت هشدارهای ناهنجاری و جمع‌آوری معیارهای ناهنجاری استفاده می‌کنید، مشابه مواردی هستند که با هشدارهای ثابت استفاده می‌کنید. API های هشدار زیر برای هشدارهای ثابت و غیرعادی به یک شکل عمل می کنند:

با این حال، برخی از API ها دارای ویژگی های اضافی هستند که برای پشتیبانی از هشدارهای ناهنجاری استفاده می شود، از جمله:

تنظیم $ACCESS_TOKEN

همه تماس‌های API نشان داده شده در زیر، اعتبار شما را در یک متغیر محیطی به نام $ACCESS_TOKEN منتقل می‌کنند. همانطور که در دریافت نشانه دسترسی OAuth 2.0 توضیح داده شده است، $ACCESS_TOKEN روی نشانه دسترسی OAuth 2.0 خود تنظیم کنید. برای اطلاعات در مورد گزینه های cURL استفاده شده در این مثال ها، به استفاده از cURL مراجعه کنید.

دریافت هشدار

به طور پیش فرض، Get alerts API اطلاعات مربوط به همه هشدارهای تعریف شده را برمی گرداند. این API اکنون پارامترهای پرس و جو را می گیرد تا به شما امکان می دهد نتایج را فیلتر کنید:

  • enabled - اگر true مشخص می کند که فقط هشدارهای فعال را برگرداند. مقدار پیش فرض false است.
  • alertType - نوع هشدار برای بازگشت را مشخص می کند. مقادیر مجاز عبارتند از runtime ، پیش فرض، cert .
  • alertSubType - نوع فرعی هشدار را برای بازگشت مشخص می کند. مقدار پیش‌فرض تنظیم نشده است، به این معنی که همه زیرگروه‌های هشدار را برمی‌گرداند. برای برگرداندن هشدارهای ناهنجاری، anomaly مشخص کنید.

به عنوان مثال، از فراخوانی API زیر استفاده کنید تا فقط هشدارهای فعال را برای سازمانی به نام myorg بازگردانید:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&enabled=true'

تماس زیر فقط هشدارهای غیرعادی را، چه فعال و چه غیرفعال، برمی گرداند:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&alertType=runtime&alertSubType=anomaly'

ایجاد یا به روز رسانی هشدار ناهنجاری

از همان APIها برای ایجاد یا به روز رسانی یک هشدار ناهنجاری استفاده کنید که در حال حاضر برای یک هشدار ثابت انجام می دهید. بدنه فراخوانی API برای ایجاد یا به‌روزرسانی یک هشدار ناهنجاری، همان چیزی است که برای یک هشدار ثابت استفاده می‌شود، با تغییرات زیر:

  • شما باید ویژگی های جدید زیر را اضافه کنید تا مشخص کنید که هشدار یک هشدار غیرعادی است:

    "alertType": "runtime"
    "alertSubType": "anomaly"

    مقادیر پیش فرض این ویژگی ها عبارتند از:

    "alertType": "runtime"
    "alertSubType": "fixed"
  • در آرایه conditions :

    • ویژگی metrics فقط مقادیر زیر را می گیرد:

      • count - یک هشدار در مورد تعداد خطاهای HTTP ایجاد کنید.
      • totalLatency - یک هشدار برای تأخیر ایجاد کنید.
    • ویژگی threshold به جای عدد یک رشته می گیرد. مقادیر پشتیبانی شده عبارتند از: slight ، moderate ​​و severe .
    • ویژگی‌های durationSeconds و comparator پشتیبانی نمی‌شوند.
  • در عنصر dimensions آرایه conditions :

    • شما باید مقدار ویژگی proxy را روی ALL تنظیم کنید.
    • ویژگی statusCode فقط از مقادیر 4xx, 503, 504, and 5xx پشتیبانی می کند.
    • ویژگی های developerApp ، collection ، faultCodeCategory ، faultCodeSubCategory ، faultCodeName پشتیبانی نمی شوند.
  • ویژگی reportEnabled برای هشدارهای غیرعادی پشتیبانی نمی شود.

فراخوانی API مثال زیر یک هشدار ناهنجاری ایجاد می‌کند که وقتی کدهای وضعیت 5xx با نرخ متوسطی برای همه پراکسی‌های API در محیط prod برای هر منطقه رخ می‌دهند، فعال می‌شود. هنگامی که هشدار فعال می شود، یک اعلان به آدرس ایمیل مشخص شده ارسال می شود:

curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
 -X POST \
 -H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -d '{
     "organization":"myorg",
     "name":"5xx Anomaly Alert",
     "description":"My 5xx alert",
     "environment":"prod",
     "enabled":true,
     "alertType": "runtime",
     "alertSubType": "anomaly",
     "conditions":[
     {
        "description":"",
        "dimensions":{
            "org":"myorg",
            "env":"prod",
            "proxy":"ALL",
            "region":"ANY",
            "statusCode":"5xx"
        },
        "metric":"count",
        "threshold": "moderate"
     }
     ],
     "notifications":[{
         "channel":"email",
         "destination":"ops@acme.com"
     }],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600
    }'

از رویدادهای API با ناهنجاری استفاده کنید

از /metrics/events API برای دریافت همه رویدادهای یک سازمان برای یک بازه زمانی مشخص استفاده کنید. لیست رویدادها شامل ناهنجاری‌هایی است که توسط Edge شناسایی شده‌اند و هر گونه هشدار فعال‌شده. هشدارها می توانند شامل هشدارهای ثابت و غیرعادی باشند.

به طور پیش فرض، API همه رویدادهای ساعت قبل را برمی گرداند. برای تعیین مدت زمان متفاوت از پارامترهای from و to query استفاده کنید. مقادیر پارامتر from و to پرس و جو برای تعیین مدت زمان متفاوت.

برای مثال، فراخوانی API زیر همه رویدادهای سازمان myorg را برای 12 ساعت قبل برمی‌گرداند:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
"https://apimonitoring.enterprise.apigee.com/metrics/events?org=myorg&from=-12h&to=now"

همانطور که در دریافت نشانه دسترسی OAuth 2.0 توضیح داده شده است، $ACCESS_TOKEN روی نشانه دسترسی OAuth 2.0 خود تنظیم کنید. برای اطلاعات در مورد گزینه های cURL استفاده شده در این مثال، استفاده از cURL را ببینید.

تماس بعدی همه رویدادهای غیرعادی را با یک آستانه متوسط ​​در 24 ساعت گذشته برمی‌گرداند:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
"https://apimonitoring.enterprise.apigee.com/metrics/events?org=myorg&type=anomaly&threshold=moderate&from=-24h&to=now"

فقط پارامتر org query برای این API مورد نیاز است. همراه با پارامترهای پرس و جو شرح داده شده در سند API در /metrics/events ، این API از گزینه های زیر برای پشتیبانی از تشخیص ناهنجاری پشتیبانی می کند:

نام توضیحات پیش فرض
threshold

رویدادها را بر اساس آستانه مشخص شده فیلتر کنید: slight ، moderate ​​یا severe .

فقط زمانی مجاز است که type=anomaly را تنظیم کنید.

همه شدت ها
type رویدادها را بر اساس نوع مشخص شده فیلتر کنید: alert یا anomaly . چندین مقدار را به عنوان یک لیست جدا شده با کاما مشخص کنید. همه انواع