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

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

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

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

การตั้งค่า $ACCESS_TOKEN

การเรียก API ทั้งหมดที่แสดงด้านล่างจะส่งข้อมูลเข้าสู่ระบบของคุณในตัวแปรสภาพแวดล้อมที่เรียกว่า $ACCESS_TOKEN ตั้งค่า $ACCESS_TOKEN เป็นโทเค็นเพื่อการเข้าถึง OAuth 2.0 ตามที่อธิบายไว้ใน หัวข้อรับโทเค็นเพื่อการเข้าถึง 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
    }'

ใช้ Events 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"

API นี้กำหนดให้ต้องมีเฉพาะพารามิเตอร์การค้นหา org นอกจากพารามิเตอร์การค้นหาที่อธิบายไว้ในเอกสารประกอบ API ที่ /metrics/events แล้ว API นี้ยังรองรับตัวเลือกต่อไปนี้เพื่อรองรับการตรวจหาความผิดปกติ

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

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

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

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