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

Edge for Private Cloud v. 4.16.09

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

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

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

इस सेक्शन में, 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 API से इस्तेमाल किया जाने वाला पोर्ट है. अगर आपने Edge API के लिए डीएनएस एंट्री बनाई है, तो यूआरएल इस फ़ॉर्मैट में होगा:
    http://ms_DNS/v1

    अगर आपने Edge Management API पर टीएलएस चालू किया है, तो यह इस फ़ॉर्मैट में होगा:
    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 की सहायता टीम को टिकट सबमिट करें.

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

यहां एक उदाहरण दिया गया है. इसमें 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 <comma-separated list of items>
  • -x, --exclude_orgs <कॉमा लगाकर अलग की गई आइटम की सूची>
  • -n, --include_envs <comma-separated list of items>
  • -e, --exclude_envs <comma-separated list of items>

उदाहरण के लिए, सिर्फ़ प्रोडक्शन संगठनों और एनवायरमेंट की जानकारी देने के लिए, -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 से जनरेट किए गए curl कमांड देखने के लिए, -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 यूटिलिटी के लिए उपलब्ध सभी विकल्पों की सूची दी गई है:

Command

इस्तेमाल

-h, --help

आउटपुट के इस्तेमाल के बारे में जानकारी

-D, --dimension <dimension>

ट्रैफ़िक डाइमेंशन जिसे इकट्ठा करना है. मान्य डाइमेंशन: apiproducts, devs, apps, apiproxy (डिफ़ॉल्ट)

-d, --days <days>

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

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

-m, --apigee_mgmt_api_uri <apigee_mgmt_api_uri>

Edge Management API का यूआरएल.

-u, --apigee_mgmt_api_email <apigee_mgmt_api_email>

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

-p, --apigee_mgmt_api_password <apigee_mgmt_api_password>

-u से तय किए गए Edge Management API ईमेल खाते से जुड़ा पासवर्ड.

-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

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

-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, --verbose

ज़्यादा शब्दों में आउटपुट दिखाएं.

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

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

हालांकि, अगर मशीन के पास इंटरनेट का ऐक्सेस नहीं है, तो ट्रैफ़िक डेटा इकट्ठा करने के लिए Edge Management API का इस्तेमाल करें. इसके बाद, इंटरनेट ऐक्सेस वाली मशीन से 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/?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 एपीआई का ऐक्सेस है.
  • <ms_IP>, Edge मैनेजमेंट सर्वर का आईपी पता या डीएनएस नाम है.
  • {org_name} और {env_name}, संगठन और एनवायरमेंट के बारे में बताते हैं.
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM से, इकट्ठा किए जाने वाले आंकड़ों की समयसीमा तय होती है. ध्यान दें कि cURL कमांड, समयसीमा में मौजूद स्पेस के लिए हेक्स कोड %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 specify Apigee पर डेटा अपलोड करने के लिए, अपने क्रेडेंशियल डालें. ये क्रेडेंशियल आपको Apigee की सहायता टीम से मिले होंगे.
  • {org_name} से संगठन के नाम की जानकारी मिलती है.
  • {"environments"...} में, उस cURL कमांड के नतीजे शामिल होते हैं जिसका इस्तेमाल आपने ऊपर दिए गए आंकड़े इकट्ठा करने के लिए किया था.