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

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

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

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

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

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

Metrics API

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

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