ใช้ API การตรวจจับความผิดปกติ

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
ข้อมูล

API ส่วนใหญ่ที่คุณใช้เพื่อสร้างและจัดการการแจ้งเตือนความผิดปกติและเพื่อรวบรวมเมตริกความผิดปกติจะเหมือนกับของที่คุณใช้กับการแจ้งเตือนแบบคงที่ API การแจ้งเตือนต่อไปนี้จะทำงานในลักษณะเดียวกันสำหรับการแจ้งเตือนที่แก้ไขแล้วและผิดปกติ

อย่างไรก็ตาม API บางรายการมีคุณสมบัติเพิ่มเติมที่ใช้รองรับการแจ้งเตือนความผิดปกติ ได้แก่

กำลังตั้งค่า $ACCESS_TOKEN

การเรียก API ทั้งหมดที่แสดงด้านล่างจะส่งข้อมูลเข้าสู่ระบบของคุณในตัวแปรสภาพแวดล้อมชื่อ $ACCESS_TOKEN ตั้งค่า $ACCESS_TOKEN เป็นโทเค็นเพื่อการเข้าถึง OAuth 2.0 ตามที่อธิบายไว้ในรับโทเค็นเพื่อการเข้าถึง OAuth 2.0 ดูข้อมูลเกี่ยวกับตัวเลือก cURL ที่ใช้ในตัวอย่างเหล่านี้ได้ที่ใช้ cURL

รับการแจ้งเตือน

โดยค่าเริ่มต้น 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 ทั้งหมดในสภาพแวดล้อมผลิตภัณฑ์สำหรับทุกภูมิภาค ระบบจะส่งการแจ้งเตือนไปยังอีเมลที่ระบุไว้เมื่อมีการทริกเกอร์การแจ้งเตือน

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
    }'

ใช้ Event API ที่มีความผิดปกติ

ใช้ /metrics/events API เพื่อรับเหตุการณ์ทั้งหมดในองค์กรในระยะเวลาที่กำหนด รายการเหตุการณ์ประกอบด้วยความผิดปกติที่ Edge ตรวจพบและการแจ้งเตือนที่ทริกเกอร์ การแจ้งเตือนอาจเป็นได้ทั้งการแจ้งเตือนที่แก้ไขแล้วและการแจ้งเตือนความผิดปกติ

โดยค่าเริ่มต้น API จะแสดงเหตุการณ์ทั้งหมดในชั่วโมงก่อนหน้า ใช้พารามิเตอร์การค้นหา from และ to เพื่อระบุระยะเวลาที่แตกต่างกัน ค่าพารามิเตอร์การค้นหา from และ to เพื่อระบุระยะเวลาที่แตกต่างกัน

ตัวอย่างเช่น การเรียก API ต่อไปนี้จะแสดงเหตุการณ์ทั้งหมดในองค์กร myorg ในช่วง 12 ชั่วโมงก่อนหน้า

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

ตั้งค่า $ACCESS_TOKEN เป็นโทเค็นเพื่อการเข้าถึง OAuth 2.0 ตามที่อธิบายไว้ในรับโทเค็นเพื่อการเข้าถึง 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 เท่านั้นที่จำเป็นสำหรับ API นี้ นอกจากพารามิเตอร์การค้นหาที่อธิบายไว้ในเอกสาร API ที่ /metrics/events แล้ว API นี้รองรับตัวเลือกต่อไปนี้เพื่อรองรับการตรวจจับความผิดปกติ

ชื่อ คำอธิบาย ค่าเริ่มต้น
threshold

กรองเหตุการณ์ตามเกณฑ์ที่ระบุ ได้แก่ slight, moderate หรือ severe

อนุญาตเฉพาะเมื่อคุณตั้งค่า type=anomaly

ความรุนแรงทุกระดับ
type กรองเหตุการณ์ตามประเภทที่ระบุ: alert หรือ anomaly ระบุหลายค่าเป็นรายการที่คั่นด้วยคอมมา ทุกประเภท