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