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

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

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

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

ดู Metrics API สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ 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 รับชื่อ Faultcode ทั้งหมด
/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