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

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

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

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

จำเป็น: ติดต่อทีมสนับสนุนของ Apigee ก่อนอัปโหลดข้อมูล

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

ในตัวอย่างนี้ คุณรวบรวมข้อมูลจากสภาพแวดล้อมการใช้งานของ 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
  • apiproxy (ค่าเริ่มต้น)
  • apps
  • devs
-d, --days 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

อีเมลของบัญชีที่มีสิทธิ์เข้าถึง 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

ช่วงเวลาที่จะเริ่มต้นเพื่อค้นหาสถิติการจราจร ซึ่งอยู่ในรูป "MM/DD/YYYY HH:MM"

หากคุณระบุ -d อย่าระบุ -s และ -z ด้วย เพื่อกำหนดช่วงเวลา

-z, --time_range_end time_range_end

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

หากคุณระบุ -d อย่าระบุ -s และ -z ด้วย เพื่อกำหนดช่วงเวลา

-t, --time_unit time_unit

หน่วยเวลาสำหรับข้อมูลการจราจร ค่าเริ่มต้นคือ hour หน่วยเวลาที่ถูกต้อง ได้แก่

  • second
  • minute
  • hour (ค่าเริ่มต้น)
  • day
  • week

หากคุณตั้งค่า -t เป็น week และ -d เป็น 365 จากนั้น Apigee จะแสดงข้อมูลจำนวนมากโดยจัดกลุ่มเป็น 52 ข้อมูลแยกกัน รายการ (1 รายการต่อสัปดาห์)

-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

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

-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 เซิร์ฟเวอร์การจัดการ
  • 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 ที่ ที่คุณใช้รวบรวมสถิติข้างต้น