ลูกค้า Edge สำหรับ Private Cloud ทุกรายจะต้องส่งสถิติเกี่ยวกับการรับส่งข้อมูลพร็อกซีของ API ไปยังสถิติ Apigee Apigee แนะนำให้ลูกค้าอัปโหลดข้อมูลวันละครั้ง โดยอาจสร้างงาน Cron
คุณต้องส่งข้อมูลสำหรับการทำให้ API ที่ใช้งานจริงใช้งานได้ แต่ไม่ใช่สำหรับ API ในการพัฒนาหรือการทดสอบการทำให้ใช้งานได้ ในการติดตั้ง Edge ส่วนใหญ่ คุณจะกำหนดองค์กรหรือสภาพแวดล้อมที่เฉพาะเจาะจงสำหรับ API ที่ใช้งานจริง ข้อมูลที่คุณส่งมีไว้สำหรับองค์กรและสภาพแวดล้อมที่ใช้งานจริงเท่านั้น
Apigee เพื่อช่วยอัปโหลดข้อมูลนี้ โดยมียูทิลิตีบรรทัดคำสั่ง apigee-analytics-collector
รุ่นเบต้า ยูทิลิตีนี้จะส่งรายงานปริมาณการเรียก API กลับไปยัง Apigee Edge ทั้งหมดสำหรับการติดตั้ง Private Cloud จะใช้ยูทิลิตีนี้เพื่อเรียกและรายงานข้อมูลการรับส่งข้อมูลไปยัง Apigee ได้
จำเป็น: ติดต่อฝ่ายสนับสนุนของ Apigee ก่อนอัปโหลดข้อมูล
ก่อนที่คุณจะอัปโหลดข้อมูลไปยัง Apigee ได้ คุณต้องติดต่อทีมสนับสนุนของ Apigee Edge เพื่อทำตามขั้นตอนเริ่มต้นใช้งานให้เสร็จสมบูรณ์
ติดตั้ง apigee-analytics-collector
ยูทิลิตี apigee-analytics-collector
คือ RPM ที่คุณติดตั้งโดยใช้ยูทิลิตี apigee-service
ติดตั้งที่ไหน
โหนดที่คุณติดตั้งยูทิลิตี apigee-analytics-collector
อาจเป็นโหนดใดก็ได้ที่เข้าถึง Edge Management API ใน Edge Management Server ได้ คุณติดตั้งโดยตรงในเซิร์ฟเวอร์การจัดการ บนโหนดอื่นของการติดตั้ง Edge หรือในโหนดแยกต่างหากได้ ตราบใดที่โหนดนั้นส่งคำขอ API ไปยังเซิร์ฟเวอร์การจัดการได้
ข้อกำหนดในการเข้าถึงอินเทอร์เน็ต
ติดตั้งยูทิลิตี apigee-analytics-collector
ในเครื่องที่มีการเข้าถึงอินเทอร์เน็ตภายนอก จากนั้นยูทิลิตี apigee-analytics-collector
จะอัปโหลดข้อมูลไปยัง Apigee ได้โดยตรง
หากไม่มีโหนดที่ทั้งมีสิทธิ์เข้าถึง Edge Management API ใน Edge Management Server และการเข้าถึงอินเทอร์เน็ตภายนอก คุณจะใช้ Edge Management API เพื่อบันทึกข้อมูลการรับส่งข้อมูลในเครื่องได้ จากนั้นคุณต้องโอนข้อมูลไปยังเครื่องที่เข้าถึงอินเทอร์เน็ตเพื่ออัปโหลดไปยัง Apigee ได้ ในสถานการณ์นี้ คุณไม่จำเป็นต้องใช้ยูทิลิตี apigee-analytics-collector
โปรดดูข้อมูลเพิ่มเติมที่การอัปโหลดข้อมูลไปยัง Apigee ด้วยตนเอง
การติดตั้ง
ใช้คำสั่งต่อไปนี้เพื่อติดตั้งยูทิลิตี apigee-analytics-collector
เนื่องจากคุณกำลังติดตั้งไฟล์ RPM ผู้ใช้รูทหรือผู้ใช้ที่มีสิทธิ์การเข้าถึง sudo จึงต้องเรียกใช้คำสั่งนี้ สำหรับการเข้าถึง sudo เต็มรูปแบบ หมายความว่าผู้ใช้มีสิทธิ์เข้าถึง sudo เพื่อดำเนินการเช่นเดียวกับรูท
/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector install
กำลังเรียกใช้ apigee-analytics-collector
หัวข้อนี้จะอธิบายวิธีการเรียกใช้ยูทิลิตี apigee-analytics-collector
การกำหนดค่าผู้ใช้ให้เรียกใช้ apigee-analytics-collector
คุณต้องเรียกใช้ apigee-analytics-collector
ในฐานะผู้ใช้ที่ไม่ใช่ระดับรูท ผู้ใช้รายนี้ต้องมีสิทธิ์เข้าถึง sudo สำหรับผู้ใช้ "apigee" โดยสมบูรณ์
หากต้องการกำหนดค่าผู้ใช้ให้มีสิทธิ์เข้าถึง sudo สำหรับผู้ใช้ "apigee" โดยสมบูรณ์ ให้ใช้คำสั่ง "visudo" เพื่อแก้ไขไฟล์ sudoers เพื่อเพิ่ม:
analyticsUser ALL=(apigee) NOPASSWD: ALL
โดย analyticsUser คือชื่อผู้ใช้ของบุคคลที่เรียกใช้ยูทิลิตี apigee-analytics-collector
หลังจากติดตั้งยูทิลิตี apigee-analytics-collector
และกำหนดค่าผู้ใช้แล้ว คุณสามารถทดสอบยูทิลิตีนี้ได้โดยเรียกใช้คำสั่งความช่วยเหลือสำหรับยูทิลิตี apigee-analytics-collector
ดังนี้
/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic --help
ข้อมูลที่จำเป็นในการเรียกใช้ apigee-analytics-collector
คุณต้องมีข้อมูลต่อไปนี้เพื่อเรียกใช้คำสั่ง apigee-analytics-collector
และส่งต่อข้อมูลไปยัง Apigee
apigee_mgmt_api_uri
: URL พื้นฐานของ Edge API ในเซิร์ฟเวอร์การจัดการ โดยทั่วไป URL นี้จะอยู่ในรูปแบบต่อไปนี้http://ms_IP:8080/v1
โดย ms_IP คือที่อยู่ IP หรือเซิร์ฟเวอร์การจัดการและ 8080 คือพอร์ตที่ Edge API ใช้ หากสร้างรายการ DNS สำหรับ Edge API ไว้ URL นั้นจะอยู่ในรูปแบบต่อไปนี้
http://ms_DNS/v1
ถ้าเปิดใช้ TLS ใน Edge Management API ข้อมูลจะอยู่ในรูปแบบต่อไปนี้
https://ms_IP:8080/v1 https://ms_DNS/v1
apigee_mgmt_api_email
: อีเมลของบัญชีที่มีสิทธิ์เข้าถึง API ของ Edge/stats
ซึ่งมักจะเป็นอีเมลของผู้ดูแลระบบ Edge หรืออีเมลของผู้ดูแลระบบองค์กรขององค์กรที่ใช้งานจริงapigee_mgmt_api_password
: รหัสผ่าน Edge ของบัญชีที่ระบุโดยapigee_mgmt_api_email
apigee_analytics_client_id
และ apigee_analytics_secret: ข้อมูลเข้าสู่ระบบสำหรับการอัปโหลดข้อมูลไปยัง Apigee โปรดส่งตั๋วกับฝ่ายสนับสนุนของ Apigee Edge เพื่อรับapigee_analytics_client_id
และapigee_analytics_secret
คำสั่งตัวอย่าง
ด้านล่างนี้เป็นคำสั่งตัวอย่างสำหรับเรียกข้อมูลการรับส่งข้อมูลสำหรับองค์กรและสภาพแวดล้อมทั้งหมดในการติดตั้ง Edge แล้วอัปโหลดข้อมูลดังกล่าวไปยัง Apigee โปรดสังเกตวิธีที่คุณใช้ apigee-service
เพื่อเรียกใช้คำสั่ง apigee-analytics-collector
/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic \ --apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \ --apigee_mgmt_api_email $ae_username \ --apigee_mgmt_api_password $ae_password \ --apigee_analytics_client_id $apigee_analytics_client_id \ --apigee_analytics_secret $apigee_analytics_secret
โปรดทราบว่าคำสั่งมีข้อมูลที่จำเป็นทั้งหมด เช่น apigee_analytics_client_id และ apigee_analytics_secret
คุณจะเห็นผลลัพธ์ในแบบฟอร์ม
[ { "org": "myOrg", "env": "prod", "time_range_start": "08/27/2016 00:00", "time_range_end": "08/30/2016 00:00", "response": [ { "store_org_env_metrics_hourly_v4": 1 } ] }, { "org": "VALIDATE", "env": "test", "time_range_start": "08/27/2016 00:00", "time_range_end": "08/30/2016 00:00", "response": [ { "store_org_env_metrics_hourly_v4": 1 } ] } ]
ใช้ตัวเลือกบรรทัดคำสั่งกับคำสั่งเพื่อควบคุมการดำเนินการ ใช้ตัวเลือกต่อไปนี้เพื่อระบุองค์กรและสภาพแวดล้อมที่จะรวมไว้ในข้อมูลที่สร้างขึ้น
-i, --include_orgs comma-separated list of items
-x, --exclude_orgs comma-separated list of items
-n, --include_envs comma-separated list of items
-e, --exclude_envs comma-separated list of items
ตัวอย่างเช่น หากต้องการระบุเฉพาะองค์กรและสภาพแวดล้อมที่ใช้งานจริง ให้ใช้ตัวเลือก -i
(หรือ --include_orgs
) และ -n
(หรือ --include_envs)
) ดังนี้
/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic -i myOrg -n prod \ --apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \ --apigee_mgmt_api_email $ae_username \ --apigee_mgmt_api_password $ae_password \ --apigee_analytics_client_id $apigee_analytics_client_id \ --apigee_analytics_secret $apigee_analytics_secret
ในตัวอย่างนี้ คุณรวบรวมข้อมูลจากสภาพแวดล้อม Pro ของ myOrg
เท่านั้น
หากต้องการถ่ายโอนข้อมูลไปยังหน้าจอเพื่อตรวจสอบก่อนส่งไปยัง Apigee ให้ใช้ตัวเลือก -S
ดังนี้
/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic -i myOrg -n prod -S \ --apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \ --apigee_mgmt_api_email $ae_username \ --apigee_mgmt_api_password $ae_password \ --apigee_analytics_client_id $apigee_analytics_client_id \ --apigee_analytics_secret $apigee_analytics_secret
ตัวเลือก -S
จะยกเว้นข้อมูลที่อัปโหลดไปยัง Apigee จากนั้นคุณจะเรียกใช้คำสั่งอีกครั้งได้โดยไม่ต้องใช้ตัวเลือก -S
เพื่อส่งข้อมูลไปยัง Apigee
เหตุผลหนึ่งที่ควรใช้ตัวเลือก -S
คือเพื่อให้คุณแสดงข้อมูลประเภทต่างๆ ในเครื่องได้ Apigee ต้องการเพียงให้คุณอัปโหลดข้อมูลการจราจรของข้อมูล API เท่านั้น แต่ตัวเลือก -D
จะช่วยให้คุณแสดงข้อมูลเกี่ยวกับผลิตภัณฑ์ API, นักพัฒนาซอฟต์แวร์, แอป หรือพร็อกซี API ได้ ตัวอย่างด้านล่างใช้ตัวเลือก -D
และ -S
เพื่อแสดงข้อมูลนักพัฒนาซอฟต์แวร์ในเครื่อง
/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic -i myOrg -n prod -S -D devs \ --apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \ --apigee_mgmt_api_email $ae_username \ --apigee_mgmt_api_password $ae_password \ --apigee_analytics_client_id $apigee_analytics_client_id \ --apigee_analytics_secret $apigee_analytics_secret
ใส่ตัวเลือก -v
เพื่อรับเอาต์พุตแบบละเอียดและตัวเลือก -R
เพื่อดูคำสั่ง curl ที่สร้างโดย apigee-analytics-collector
ดังนี้
/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic -i myOrg -n prod -S -R -v \ --apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \ --apigee_mgmt_api_email $ae_username \ --apigee_mgmt_api_password $ae_password \ --apigee_analytics_client_id $apigee_analytics_client_id \ --apigee_analytics_secret $apigee_analytics_secret
ส่วนถัดไปจะมีรายการตัวเลือกบรรทัดคำสั่งทั้งหมด
พารามิเตอร์คำสั่ง
ตารางต่อไปนี้แสดงรายการตัวเลือกทั้งหมดสำหรับยูทิลิตี apigee-analytics-collector
คำสั่ง | คำอธิบาย |
---|---|
-h, --help |
ข้อมูลการใช้งานเอาต์พุต |
-D, --dimension dimension |
มิติข้อมูลการเข้าชมที่จะรวบรวม ค่าที่ใช้ได้มีดังนี้
|
-d, --days days
|
จำนวนวันที่ผ่านมาของข้อมูลที่จะรวบรวม โดยเริ่มตั้งแต่วันที่ปัจจุบัน ค่าเริ่มต้นคือ 3 หากคุณระบุ |
-m, --apigee_mgmt_api_uri apigee_mgmt_api_uri |
URL ไปยัง Edge Management API |
-u, --apigee_mgmt_api_email apigee_mgmt_api_email |
อีเมลของบัญชีที่มีสิทธิ์เข้าถึง API ของ Edge |
-p, --apigee_mgmt_api_password apigee_mgmt_api_password |
รหัสผ่านที่เชื่อมโยงกับบัญชีอีเมล Edge Management API ที่ระบุโดย |
-i, --include_orgs items
|
รายการองค์กรที่คั่นด้วยคอมมาเพื่อรวมไว้ในเอาต์พุต |
-x, --exclude_orgs items
|
รายการองค์กรที่คั่นด้วยคอมมาที่จะยกเว้นจากเอาต์พุต |
-n, --include_envs items
|
รายการสภาพแวดล้อมที่คั่นด้วยคอมมาที่จะรวมไว้ในเอาต์พุต |
-e, --exclude_envs items
|
รายการสภาพแวดล้อมที่คั่นด้วยคอมมาที่จะรวมจากเอาต์พุต |
-o, --output path
|
เส้นทางและชื่อไฟล์ที่จะบันทึกเอาต์พุต |
-s, --time_range_start time_range_start
|
ช่วงเวลาที่จะเริ่มต้นการค้นหาสถิติการเข้าชมในรูปแบบ: "MM/DD/YYYY HH:MM" หากคุณระบุ |
-z, --time_range_end time_range_end
|
เวลาสิ้นสุดสําหรับการค้นหาสถิติการเข้าชม ซึ่งอยู่ในรูปแบบ "04/01/2016 24:00" หากคุณระบุ |
-t, --time_unit time_unit
|
หน่วยเวลาสำหรับข้อมูลการจราจร ค่าเริ่มต้นคือ
หากคุณตั้งค่า |
-S, --standard_output
|
เขียนเอาต์พุตไปยังเทอร์มินัล (stdout) แทนการอัปโหลดไปยัง Apigee |
-c, --apigee_analytics_client_id apigee_analytics_client_id
|
รหัสสำหรับการอัปโหลดข้อมูลไปยัง Apigee โปรดส่งตั๋วกับฝ่ายสนับสนุนของ Apigee Edge เพื่อรับ |
-r, --apigee_analytics_secret apigee_analytics_secret
|
ข้อมูลลับสำหรับการอัปโหลดข้อมูลไปยัง Apigee โปรดส่งตั๋วกับฝ่ายสนับสนุนของ Apigee Edge เพื่อรับ |
-R, --include_curl_commands
|
รวมคำสั่ง |
-v, --verbose
|
แสดงเอาต์พุตที่มีข้อมูลขนาดใหญ่ |
การอัปโหลดข้อมูลไปยัง Apigee ด้วยตนเอง
Apigee ขอแนะนำให้คุณติดตั้งยูทิลิตี apigee-analytics-collector
บนเครื่องที่มีการเข้าถึงอินเทอร์เน็ตภายนอก จากนั้นยูทิลิตี apigee-analytics-collector
จะอัปโหลดข้อมูลไปยัง Apigee ได้โดยตรง
อย่างไรก็ตาม หากเครื่องไม่มีการเข้าถึงอินเทอร์เน็ตภายนอก ให้ใช้ Edge Management API เพื่อรวบรวมข้อมูลการจราจรของข้อมูล แล้วใช้คำสั่ง curl
เพื่ออัปโหลดไปยัง Apigee จากเครื่องที่เข้าถึงอินเทอร์เน็ตได้ คุณต้องทำขั้นตอนนี้ซ้ำสำหรับองค์กรที่ใช้งานจริงทั้งหมดและสภาพแวดล้อมในการติดตั้ง Edge
ใช้คำสั่ง curl
ต่อไปนี้เพื่อรวบรวมข้อมูลการรับส่งข้อมูลสำหรับองค์กรและสภาพแวดล้อมที่เฉพาะเจาะจงสำหรับช่วงเวลาที่ระบุ
curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \ "http://ms_IP:8080/v1/organizations/org_name/environments/env_name/stats/apiproxy?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour"
คำสั่งนี้ใช้ Edge Get API จำนวนข้อความ API คำสั่งนี้
- apigee_mgmt_api_email:apigee_mgmt_api_password จะระบุอีเมลของบัญชีที่มีสิทธิ์เข้าถึง Edge /stats API
- ms_IP คือที่อยู่ IP หรือชื่อ DNS ของเซิร์ฟเวอร์ Edge Management
- org_name และ env_name ระบุองค์กรและสภาพแวดล้อม
- apiproxy เป็นมิติข้อมูลที่จัดกลุ่มเมตริกตามพร็อกซี API
MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour
ระบุช่วงเวลาที่แบ่งออกเป็นหน่วยเวลาของเมตริกที่จะรวบรวม โปรดสังเกตว่าคำสั่งcurl
ใช้รหัสฐานสิบหก%20
สำหรับช่องว่างในช่วงเวลา
ตัวอย่างเช่น หากต้องการรวบรวมจำนวนข้อความพร็อกซี API แบบชั่วโมงต่อชั่วโมงในช่วงเวลา 24 ชั่วโมง ให้ใช้ การเรียก API ต่อไปนี้
curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \ "http://192.168.56.103:8080/v1/organizations/myOrg/environments/prod/stats/apiproxy?select=sum(message_count)&timeRange=01%2F01%2F2018%2000%3A00~01%2F02%2F2018%2000%3A00&timeUnit=hour"
(โปรดทราบว่า timeRange
มีอักขระที่เข้ารหัส URL)
คุณควรเห็นการตอบกลับในแบบฟอร์ม:
{ "environments" : [ { "dimensions" : [ { "metrics" : [ { "name" : "sum(message_count)", "values": [ { "timestamp": 1514847600000, "value": "35.0" }, { "timestamp": 1514844000000, "value": "19.0" }, { "timestamp": 1514840400000, "value": "58.0" }, { "timestamp": 1514836800000, "value": "28.0" }, { "timestamp": 1514833200000, "value": "29.0" }, { "timestamp": 1514829600000, "value": "33.0" }, { "timestamp": 1514826000000, "value": "26.0" }, { "timestamp": 1514822400000, "value": "57.0" }, { "timestamp": 1514818800000, "value": "41.0" }, { "timestamp": 1514815200000, "value": "27.0" }, { "timestamp": 1514811600000, "value": "47.0" }, { "timestamp": 1514808000000, "value": "66.0" }, { "timestamp": 1514804400000, "value": "50.0" }, { "timestamp": 1514800800000, "value": "41.0" }, { "timestamp": 1514797200000, "value": "49.0" }, { "timestamp": 1514793600000, "value": "35.0" }, { "timestamp": 1514790000000, "value": "89.0" }, { "timestamp": 1514786400000, "value": "42.0" }, { "timestamp": 1514782800000, "value": "47.0" }, { "timestamp": 1514779200000, "value": "21.0" }, { "timestamp": 1514775600000, "value": "27.0" }, { "timestamp": 1514772000000, "value": "20.0" }, { "timestamp": 1514768400000, "value": "12.0" }, { "timestamp": 1514764800000, "value": "7.0" } ] } ], "name" : "proxy1" } ], "name" : "prod" } ], "metaData" : { "errors" : [ ], "notices" : [ "query served by:53dab80c-e811-4ba6-a3e7-b96f53433baa", "source pg:6b7bab33-e732-405c-a5dd-4782647ce096", "Table used: myorg.prod.agg_api" ] } }
จากนั้น หากต้องการอัปโหลดข้อมูลดังกล่าวไปยัง Apigee จากเครื่องที่เข้าถึงอินเทอร์เน็ตได้ ให้ใช้คำสั่ง curl
ต่อไปนี้
curl -X POST -H 'Content-Type:application/json' \ -u apigee_analytics_client_id:apigee_analytics_secret \ https://nucleus-api-prod.apigee.com/v1/apigee-analytics-cli-api/traffic/orgs/org_name/apis -d '"environments"...'
โดยที่
- apigee_analytics_client_id:apigee_analytics_secret ระบุข้อมูลเข้าสู่ระบบสำหรับการอัปโหลดข้อมูลไปยัง Apigee ซึ่งได้รับจาก Apigee
- org_name ระบุชื่อองค์กร
- "environments"... ประกอบด้วยผลลัพธ์ของคำสั่ง
curl
ที่คุณใช้เพื่อรวบรวมสถิติข้างต้น