การอัปโหลดข้อมูลการเข้าชม API ไปยัง Apigee - รุ่นเบต้า

Edge สำหรับ Private Cloud เวอร์ชัน 4.18.01

ลูกค้า Edge สำหรับ Private Cloud ทุกรายจะต้องส่งสถิติเกี่ยวกับการรับส่งข้อมูลพร็อกซีของ API ไปยังสถิติ Apigee Apigee แนะนำให้ลูกค้าอัปโหลดข้อมูลวันละครั้ง โดยอาจสร้างงาน Cron

คุณต้องส่งข้อมูลสำหรับการทำให้ API ที่ใช้งานจริงใช้งานได้ แต่ไม่ใช่สำหรับ API ในการพัฒนาหรือการทดสอบการทำให้ใช้งานได้ ในการติดตั้ง Edge ส่วนใหญ่ คุณจะกำหนดองค์กรหรือสภาพแวดล้อมที่เฉพาะเจาะจงสำหรับ API ที่ใช้งานจริง ข้อมูลที่คุณส่งมีไว้สำหรับองค์กรและสภาพแวดล้อมที่ใช้งานจริงเท่านั้น

Apigee เพื่อช่วยอัปโหลดข้อมูลนี้ โดยมียูทิลิตีบรรทัดคำสั่ง apigee-analytics-collector รุ่นเบต้า ยูทิลิตีนี้จะส่งรายงานปริมาณการเรียก API กลับไปยัง Apigee Edge ทั้งหมดสำหรับการติดตั้ง Private Cloud จะใช้ยูทิลิตีนี้เพื่อเรียกและรายงานข้อมูลการรับส่งข้อมูลไปยัง Apigee ได้

การเข้าถึงข้อมูลที่อัปโหลดโดย apigee-analytics-collector

หลังจากอัปโหลดข้อมูลด้วยยูทิลิตี apigee-analytics-collector คุณจะดูข้อมูลดังกล่าวได้ใน Apigee 360

หากต้องการดูข้อมูล ให้ลงชื่อเข้าสู่ระบบ Apigee 360 แล้วเลือกตัวเลือกการใช้งาน หน้าการใช้งานจะแสดงกราฟการใช้งานและตารางข้อมูลการใช้งานสำหรับองค์กร 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 หรือ Management Server และ 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 เพื่อรับ 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 <รายการที่คั่นด้วยคอมมา>
  • -x, --exclude_orgs <รายการที่คั่นด้วยจุลภาค>
  • -n, --include_envs <รายการที่คั่นด้วยคอมมา>
  • -e, --exclude_envs <รายการที่คั่นด้วยจุลภาค>

ตัวอย่างเช่น หากต้องการระบุเฉพาะองค์กรและสภาพแวดล้อมที่ใช้งานจริง ให้ใช้ตัวเลือก -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 เพื่อรับเอาต์พุต Verbose และตัวเลือก -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, --ความช่วยเหลือ

ข้อมูลการใช้งานเอาต์พุต

-D, --มิติข้อมูล <dimension>

มิติข้อมูลการเข้าชมที่จะรวบรวม มิติข้อมูลที่ใช้ได้ ได้แก่ apiproducts, devs, apps, apiproxy (ค่าเริ่มต้น)

-d, --วัน <days>

จำนวนวันที่ผ่านมาของข้อมูลที่จะรวบรวม โดยเริ่มตั้งแต่วันที่ปัจจุบัน ค่าเริ่มต้นคือ 3

หากคุณระบุ -d ไม่ต้องระบุ -s และ -z เพื่อตั้งค่าช่วงเวลา

-m, --apigee_mgmt_api_uri <apigee_mgmt_api_uri>

URL ไปยัง Edge Management API

-u, --apigee_mgmt_api_email <apigee_mgmt_api_email>

อีเมลของบัญชีที่มีสิทธิ์เข้าถึง API ของ Edge /stats ซึ่งมักจะเป็นอีเมลของผู้ดูแลระบบ Edge หรืออีเมลของผู้ดูแลระบบองค์กรขององค์กรที่ใช้งานจริง

-p, --apigee_mgmt_api_password <apigee_mgmt_api_password>

รหัสผ่านที่เชื่อมโยงกับบัญชีอีเมล Edge Management API ที่ระบุโดย -u

-i, --include_orgs <items>

รายการองค์กรที่คั่นด้วยคอมมาที่จะรวมในเอาต์พุต

-x, --exclude_orgs <items>

รายการองค์กรที่คั่นด้วยคอมมาที่จะยกเว้นในเอาต์พุต

-n, --include_envs <items>

รายการสภาพแวดล้อมที่คั่นด้วยคอมมาที่จะรวมในเอาต์พุต

-e, --exclude_envs <items>

รายการสภาพแวดล้อมที่คั่นด้วยจุลภาคที่จะรวมจากเอาต์พุต

-o, --เอาต์พุต <path>

เส้นทางและชื่อไฟล์เพื่อบันทึกเอาต์พุต

-s, --time_range_start <time_range_start>

ช่วงเวลาที่จะเริ่มต้นการค้นหาสถิติการเข้าชม ซึ่งอยู่ในรูปแบบ "03/01/2016 00:00"

หากคุณระบุ -d ไม่ต้องระบุ -s และ -z เพื่อตั้งค่าช่วงเวลา

-z, --time_range_end <time_range_end>

เวลาสิ้นสุดสําหรับการค้นหาสถิติการเข้าชม ซึ่งอยู่ในรูปแบบ "04/01/2016 24:00"

หากคุณระบุ -d ไม่ต้องระบุ -s และ -z เพื่อตั้งค่าช่วงเวลา

-t, --time_unit <time_unit>

หน่วยเวลาสำหรับข้อมูลการจราจร สัปดาห์เริ่มต้น หน่วยเริ่มต้นตามชั่วโมง หน่วยเวลาที่ใช้ได้: วินาที นาที ชั่วโมง วัน สัปดาห์

-S, --มาตรฐาน_เอาต์พุต

เขียนเอาต์พุตไปยังเทอร์มินัล (stdout) แทนการอัปโหลดไปยัง Apigee

-c, --apigee_analytics_client_id <apigee_analytics_client_id>

รหัสสำหรับการอัปโหลดข้อมูลไปยัง Apigee โปรดส่งตั๋วกับทีมสนับสนุนของ Apigee เพื่อรับสิทธิ์

-r, --apigee_analytics_secret <apigee_analytics_secret>

ข้อมูลลับสำหรับการอัปโหลดข้อมูลไปยัง Apigee โปรดส่งตั๋วกับทีมสนับสนุนของ Apigee เพื่อรับสิทธิ์

-R, --include_curl_commands

รวมคำสั่ง cURL ที่สร้างขึ้นในเอาต์พุตเพื่อแก้ไขข้อบกพร่อง

-v, --รายละเอียด

แสดงเอาต์พุตที่มีข้อมูลขนาดใหญ่

การอัปโหลดข้อมูลไปยัง 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 ระบุอีเมลของบัญชีที่มีสิทธิ์เข้าถึง API ของ Edge /stats
  • <ms_IP> คือที่อยู่ IP หรือชื่อ DNS ของ Edge Management Server
  • {org_name} และ {env_name} ระบุองค์กรและสภาพแวดล้อม
  • apiproxy คือตัวเลขที่จัดกลุ่มเมตริกตามพร็อกซี API
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour ระบุช่วงเวลาโดยแบ่งออกเป็นหน่วยเวลาของเมตริกที่จะรวบรวม โปรดสังเกตว่าคำสั่ง cURL จะใช้รหัสฐานสิบหก %20 สำหรับช่องว่างในช่วงเวลา

ตัวอย่างเช่น หากต้องการรวบรวมจำนวนข้อความพร็อกซี API แบบชั่วโมงต่อชั่วโมงในช่วงเวลา 24 ชั่วโมง ให้ใช้ การเรียก API การจัดการต่อไปนี้ timeRange มีอักขระที่เข้ารหัส URL

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"

คุณควรเห็นการตอบกลับในแบบฟอร์ม:

{
  "environments" : [ {
    "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"
  } ],
  "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 ที่คุณใช้รวบรวมสถิติด้านบน