ดูข้อมูลเมตริกโดยใช้ API

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

ใช้ API ที่อธิบายไว้ด้านล่างเพื่อรับเมตริกการตรวจสอบ API เมตริกคือค่าข้อมูลที่การตรวจสอบ API รวบรวมจากข้อมูลดิบที่มีอยู่ในบันทึกการตรวจสอบ API

ส่วนต่อไปนี้อธิบายวิธีจัดการเมตริกโดยใช้ API

ดูข้อมูลเพิ่มเติมเกี่ยวกับ Metrics API ได้ที่ Metrics API

ดูข้อมูลเกี่ยวกับตัวเลือก cURL ที่ใช้ในตัวอย่างเหล่านี้ได้ที่หัวข้อ ดู Use cURL

API เมตริก

URL ฐานที่คุณใช้เพื่อส่งคำขอ GET ไปยัง Metrics API คือ

https://apimonitoring.enterprise.apigee.com/metrics/resource

โดยที่ resource จะสอดคล้องกับเมตริกที่เฉพาะเจาะจง ตารางต่อไปนี้แสดงรายการทรัพยากรเมตริก

ทรัพยากร คำอธิบาย
/traffic รับเมตริกการเข้าชม ระบุตัวกรอง เช่น ชื่อพร็อกซี ช่วงเวลา หน้าต่างเวลา เป้าหมาย รหัสสถานะ และอื่นๆ อีกมากมาย
/latency รับเมตริกเวลาในการตอบสนองสำหรับคำขอ

ไปยัง Edge และเป้าหมายแบ็กเอนด์ ระบุตัวกรอง เช่น ชื่อพร็อกซี ช่วงเวลา เป้าหมาย รหัสสถานะ และอื่นๆ อีกมากมาย

/targets รับโดเมนเป้าหมายทั้งหมดสำหรับองค์กรและสภาพแวดล้อมที่เฉพาะเจาะจง
/alerthistory รับเมตริกประวัติการแจ้งเตือนสำหรับองค์กรและหน้าต่างเวลาที่เฉพาะเจาะจง
/alertinstance/instanceid รับเมตริกประวัติการแจ้งเตือนสำหรับรหัสอินสแตนซ์การแจ้งเตือนที่เฉพาะเจาะจง
/alertsummary รับจำนวนการแจ้งเตือนทั้งหมดสำหรับองค์กรและหน้าต่างเวลา
/faultcodenames รับชื่อรหัสข้อผิดพลาดทั้งหมด
/faultcodes รับรหัสข้อผิดพลาด
/faultcodecategories รับหมวดหมู่รหัสข้อผิดพลาด
/faultcodesubcategories รับหมวดหมู่ย่อยของรหัสข้อผิดพลาด
/faultcodedetails รับรหัสข้อผิดพลาดทั้งหมดพร้อมรายละเอียด

ดูข้อมูลข้อผิดพลาด

ทรัพยากร /fault* ทั้งหมดจะแสดงผลข้อมูลเมตาเกี่ยวกับข้อผิดพลาดที่เป็นไปได้ใน Edge ตัวอย่างเช่น หากต้องการดูรายการหมวดหมู่ข้อผิดพลาดที่เป็นไปได้ทั้งหมด ให้ทำดังนี้

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/faultcodecategories" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

ตั้งค่า $ACCESS_TOKEN เป็นโทเค็นเพื่อการเข้าถึง OAuth 2.0 ตามที่อธิบายไว้ใน หัวข้อรับโทเค็นเพื่อการเข้าถึง OAuth 2.0

การตอบกลับจะปรากฏในรูปแบบต่อไปนี้

{
  "faultCodeCategories":[
    "","API Protocol","Developer/App","Extension Policy","Gateway",
    "Mediation Policy","Mint","Security Policy","Sense","Traffic Mgmt Policy"
  ]
}

จากนั้นคุณจะกำหนดรายการรหัสข้อผิดพลาดสำหรับหมวดหมู่ API Protocol ได้ดังนี้

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/faultcodes?faultCodeCategory=API Protocol" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

ดูตัวเลือกเพิ่มเติมได้ที่ Metrics API

บันทึกเมตริกสำหรับการเข้าชมและเวลาในการตอบสนอง

Metrics API มีตัวกรองที่คุณสามารถใช้กับ API เพื่อระบุ ช่วงเวลา พร็อกซี ภูมิภาค สภาพแวดล้อม และตัวกรองอื่นๆ ที่กำหนดเองกับ เมตริกที่คำนวณแล้ว ตัวอย่างเช่น หากต้องการดูเมตริกธุรกรรมต่อวินาที (tps) ทุกๆ 10 นาทีสำหรับชั่วโมงที่ผ่านมาในทุกสภาพแวดล้อม ให้ทำดังนี้

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=10m&groupBy=env&org=myorg" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN" 

ตั้งค่า $ACCESS_TOKEN เป็นโทเค็นเพื่อการเข้าถึง OAuth 2.0 ตามที่อธิบายไว้ใน หัวข้อรับโทเค็นเพื่อการเข้าถึง OAuth 2.0

การเรียกนี้จะแสดงผลลัพธ์ในรูปแบบต่อไปนี้

{
  "results":[
    {
      "series":[
        {
          "name":"proxy",
        "tags":
             {
                "env":"prod",
                "intervalSeconds":"60",
                "org":"myorg",
                "region":"myregion"
              },
            "columns":["time","tps"],
            "values":[
              ["2018-08-15T13:10:00Z",5.03],
              ["2018-08-15T13:20:00Z",5.01],
              ["2018-08-15T13:30:00Z",5.81],
              ["2018-08-15T13:40:00Z",5.95],
              
            ]
          },
       
       }
    }]
}

โปรดสังเกตว่าพร็อพเพอร์ตี้ columns จะระบุรูปแบบของ values พร็อพเพอร์ตี้ values จะมี tps ที่คำนวณทุกๆ 10 นาทีสำหรับช่วง 10 นาทีที่ผ่านมา

พารามิเตอร์การค้นหา interval จะกำหนดความถี่ที่ระบบจะบันทึกเมตริกลงในผลลัพธ์และหน้าต่างการสุ่มตัวอย่างสำหรับค่าในผลลัพธ์ ในตัวอย่างด้านบน ระบบจะคำนวณเมตริกในช่วง 10 นาทีที่ผ่านมาและเขียนลงในผลลัพธ์ทุกๆ 10 นาที

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

รูปแบบวันที่อาจเป็นอย่างใดอย่างหนึ่งต่อไปนี้

  • yyyy-mm-ddThh:mm:ssZ
  • yyyy-mm-ddThh:mm:ss+00:00

เช่น

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=2018-08-13T14%3A04%3A00Z&to=2018-08-13T14%3A10%3A00Z&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

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

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

อีกตัวเลือกหนึ่งคือการใช้พารามิเตอร์การค้นหา proxy เพื่อแสดงธุรกรรมต่อวินาที (tps) สำหรับพร็อกซีเดียว

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

สำหรับเมตริกเวลาในการตอบสนอง ให้ระบุเกณฑ์เดียวกับเมตริกการเข้าชม อย่างไรก็ตาม สำหรับทรัพยากร /latency ให้ทำดังนี้

  • คุณต้องระบุพารามิเตอร์การค้นหา percentile เป็น 50, 90, 95 หรือ 99 เช่น หากระบุ 90 API จะแสดงผลค่าเวลาในการตอบสนองทั้งหมดในเปอร์เซ็นไทล์ที่ 90
  • windowsize จะตั้งค่าไว้ที่ 1 นาที

ตัวอย่างเช่น หากต้องการดูเมตริกสำหรับเวลาในการตอบสนองทั้งหมดในเปอร์เซ็นไทล์ที่ 90 สำหรับหน้าต่าง 1 นาที ให้ทำดังนี้

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/latency?percentile=90&select=totalLatency&from=-1h&to=now&interval=5m&windowsize=1m&groupBy=org,env,region&org=myorg" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

ดูตัวเลือกเพิ่มเติมได้ที่ Metrics API

บันทึกเมตริกสำหรับการแจ้งเตือน

Metrics API จะแสดงผลเมตริกสำหรับการแจ้งเตือนทั้งหมด การแจ้งเตือนที่เฉพาะเจาะจง หรือสรุปการแจ้งเตือน ตัวอย่างเช่น หากต้องการดูประวัติการแจ้งเตือนสำหรับองค์กรในช่วงชั่วโมงที่ผ่านมา ให้ทำดังนี้

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/alerthistory?org=myorg&from=-1h&to=now" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

ตั้งค่า $ACCESS_TOKEN เป็นโทเค็นเพื่อการเข้าถึง OAuth 2.0 ตามที่อธิบายไว้ใน หัวข้อรับโทเค็นเพื่อการเข้าถึง OAuth 2.0

การเรียก API นี้จะแสดงผลการตอบกลับในรูปแบบต่อไปนี้

[
  {
"id":"983c4c7a-c301-4697-95cc-9a7c53e05fac",
"organization":"myorg",
"environment":"prod",
"name":"Public Api 5xx error rate",
"type":"Alert",
"source":"https://www.apigee.net/sonar",
"raw_payload":"
{
    \"reportUUID\":\"\",
    \"reportEnabled\":false,
    \"organization\":\"myorg\",
    \"name\":\"Public Api 5xx error rate\",
    \"self\":\"/alerts/95cc9ef4-345f-11e8-9fd3-12774584e062\",
    \"description\":\"\",
    \"conditions\":[
    {
        \"comparator\":\"\u003e\",
        \"metric\":\"rate\",
        \"durationSeconds\":3600,
        \"name\":\"\",
        \"description\":\"\",
        \"threshold\":0.01,
        \"dimensions\":
        {
            \"proxy\":\"myAPI\",
            \"org\":\"myorg\",
            \"env\":\"prod\",
            \"region\":\"myRegion\",
            \"statusCode\":\"5xx\"
            }
        }],
        \"uuid\":\"95cc9ef4-345f-11e8-9fd3-12774584e062\",
    \"playbook\":\"This is a test alert.\"
    }",
"time":"2018-08-14T12:45:28Z"
 },
 
]

จากนั้นคุณสามารถใช้ id ในอาร์เรย์ที่แสดงผลเพื่อดูข้อมูลเกี่ยวกับการแจ้งเตือนที่เฉพาะเจาะจงได้ดังนี้

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/alertinstance/983c4c7a-c301-4697-95cc-9a7c53e05fac" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

ดูตัวเลือกเพิ่มเติมได้ที่ Metrics API