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

Edge for Private Cloud v. 4.17.09

ลูกค้า Edge for 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 คุณสามารถติดตั้งได้โดยตรงในเซิร์ฟเวอร์การจัดการ ในโหนดอื่นของการติดตั้ง Edge หรือในโหนดแยกต่างหาก ตราบใดที่โหนดนั้นส่งคําขอ API ไปยังเซิร์ฟเวอร์การจัดการได้

ข้อกำหนดในการเข้าถึงอินเทอร์เน็ต

ติดตั้งยูทิลิตี apigee-analytics-collector ในเครื่องที่มีอินเทอร์เน็ตภายนอก จากนั้นยูทิลิตี apigee-analytics-collector จะอัปโหลดข้อมูลไปยัง Apigee ได้โดยตรง

หากไม่มีโหนดที่ทั้งเข้าถึง Edge Management API ในเซิร์ฟเวอร์การจัดการ Edge และเข้าถึงอินเทอร์เน็ตภายนอกได้ คุณจะใช้ 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 และกำหนดค่าผู้ใช้แล้ว คุณสามารถทดสอบยูทิลิตีได้โดยเรียกใช้คำสั่ง help สำหรับยูทิลิตี 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 /stats ของ Edge ซึ่งมักจะเป็นอีเมลของผู้ดูแลระบบ 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 <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

ในตัวอย่างนี้ คุณรวบรวมข้อมูลจากสภาพแวดล้อมการใช้งานของ 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>

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

-d, --วัน <วัน>

จํานวนวันที่ผ่านมานับจากวันที่ปัจจุบันของข้อมูลที่เก็บรวบรวม ค่าเริ่มต้นคือ 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>

อีเมลของบัญชีที่มีสิทธิ์เข้าถึง Edge /stats API ซึ่งมักจะเป็นอีเมลของผู้ดูแลระบบระบบ 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, --output <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, --standard_output

เขียนเอาต์พุตไปยังเทอร์มินัล (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/?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM"

คำสั่งนี้ใช้ Edge Get API message count API ในคําสั่งนี้

  • apigee_mgmt_api_email:apigee_mgmt_api_password ระบุอีเมลของบัญชีที่มีสิทธิ์เข้าถึง Edge /stats API
  • <ms_IP> คือที่อยู่ IP หรือชื่อ DNS ของเซิร์ฟเวอร์การจัดการ Edge
  • {org_name} และ {env_name} ระบุองค์กรและสภาพแวดล้อม
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM ระบุช่วงเวลาของสถิติที่จะรวบรวม โปรดทราบว่าคําสั่ง cURL ใช้รหัสฐาน 16 %20 สําหรับเว้นวรรคในช่วงเวลา

ตัวอย่างเช่น หากต้องการรวบรวมสถิติสำหรับช่วงเวลา 24 ชั่วโมง ให้ใช้คำสั่งต่อไปนี้

curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \
"http://192.168.56.103:8080/v1/organizations/myOrg/environments/prod/stats/?select=sum(message_count)&timeRange=08/29/2016%2000:00~08/30/2016%2000:00"

คุณควรเห็นคำตอบในรูปแบบต่อไปนี้

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