مدیریت هشدارها و اعلان ها با استفاده از API

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

بخش‌های بعدی نحوه مدیریت هشدارها با استفاده از API را شرح می‌دهند.

برای اطلاعات بیشتر در مورد API هشدارها، به API هشدارها مراجعه کنید.

تنظیم هشدارها و اعلان‌ها با استفاده از API

با ارسال یک درخواست POST به منبع زیر، هشدارها و اعلان‌ها را تنظیم کنید: https://apimonitoring.enterprise.apigee.com/alerts .

بخش‌های زیر نمونه‌هایی از تنظیم هشدارها و اعلان‌ها با استفاده از API را ارائه می‌دهند:

با استفاده از API، یک هشدار کد وضعیت 5xx برای پروکسی API تنظیم کنید

مثال زیر نحوه تنظیم هشداری را نشان می‌دهد که هنگام وقوع کدهای وضعیت 5xx با سرعتی بیش از 100 تراکنش در ثانیه (TPS) به مدت 10 دقیقه برای پروکسی API هتل‌ها در محیط تولید برای هر منطقه، فعال می‌شود. هنگام فعال شدن هشدار، یک اعلان به آدرس ایمیل مشخص شده ارسال می‌شود.

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 Alert",
     "description":"My 5xx alert",
     "environment":"prod",
     "enabled":true,
     "conditions":[
     {
        "description":"",
        "dimensions":{
            "org":"myorg", 
            "env":"prod", 
            "proxy":"hotels",
            "region":"ANY",
            "statusCode":"5xx"
        },
        "metric":"tps",
        "threshold":100,
        "durationSeconds":600,
        "comparator":">"
     }
     ],
     "notifications":[{ 
         "channel":"email", 
         "destination":"ops@acme.com"
     }],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600,
     "reportEnabled":true
    }'

همانطور که در بخش «دریافت توکن دسترسی OAuth 2.0» توضیح داده شده است، $ACCESS_TOKEN را روی توکن دسترسی OAuth 2.0 خود تنظیم کنید.

برای اطلاعات بیشتر در مورد گزینه‌های cURL استفاده شده در این مثال، به «استفاده از cURL» مراجعه کنید.

با استفاده از API، یک هشدار تأخیر ۹۵ درصدی برای پروکسی API تنظیم کنید

مثال زیر نحوه تنظیم هشداری را نشان می‌دهد که در صورت بیشتر بودن تأخیر کل پاسخ برای صدک ۹۵ام از ۱۰۰ میلی‌ثانیه به مدت ۵ دقیقه برای پروکسی API هتل در محیط تولید برای هر منطقه‌ای، فعال می‌شود.

در صورت فعال شدن هشدار، یک اعلان به Webhook مشخص شده ارسال می‌شود.

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":"My Alert",
     "description":"My first alert",
     "environment":"prod",
     "enabled":true,
     "conditions":[
     {
        "description":"",
        "dimensions":{
            "org":"myorg", 
            "env":"prod",
            "proxy" : "hotels",
            "region":"ANY",
            "percentile":"95"
        },
        "metric":"totalLatency",
        "threshold":100,
        "durationSeconds":300,
        "comparator":">"
     }
     ],
     "notifications":[{ "channel":"webhook", "destination":"https://apigee.com/test-webhook"}],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600,
     "reportEnabled":true
}'

همانطور که در بخش «دریافت توکن دسترسی OAuth 2.0» توضیح داده شده است، $ACCESS_TOKEN را روی توکن دسترسی OAuth 2.0 خود تنظیم کنید.

برای اطلاعات بیشتر در مورد گزینه‌های cURL استفاده شده در این مثال، به «استفاده از cURL» مراجعه کنید.

برای همه پروکسی‌های API که از API استفاده می‌کنند، یک هشدار کد وضعیت ۴۰۴ (برنامه یافت نشد) تنظیم کنید.

مثال زیر نحوه تنظیم هشداری را نشان می‌دهد که هنگام وقوع کدهای وضعیت HTTP 404 با نرخی بیش از 10٪ به مدت 5 دقیقه برای همه پروکسی‌های API در محیط تولید برای هر منطقه، فعال می‌شود.

هنگام فعال شدن هشدار، یک اعلان به کانال Slack مشخص شده ارسال می‌شود.

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":"404 Application Not Found Alert",
     "description":"My 404 alert",
     "environment":"prod",
     "enabled":true,
     "conditions":[
     {
        "description":"",
        "dimensions":{"org":"myorg", 
            "env":"prod", 
            "proxy":"ALL",
            "region":"ANY",
            "statusCode":"404"},
        "metric":"rate",
        "threshold":0.05,
        "durationSeconds":300,
        "comparator":">"
     }],
     "notifications":[{ "channel":"slack", "destination":"https://hooks.slack.com/services/T00000000/B00000000/XXXXX"}],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600,
     "reportEnabled":true
}'

همانطور که در بخش «دریافت توکن دسترسی OAuth 2.0» توضیح داده شده است، $ACCESS_TOKEN را روی توکن دسترسی OAuth 2.0 خود تنظیم کنید.

برای اطلاعات بیشتر در مورد گزینه‌های cURL استفاده شده در این مثال، به «استفاده از cURL» مراجعه کنید.

تنظیم هشدار تعداد پروکسی API برای APIهایی که از API استفاده می‌کنند

در ادامه مثالی از نحوه تنظیم هشداری ارائه شده است که وقتی تعداد کدهای 5xx برای APIها برای هر منطقه از 200 بیشتر شود، به مدت 5 دقیقه فعال می‌شود.

در این مثال، APIها در مجموعه Critical API Proxies (با UUID aeff4394-86b7-11e8-83d7-42010a840040) ثبت شده‌اند. برای به دست آوردن UUID یک مجموعه، به بخش «مشاهده همه مجموعه‌ها با استفاده از API» مراجعه کنید.

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":"Proxy Count Alert",
     "description":"My proxy count alert",
     "environment":"prod",
     "enabled":true,
     "conditions":[
     {
        "description":"",
        "dimensions":{
            "collection":"aeff4394-86b7-11e8-83d7-42010a840040",
            "org":"myorg", 
            "env":"prod",
            "proxy" : "ANY",
            "region":"ANY",
            "statusCode":"5xx"
        },
        "metric":"count",
        "threshold":200,
        "durationSeconds":300,
        "comparator":">"
     }
     ],
     "notifications":[{ 
         "channel":"email", 
         "destination":"ops@acme.com"
     }],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600,
     "reportEnabled":true
    }'

همانطور که در بخش «دریافت توکن دسترسی OAuth 2.0» توضیح داده شده است، $ACCESS_TOKEN را روی توکن دسترسی OAuth 2.0 خود تنظیم کنید.

برای اطلاعات بیشتر در مورد گزینه‌های cURL استفاده شده در این مثال، به «استفاده از cURL» مراجعه کنید.

با استفاده از API، هشدار نرخ خطا را برای سرویس‌های هدف تنظیم کنید

در ادامه مثالی از نحوه تنظیم هشداری ارائه شده است که وقتی نرخ کد ۵۰۰ برای سرویس‌های هدف برای هر منطقه از ۱۰٪ به مدت ۱ ساعت تجاوز کند، فعال می‌شود.

در این مثال، سرویس‌های هدف در مجموعه اهداف بحرانی (با UUID aeff4394-86b7-11e8-83d7-42010a840040) ثبت شده‌اند. برای به دست آوردن UUID برای یک مجموعه، به مشاهده همه مجموعه‌ها با استفاده از API مراجعه کنید.

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":"Error rate Alert",
     "description":"My error rate alert",
     "environment":"prod",
     "enabled":true,
     "conditions":[
     {
        "description":"",
        "dimensions":{
            "collection":"aeff4394-86b7-11e8-83d7-42010a840040",
            "org":"myorg", 
            "env":"prod",
            "proxy" : "ANY",
            "region":"ANY",
            "statusCode":"500"
        },
        "metric":"rate",
        "threshold":0.1,
        "durationSeconds":3600,
        "comparator":">"
     }
     ],
     "notifications":[{ 
         "channel":"email", 
         "destination":"ops@acme.com"
     }],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600,
     "reportEnabled":true
    }'

همانطور که در بخش «دریافت توکن دسترسی OAuth 2.0» توضیح داده شده است، $ACCESS_TOKEN را روی توکن دسترسی OAuth 2.0 خود تنظیم کنید.

برای اطلاعات بیشتر در مورد گزینه‌های cURL استفاده شده در این مثال، به «استفاده از cURL» مراجعه کنید.

با استفاده از API، یک هشدار نرخ خطا برای سیاست فراخوانی سرویس تنظیم کنید

در ادامه مثالی از نحوه تنظیم هشداری ارائه شده است که وقتی نرخ کد ۵۰۰ برای سرویس مشخص شده توسط سیاست ServiceCallout برای هر منطقه به مدت ۱ ساعت از ۱۰٪ فراتر رود، فعال می‌شود.

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":"Error rate Alert",
     "description":"My error rate alert",
     "environment":"prod",
     "enabled":true,
     "conditions":[
     {
        "description":"",
        "dimensions":{
            "target": "sc://docstore-api",
            "org":"myorg", 
            "env":"prod",
            "proxy" : "ANY",
            "region":"ANY",
            "statusCode":"500"
        },
        "metric":"rate",
        "threshold":0.1,
        "durationSeconds":3600,
        "comparator":">"
     }
     ],
     "notifications":[{ 
         "channel":"email", 
         "destination":"ops@acme.com"
     }],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600,
     "reportEnabled":true
    }'

همانطور که در بخش «دریافت توکن دسترسی OAuth 2.0» توضیح داده شده است، $ACCESS_TOKEN را روی توکن دسترسی OAuth 2.0 خود تنظیم کنید.

برای اطلاعات بیشتر در مورد گزینه‌های cURL استفاده شده در این مثال، به «استفاده از cURL» مراجعه کنید.

با استفاده از API، هشدار کد خطای خط‌مشی را تنظیم کنید

مثال زیر نحوه تنظیم هشداری را نشان می‌دهد که در صورت برآورده شدن یکی از شرایط زیر فعال می‌شود:

  • تعداد کدهای خطای SpikeArrestViolation برای APIهای موجود در محیط تولید برای هر منطقه‌ای، به مدت ۵ دقیقه بیشتر از ۱۰ عدد باشد.
  • تعداد تمام کدهای خطای پروتکل API برای APIها در محیط تولید برای هر منطقه‌ای، به مدت ۵ دقیقه بیشتر از ۳٪ است.

در این مثال، APIها در مجموعه Critical API Proxies (با UUID aeff4394-86b7-11e8-83d7-42010a840040) ثبت شده‌اند. برای به دست آوردن UUID یک مجموعه، به بخش «مشاهده همه مجموعه‌ها با استفاده از API» مراجعه کنید.

وقتی هشدار فعال می‌شود، یک اعلان به کد PagerDuty مشخص شده ارسال می‌شود.

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":"My Fault Code Alert",
     "description":"My fault code alert",
     "environment":"prod",
     "enabled":true,
     "conditions":[
     {
        "description":"",
        "dimensions": { 
            "collection":"aeff4394-86b7-11e8-83d7-42010a840040",
            "org":"myorg",
            "env":"prod",
            "proxy":"ANY",
            "region":"ANY",
            "faultCodeCategory":"Traffic Mgmt Policy",
            "faultCodeSubCategory":"Spike Arrest",
            "faultCodeName":"SpikeArrest Violation"
        },
        "metric":"count,
        "threshold":10,
        "durationSeconds":300,
        "comparator":">"
     },
     {
       "description":"",
       "dimensions": { 
           "collection":"aeff4394-86b7-11e8-83d7-42010a840040",
           "org":"myorg",
           "env":"prod",
           "proxy":"ANY",
           "region":"ANY",
           "faultCodeCategory":"API Protocol",
           "faultCodeSubCategory":"ALL"
       },
       "metric":"rate",
       "threshold":0.03,
       "durationSeconds":300,
       "comparator":">"
     }   
     ],
     "notifications":[{ "channel":"pagerduty", "destination":"abcd1234efgh56789"}],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600,
     "reportEnabled":true
}'

همانطور که در بخش «دریافت توکن دسترسی OAuth 2.0» توضیح داده شده است، $ACCESS_TOKEN را روی توکن دسترسی OAuth 2.0 خود تنظیم کنید.

برای اطلاعات بیشتر در مورد گزینه‌های cURL استفاده شده در این مثال، به «استفاده از cURL» مراجعه کنید.

مشاهده هشدارها و اعلان‌ها

بخش‌های زیر نمونه‌هایی از مشاهده تعاریف هشدار و اطلاعات مربوط به هشدارهای فعال‌شده با استفاده از API را ارائه می‌دهند:

مشاهده همه تعاریف هشدار برای یک سازمان

با ارسال یک درخواست GET به API زیر، تمام تعاریف هشدار و اعلان را مشاهده کنید: https://apimonitoring.enterprise.apigee.com/alerts .

شما باید نام سازمان خود را با استفاده از پارامتر پرس و جوی org ارسال کنید.

برای مثال:

curl 'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg'
    -X GET
    -H 'Accept: application/json, text/plain, */*'
    -H "Authorization: Bearer $ACCESS_TOKEN"    

UUID هشدار در فیلد uuid پاسخ نشان داده می‌شود. برای تعیین اطلاعات خاص مربوط به تعریف هشدار، به این UUID نیاز دارید. در زیر مثالی از پاسخ ارائه شده است:

[ 
 {
    "uuid": "4fa49a87-3463023ea7c4",
    "name": "PublicAPI latency alert",
    "enabled": true,
    "description": "Public API Latency alerts, 90th %ile > 6secs for 5 minute window trigger this alert",
    "conditions": [
      {
        "uuid": "4fa49a87-3463023ea7c4",
        "description": "",
        "dimensions": {
          "env": "prod",
          "org": "myorg",
          "percentile": "90",
          "proxy": "PublicAPI",
          "region": "ANY"
        },
        "metric": "totalLatency",
        "threshold": 6000,
        "durationSeconds": 300,
        "comparator": ">",
        "updatedBy": "me@foo.com"
      }
    ],
    "playbook": "PublicAPI Latency alert, setup to go off when 90th %ile is > 4 secs for 5 minute window",
    "throttleIntervalSeconds": 3600,
    "self": "/alerts/4fa49a87-3463023ea7c4",
    "feed": "/o/myorg/events/4fa49a87-3463023ea7c4",
    "organization": "myorg",
    "environment": "prod",
    "notifications": [
      {
        "channel": "email",
        "destination": "me@foo.com"
      }
    ],
    "updatedAt": "2018-07-19T18:19:31.654738Z",
    "updatedBy": "me@foo.com"
  },
  {
    "uuid": "ef1a5249-345ed3023ea7c4",
    "name": "Minty API Latency alert",
    "enabled": true,
    "description": "Minty API Latency alerts, 90th %ile > 6secs for 5 minute window trigger this alert",
    "conditions": [
      {
        "uuid": "ef1a5249-345ed3023ea7c4",
        "description": "",
        "dimensions": {
          "env": "prod",
          "org": "myorg",
          "percentile": "90",
          "proxy": "minty",
          "region": "ANY"
        },
        "metric": "totalLatency",
        "threshold": 6000,
        "durationSeconds": 300,
        "comparator": ">",
        "updatedBy": "me@foo.com"
      }
    ],
    "playbook": "Minty API",
    "throttleIntervalSeconds": 3600,
    "self": "/alerts/ef1a5249-345ed3023ea7c4",
    "feed": "/o/myorg/events/ef1a5249-345ed3023ea7c4",
    "organization": "myorg",
    "environment": "prod",
    "notifications": [
      {
        "channel": "email",
        "destination": "me@foo.com"
      }
    ],
    "updatedAt": "2018-07-19T18:19:33.22479Z",
    "updatedBy": "me@foo.com"
  },
 ...
]

همانطور که در بخش «دریافت توکن دسترسی OAuth 2.0» توضیح داده شده است، $ACCESS_TOKEN را روی توکن دسترسی OAuth 2.0 خود تنظیم کنید.

برای اطلاعات بیشتر در مورد گزینه‌های cURL استفاده شده در این مثال، به «استفاده از cURL» مراجعه کنید.

مشاهده تعریف هشدار خاص

با ارسال یک درخواست GET به منبع زیر، تعریف یک هشدار خاص را مشاهده کنید: https://apimonitoring.enterprise.apigee.com/alerts/ alert_uuid که در آن alert_uuid شناسه کاربری (UUID) تعریف هشدار را مشخص می‌کند. هنگام ایجاد هشدار، شناسه کاربری (UUID) را دریافت کنید یا از فراخوانی API نشان داده شده در بخش قبلی برای فهرست کردن تمام هشدارها و شناسه کاربری (UUID) مرتبط با آنها استفاده کنید.

برای مثال:

curl 'https://apimonitoring.enterprise.apigee.com/alerts/4fa49a87-3463023ea7c4'
    -X GET
    -H 'Accept: application/json, text/plain, */*'
    -H "Authorization: Bearer $ACCESS_TOKEN"    

در ادامه نمونه‌ای از پاسخ ارائه شده است:

  {
    "uuid": "4fa49a87-3463023ea7c4",
    "name": "PublicAPI latency alert",
    "enabled": true,
    "description": "Public API Latency alerts, 90th %ile > 6secs for 5 minute window trigger this alert",
    "conditions": [
      {
        "uuid": "4fa49a87-3463023ea7c4",
        "description": "",
        "dimensions": {
          "env": "prod",
          "org": "myorg",
          "percentile": "90",
          "proxy": "PublicAPI",
          "region": "ANY"
        },
        "metric": "totalLatency",
        "threshold": 6000,
        "durationSeconds": 300,
        "comparator": ">",
        "updatedBy": "me@foo.com"
      }
    ],
    "playbook": "PublicAPI Latency alert, setup to go off when 90th %ile is > 4 secs for 5 minute window",
    "throttleIntervalSeconds": 3600,
    "self": "/alerts/4fa49a87-3463023ea7c4",
    "feed": "/o/myorg/events/4fa49a87-3463023ea7c4",
    "organization": "myorg",
    "environment": "prod",
    "notifications": [
      {
        "channel": "email",
        "destination": "me@foo.com"
      }
    ],
    "updatedAt": "2018-07-19T18:19:31.654738Z",
    "updatedBy": "me@foo.com"
  }

همانطور که در بخش «دریافت توکن دسترسی OAuth 2.0» توضیح داده شده است، $ACCESS_TOKEN را روی توکن دسترسی OAuth 2.0 خود تنظیم کنید.

برای اطلاعات بیشتر در مورد گزینه‌های cURL استفاده شده در این مثال، به «استفاده از cURL» مراجعه کنید.

مشاهده تاریخچه همه هشدارهای فعال شده برای یک سازمان

با ارسال یک درخواست GET به منبع زیر، تاریخچه تمام هشدارهای ایجاد شده برای یک سازمان را مشاهده کنید: https://apimonitoring.enterprise.apigee.com/metrics/alerthistory .

شما باید نام سازمان خود را با استفاده از پارامتر کوئری org ارسال کنید. می‌توانید به صورت اختیاری یک دوره زمانی برای جستجوی هشدارهای فعال شده مشخص کنید. پیش‌فرض این است که تمام هشدارهای فعال شده در یک ساعت گذشته را برگردانید.

برای مثال:

curl 'https://apimonitoring.enterprise.apigee.com/metrics/alerthistory?org=myorg'
    -X GET
    -H 'Accept: application/json, text/plain, */*'
    -H "Authorization: Bearer $ACCESS_TOKEN"    

پاسخ شامل آرایه‌ای از تمام هشدارهای فعال‌شده در طول دوره زمانی درخواستی است. در بدنه پاسخ، فیلد id ، UUID هشدار فعال‌شده را مشخص می‌کند و فیلد shared_id UUID تعریف هشدار مرتبط با هشدار فعال‌شده را مشخص می‌کند.

در ادامه نمونه‌ای از پاسخ ارائه شده است.

[
  {
    "id": "80cbe560-f6e0-475c6f7ed2d",
    "shared_id": "4fa49a87-3463023ea7c4",
    "organization": "myorg",
    "environment": "prod",
    "name": "PublicAPI latency alert",
    "type": "Alert",
    "source": "null/current",
    "raw_payload": "{\"reportUUID\":\"\",\"reportEnabled\":false,\"organization\":\"myorg\",\"name\":\"emgmt-api 404\",\"self\":\"/alerts/4fa49a87-3463023ea7c4\",\"description\":\"go/apigee-extensions-playbook\",\"conditions\":[
  {\"comparator\":\">\",\"metric\":\"rate\",\"durationSeconds\":300,\"name\":\"PublicAPI latency alert\",\"description\":\"\",\"threshold\":0.05,\"dimensions\":{\"proxy\":\"emgmt-api\",\"org\":\"myorg\",\"env\":\"prod\",\"region\":\"any\",\"statusCode\":\"404\"}}],\"uuid\":\"4fa49a87-3463023ea7c4\",\"playbook\":\"go/apigee-extensions-playbook\"}",
    "time": "2019-03-25T15:30:18Z"
  },
  {
    "id": "8131d740-6680-45b9c72c3",
    "shared_id": "1a64885b-f9-42010a850039",
    "organization": "apigee-pinpoint",
    "environment": "prod",
    "name": "Demo 5xx alert",
    "type": "Alert",
    "source": "null/current",
    "raw_payload": "{\"reportUUID\":\"\",\"reportEnabled\":false,\"organization\":\"myorg\",\"name\":\"Demo 5xx alert\",\"self\":\"/alerts/1a64885b-f9-42010a850039\",\"description\":\"Demo 5xx alert\",\"conditions\":[
  {\"comparator\":\">\",\"metric\":\"rate\",\"durationSeconds\":300,\"name\":\"Demo 5xx alert\",\"description\":\"\",\"threshold\":0.4,\"dimensions\":{\"proxy\":\"ALL\",\"org\":\"myorg\",\"env\":\"prod\",\"region\":\"any\",\"statusCode\":\"5xx\"}}],\"uuid\":\"1a64885b-f9-42010a850039\",\"playbook\":\"Recommended Playbook\"}",
    "time": "2019-03-25T15:57:30Z"
  },
 ...
]

همانطور که در بخش «دریافت توکن دسترسی OAuth 2.0» توضیح داده شده است، $ACCESS_TOKEN را روی توکن دسترسی OAuth 2.0 خود تنظیم کنید.

برای اطلاعات بیشتر در مورد گزینه‌های cURL استفاده شده در این مثال، به «استفاده از cURL» مراجعه کنید.

مشاهده تاریخچه هشدار خاص

با ارسال یک درخواست GET به منبع زیر، تاریخچه هشدارهای فعال شده برای یک تعریف هشدار خاص را مشاهده کنید: https://apimonitoring.enterprise.apigee.com/metrics/alerthistory .

شما باید نام سازمان خود را با استفاده از پارامتر پرس و جوی org و UUID تعریف هشدار ارسال کنید. می‌توانید به صورت اختیاری یک دوره زمانی برای جستجوی هشدارها مشخص کنید. پیش‌فرض این است که تمام هشدارهای فعال شده در یک ساعت گذشته را برگردانید.

شما می‌توانید UUID تعریف هشدار را از تاریخچه هشدار، همانطور که در بخش قبل نشان داده شده است، هنگام ایجاد تعریف هشدار، یا با استفاده از فراخوانی API نشان داده شده در «مشاهده همه تعاریف هشدار» ، به دست آورید.

برای مثال:

curl 'https://apimonitoring.enterprise.apigee.com/metrics/alerthistory?org=myorg&alertId=4fa49a87-3463023ea7c4'
    -X GET
    -H 'Accept: application/json, text/plain, */*'
    -H "Authorization: Bearer $ACCESS_TOKEN"    

پاسخ شامل آرایه‌ای از تمام هشدارهایی است که در طول دوره زمانی درخواستی برای UUID تعریف هشدار مشخص شده، فعال شده‌اند. در بدنه پاسخ، فیلد id ، UUID هشدار فعال شده را مشخص می‌کند و فیلد shared_id UUID تعریف هشدار مرتبط با هشدار فعال شده را مشخص می‌کند.

در ادامه نمونه‌ای از پاسخ ارائه شده است.

[
  {
    "id": "80cbe560-f6e0-475c6f7ed2d",
    "shared_id": "4fa49a87-3463023ea7c4",
    "organization": "myorg",
    "environment": "prod",
    "name": "PublicAPI latency alert",
    "type": "Alert",
    "source": "null/current",
    "raw_payload": "{\"reportUUID\":\"\",\"reportEnabled\":false,\"organization\":\"myorg\",\"name\":\"emgmt-api 404\",\"self\":\"/alerts/4fa49a87-3463023ea7c4\",\"description\":\"go/apigee-extensions-playbook\",\"conditions\":[
  {\"comparator\":\">\",\"metric\":\"rate\",\"durationSeconds\":300,\"name\":\"PublicAPI latency alert\",\"description\":\"\",\"threshold\":0.05,\"dimensions\":{\"proxy\":\"emgmt-api\",\"org\":\"myorg\",\"env\":\"prod\",\"region\":\"any\",\"statusCode\":\"404\"}}],\"uuid\":\"4fa49a87-3463023ea7c4\",\"playbook\":\"go/apigee-extensions-playbook\"}",
    "time": "2019-03-25T15:30:18Z"
  },
  {
    "id": "9fc442d5-d607-40ef118c4e7",
    "shared_id": "4fa49a87-3463023ea7c4",
    "organization": "myorg",
    "environment": "prod",
    "name": "PublicAPI latency alert",
    "type": "Alert",
    "source": "null/current",
    "raw_payload": "{\"reportUUID\":\"\",\"reportEnabled\":false,\"organization\":\"myorg\",\"name\":\"emgmt-api 404\",\"self\":\"/alerts/4fa49a87-3463023ea7c4\",\"description\":\"go/apigee-extensions-playbook\",\"conditions\":[{\"comparator\":\">\",\"metric\":\"rate\",\"durationSeconds\":300,\"name\":\"PublicAPI latency alert\",\"description\":\"\",\"threshold\":0.05,\"dimensions\":{\"proxy\":\"emgmt-api\",\"org\":\"myorg\",\"env\":\"prod\",\"region\":\"any\",\"statusCode\":\"404\"}}],\"uuid\":\"4fa49a87-3463023ea7c4\",\"playbook\":\"go/apigee-extensions-playbook\"}",
    "time": "2019-03-25T15:17:55Z"
  },
 ...
]

همانطور که در بخش «دریافت توکن دسترسی OAuth 2.0» توضیح داده شده است، $ACCESS_TOKEN را روی توکن دسترسی OAuth 2.0 خود تنظیم کنید.

برای اطلاعات بیشتر در مورد گزینه‌های cURL استفاده شده در این مثال، به «استفاده از cURL» مراجعه کنید.