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

Edge for Private Cloud เวอร์ชัน 4.17.01

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

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

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการอัปโหลดข้อมูลการเข้าชมไปยัง Apigee ได้ที่ คำถามที่พบบ่อย

ดูวิดีโอสั้นๆ เพื่อดูการทำงานของเครื่องมือ

กำลังติดตั้ง apigee-analytics-collector

apigee-analytics-collector คือโมดูล Node.js ที่คุณติดตั้งโดยใช้ npm

การติดตั้ง ข้อกำหนด

apigee-analytics-collector ยูทิลิตีต้องการสิ่งต่อไปนี้

  • npm 2.x ขึ้นไป
  • Node.js 4.x

ติดตั้งที่ใด

โหนดที่คุณติดตั้งยูทิลิตี 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

> npm install apigee-analytics-collector -g

กำลังเรียกใช้ apigee-analytics-collector

ส่วนนี้จะอธิบายวิธีเรียกใช้ยูทิลิตี apigee-analytics-collector

ข้อมูลที่จำเป็นในการเรียกใช้ 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 เพื่อรับ apigee_analytics_client_id และ apigee_analytics_secret

คำสั่งตัวอย่าง

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

> 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) มีดังนี้

> 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 ดังนี้

> 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 ในการแสดงข้อมูลนักพัฒนาแอป ในเครื่อง:

> 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

 > 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 &lt;dimension&gt;

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

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

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

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

-m, --apigee_mgmt_api_uri &lt;apigee_mgmt_api_uri&gt;

URL ไปยัง Edge Management API

-u, --apigee_mgmt_api_email &lt;apigee_mgmt_api_email&gt;

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

-p, --apigee_mgmt_api_password &lt;apigee_mgmt_api_password&gt;

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

-i, --include_orgs &lt;items&gt;

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

-x, --exclude_orgs &lt;items&gt;

รายชื่อองค์กรที่คั่นด้วยจุลภาคที่จะยกเว้นจากเอาต์พุต

-n, --include_envs &lt;items&gt;

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

-e, --exclude_envs &lt;items&gt;

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

-o, --output &lt;path&gt;

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

-s, --time_range_start &lt;time_range_start&gt;

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

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

-z, --time_range_end &lt;time_range_end&gt;

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

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

-t, --time_unit &lt;time_unit&gt;

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

-S, --standard_output

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

-c, --apigee_analytics_client_id &lt;apigee_analytics_client_id&gt;

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

-r, --apigee_analytics_secret &lt;apigee_analytics_secret&gt; รายการ

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

ตัวอย่างเช่น หากต้องการรวบรวมจำนวนข้อความพร็อกซี API ต่อชั่วโมงในช่วงเวลา 24 ชั่วโมง ให้ใช้ กำลังติดตาม คน การเรียก API การจัดการ ช่วงเวลามีอักขระที่เข้ารหัส 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" ]
  }
}

จากนั้นใช้ cURL ต่อไปนี้เพื่ออัปโหลดข้อมูลดังกล่าวไปยัง Apigee จากเครื่องที่มีการเข้าถึงอินเทอร์เน็ต คำสั่ง:

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 ที่ ที่คุณใช้รวบรวมสถิติข้างต้น