एपीआई ट्रैफ़िक डेटा को Apigee में अपलोड करना - बीटा रिलीज़

Edge for Private Cloud v. 4.17.01

Private Cloud के सभी ग्राहकों को, एपीआई प्रॉक्सी ट्रैफ़िक से जुड़े Apigee के आंकड़े सबमिट करने होंगे. Apigee का सुझाव है कि ग्राहक उस जानकारी को दिन में एक बार अपलोड करें. इसके लिए, आपको क्रॉन जॉब बनाना होगा.

आपको अपने प्रोडक्शन एपीआई डिप्लॉयमेंट के लिए, डेटा सबमिट करना होगा. हालांकि, डेवलपमेंट या टेस्टिंग डिप्लॉयमेंट में चल रहे एपीआई के लिए डेटा सबमिट नहीं करना होगा. ज़्यादातर Edge इंस्टॉलेशन में, आपको अपने प्रोडक्शन एपीआई के लिए खास संगठन या एनवायरमेंट तय करने होंगे. आपने जो डेटा सबमिट किया है वह सिर्फ़ उन प्रोडक्शन संगठनों और एनवायरमेंट के लिए है.

इस डेटा को अपलोड करने में मदद करने के लिए, Apigee, apigee-analytics-collector कमांड-लाइन सुविधा का बीटा रिलीज़ उपलब्ध कराता है. यह सुविधा, एपीआई कॉल वॉल्यूम की रिपोर्ट को वापस Apigee को भेजती है. Private Cloud को इंस्टॉल करने के लिए, हर किनारे इस सुविधा का इस्तेमाल कर सकता है. इससे, ट्रैफ़िक का डेटा Apigee को भेजा जा सकता है और उसकी रिपोर्ट की जा सकती है.

Apigee पर ट्रैफ़िक का डेटा अपलोड करने की प्रोसेस के बारे में ज़्यादा जानकारी के लिए, अक्सर पूछे जाने वाले सवाल देखें.

टूल का इस्तेमाल करने के बारे में जानने के लिए एक छोटा वीडियो देखें.

apigee-analytics-कलेक्टर इंस्टॉल करना

apigee-analytics-collector यूटिलिटी, एक Node.js मॉड्यूल है जिसे npm का इस्तेमाल करके इंस्टॉल किया जाता है.

इंस्टॉल करने से जुड़ी ज़रूरी शर्तें

apigee-analytics-collector सुविधा के लिए, यह ज़रूरी है:

  • npm 2.x या उसके बाद का
  • Node.js 4.x.

कहां इंस्टॉल करें

जिस नोड पर apigee-analytics-collector इस्तेमाल किया जाता है वह कोई भी ऐसा नोड हो सकता है जो Edge मैनेजमेंट सर्वर पर Edge मैनेजमेंट एपीआई को ऐक्सेस कर सकता है. इसे सीधे मैनेजमेंट सर्वर, Edge इंस्टॉलेशन के दूसरे नोड पर या अलग नोड पर इंस्टॉल किया जा सकता है, बशर्ते वह नोड मैनेजमेंट सर्वर को एपीआई अनुरोध भेज सकता हो.

इंटरनेट ऐक्सेस करने से जुड़ी ज़रूरी शर्तें

बाहरी इंटरनेट ऐक्सेस वाली मशीन पर, apigee-analytics-collector उपयोगिता इंस्टॉल करें. इसके बाद, apigee-analytics-collector यूटिलिटी, सीधे Apigee पर डेटा अपलोड कर सकती है.

अगर कोई नोड नहीं है जो Edge मैनेजमेंट सर्वर पर और बाहरी इंटरनेट ऐक्सेस वाले Edge मैनेजमेंट एपीआई को दोनों का ऐक्सेस कर सकता है, तो ट्रैफ़िक डेटा को अपने डिवाइस पर सेव करने के लिए, Edge मैनेजमेंट एपीआई का इस्तेमाल किया जा सकता है. इसके बाद, आपको डेटा को इंटरनेट ऐक्सेस वाली किसी मशीन पर ट्रांसफ़र करना होगा, ताकि Apigee पर डेटा अपलोड किया जा सके. ऐसी स्थिति में, आपको apigee-analytics-collector सुविधा इस्तेमाल करने की ज़रूरत नहीं होगी. ज़्यादा जानकारी के लिए, Apigee पर मैन्युअल तरीके से डेटा अपलोड करना देखें.

इंस्टॉल करना

apigee-analytics-collector सुविधा इंस्टॉल करने के लिए, नीचे दिए गए कमांड का इस्तेमाल करें:

> npm install apigee-analytics-collector -g

apigee-analytics-कलेक्टर चल रहा है

इस सेक्शन में, apigee-analytics-collector उपयोगिता चलाने का तरीका बताया गया है.

apigee-analytics-collector चलाने के लिए ज़रूरी जानकारी

apigee-analytics-collector कमांड चलाने और Apigee को डेटा फ़ॉरवर्ड करने के लिए आपके पास यह जानकारी होनी चाहिए:

  • apigee_mgmt_api_uri: आपके मैनेजमेंट सर्वर पर मौजूद Edge API का बेस यूआरएल. आम तौर पर, यह यूआरएल इस फ़ॉर्म में होता है:
    http://ms_IP:8080/v1

    जहां ms_IP, आईपी पता या आपका मैनेजमेंट सर्वर है और 8080 वह पोर्ट है जिसे Edge एपीआई इस्तेमाल करता है. अगर आपने Edge API के लिए कोई डीएनएस एंट्री बनाई है, तो यूआरएल इस फ़ॉर्मैट में होगा:
    http://ms_DNS/v1

    अगर आपने Edge मैनेजमेंट एपीआई पर TLS चालू किया है, तो यह इस फ़ॉर्मैट में होगा:
    https://ms_IP:8080/v1
    https://ms_DNS/v1
  • apigee_mgmt_api_email: उस खाते का ईमेल पता जिसके पास Edge /stats एपीआई को ऐक्सेस करने की अनुमति है. आम तौर पर यह Edge सिस्टम के एडमिन का ईमेल होगा या आपके प्रोडक्शन संगठनों के लिए संगठन के एडमिन का ईमेल होगा.
  • apigee_mgmt_api_password: apigee_mgmt_api_email में बताए गए खाते के लिए Edge पासवर्ड.
  • apigee_analytics_client_id और apigee_analytics_secret: Apigee पर डेटा अपलोड करने के लिए आपके क्रेडेंशियल. apigee_analytics_client_id और apigee_analytics_secret पाने के लिए, कृपया Apigee सहायता की मदद से एक टिकट सबमिट करें.

आप ये निर्देश दे सकते हैं

एज इंस्टॉलेशन में सभी संगठनों और एनवायरमेंट के ट्रैफ़िक डेटा को वापस पाने और उस डेटा को 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 <comma-सेपरेटेड लिस्ट ऑफ़ आइटम>
  • -x, --Exclude_orgs <कॉमा-सेप्रेटेड आइटम की सूची>
  • -n, --include_envs <comma- कामों की सूची में मौजूद आइटम>
  • -e, --excluded_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 पर अपलोड किए गए डेटा को हटा देता है. इसके बाद, Apigee को डेटा भेजने के लिए, -S विकल्प के बिना कमांड को फिर से चलाया जा सकता है.

-S विकल्प का इस्तेमाल करने की एक वजह यह है कि आपको अलग-अलग तरह का डेटा स्थानीय तौर पर दिखाया जा सकता है. Apigee को सिर्फ़ एपीआई ट्रैफ़िक डेटा अपलोड करने की ज़रूरत होती है. हालांकि, -D विकल्प का इस्तेमाल करके, एपीआई प्रॉडक्ट, डेवलपर, ऐप्लिकेशन या एपीआई प्रॉक्सी का डेटा दिखाया जा सकता है. नीचे दिए गए उदाहरण में, डेवलपर डेटा को स्थानीय तौर पर दिखाने के लिए, -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 विकल्प शामिल करें. apigee-analytics-collector से जनरेट किए गए कर्ल कमांड देखने के लिए -R विकल्प शामिल करें:

 > 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, apiप्रॉक्सी (डिफ़ॉल्ट)

-d, --दिन <days>

मौजूदा तारीख से इकट्ठा किए जाने वाले डेटा के पिछले दिनों की संख्या. डिफ़ॉल्ट वैल्यू 3 है.

अगर आप -d तय करते हैं, तो समयसीमा सेट करने के लिए -s और -z भी न बताएं.

-m, --apigee_mgmt_api_uri <apigee_mgmt_api_uri>

Edge मैनेजमेंट एपीआई का यूआरएल.

-u, --apigee_mgmt_api_email <apigee_mgmt_api_email>

उस खाते का ईमेल पता जिसके पास Edge /stats एपीआई को ऐक्सेस करने की अनुमति होती है. आम तौर पर यह Edge सिस्टम एडमिन का ईमेल होगा या आपके प्रोडक्शन संगठनों के संगठन के एडमिन का ईमेल होगा.

-p, --apigee_mgmt_api_password <apigee_mgmt_api_password>

Edge मैनेजमेंट एपीआई के ईमेल खाते से जुड़ा पासवर्ड, जिसे -u से तय किया गया है.

-i, --include_orgs <items>

आउटपुट में शामिल करने के लिए, संगठनों की कॉमा-सेपरेटेड लिस्ट.

-x, --Exclude_orgs <items>

आउटपुट से बाहर रखने के लिए, संगठनों की कॉमा-सेपरेटेड लिस्ट.

-n, --include_envs <items>

आउटपुट में शामिल करने के लिए एनवायरमेंट की कॉमा-सेपरेटेड लिस्ट.

-e, --excluded_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, --standard_आउटपुट

आउटपुट को Apigee पर अपलोड करने के बजाय, टर्मिनल (stdout) में लिखें.

-c, --apigee_analytics_client_id <apigee_analytics_client_id>

Apigee पर डेटा अपलोड करने के लिए आपका आईडी. इनाम पाने के लिए, कृपया Apigee की सहायता टीम की मदद से एक टिकट सबमिट करें.

-r, --apigee_analytics_secret <apigee_analytics_secret>

Apigee पर डेटा अपलोड करने का आपका सीक्रेट. इनाम पाने के लिए, कृपया Apigee की सहायता टीम की मदद से एक टिकट सबमिट करें.

-आर, --include_curl_commands

डीबग करने के लिए, जनरेट किए गए cURL कमांड को आउटपुट में शामिल करें.

-v, --verbose

वर्बोस आउटपुट दिखाएं.

Apigee पर मैन्युअल रूप से डेटा अपलोड करना

Apigee का सुझाव है कि आप बाहरी इंटरनेट ऐक्सेस वाली मशीन पर apigee-analytics-collector उपयोगिता इंस्टॉल करें. इसके बाद, apigee-analytics-collector यूटिलिटी, सीधे Apigee पर डेटा अपलोड कर सकती है.

हालांकि, अगर मशीन में बाहरी इंटरनेट ऐक्सेस नहीं है, तो ट्रैफ़िक का डेटा इकट्ठा करने के लिए, Edge मैनेजमेंट एपीआई का इस्तेमाल करें. इसके बाद, इंटरनेट ऐक्सेस वाली मशीन से इसे Apigee पर अपलोड करने के लिए, cURL कमांड का इस्तेमाल करें. आपको यह तरीका अपने 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 के मैसेज की गिनती वाले एपीआई का इस्तेमाल करता है. इस निर्देश में:

  • apigee_mgmt_api_email:apigee_mgmt_api_password उस खाते के ईमेल पते की जानकारी देता है जिसके पास Edge /stats एपीआई को ऐक्सेस करने की अनुमति होती है.
  • <ms_IP>, Edge मैनेजमेंट सर्वर का आईपी पता या डीएनएस नाम है.
  • {org_name} और {env_name}, संगठन और एनवायरमेंट के बारे में बताते हैं.
  • apiproxy ऐसा डाइमेंशन है जो एपीआई प्रॉक्सी के हिसाब से मेट्रिक को ग्रुप करता है.
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour, इकट्ठा की जाने वाली मेट्रिक की समय इकाइयों में बांटी गई समयसीमा की जानकारी देता है. ध्यान दें कि cURL निर्देश समयसीमा में मौजूद स्पेस के लिए, हेक्स कोड %20 का इस्तेमाल करता है.

उदाहरण के लिए, 24 घंटे में हर घंटे एपीआई प्रॉक्सी मैसेज की संख्या इकट्ठा करने के लिए, नीचे दिए गए मैनेजमेंट एपीआई कॉल का इस्तेमाल करें. TimeRange में यूआरएल के कोड में बदले गए वर्ण शामिल होते हैं.

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 कमांड के नतीजे शामिल होते हैं. इसका इस्तेमाल, आपने ऊपर दिए गए आंकड़े इकट्ठा करने के लिए किया था.