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

Edge for Private Cloud v4.18.05

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

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

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

ज़रूरी है: डेटा अपलोड करने से पहले Apigee सहायता से संपर्क करें

Apigee में डेटा अपलोड करने से पहले, आपको ऑनबोर्डिंग की प्रोसेस पूरी करने के लिए, Apigee Edge की सहायता टीम से संपर्क करना होगा.

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

apigee-analytics-collector यूटिलिटी, एक आरपीएम है, जिसे apigee-service सुविधा का इस्तेमाल करके इंस्टॉल किया जाता है.

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

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

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

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

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

इंस्टॉल करना

apigee-analytics-collector यूटिलिटी इंस्टॉल करने के लिए, नीचे दिए गए कमांड का इस्तेमाल करें. आरपीएम फ़ाइल इंस्टॉल किए जाने की वजह से, यह निर्देश, रूट उपयोगकर्ता या ऐसे उपयोगकर्ता को चलाना चाहिए जिसके पास सूडो का पूरा ऐक्सेस हो. पूरे सूडो ऐक्सेस के लिए, इसका मतलब है कि उपयोगकर्ता के पास रूट की तरह ही कार्रवाइयां करने के लिए sudo का ऐक्सेस है.

> /opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector install 

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

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

apigee-analytics-collector चलाने के लिए उपयोगकर्ता को कॉन्फ़िगर करना

आपको नॉन-रूट उपयोगकर्ता के तौर पर apigee-analytics-collector चलाना होगा. इस उपयोगकर्ता के पास "apigee" उपयोगकर्ता के लिए पूरा sudo ऐक्सेस होना चाहिए.

उपयोगकर्ता को "apigee" उपयोगकर्ता का पूरा sudo ऐक्सेस मिले, यह कॉन्फ़िगर करने के लिए, "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: आपके मैनेजमेंट सर्वर पर मौजूद 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 सहायता की मदद से एक टिकट सबमिट करें.

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

Edge इंस्टॉलेशन में सभी संगठनों और एनवायरमेंट के ट्रैफ़िक डेटा को वापस पाने और उस डेटा को Apigee पर अपलोड करने के लिए, नीचे एक कमांड दिया गया है. ध्यान दें कि apigee-analytics-collector कमांड चलाने के लिए, apigee-service का इस्तेमाल कैसे किया जाता है:

>  /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-सेपरेटेड लिस्ट ऑफ़ आइटम>
  • -x, --Exclude_orgs <कॉमा-सेप्रेटेड आइटम की सूची>
  • -n, --include_envs <comma- कामों की सूची में मौजूद आइटम>
  • -e, --excluded_envs <कॉमा-सेपरेटेड लिस्ट>

उदाहरण के लिए, सिर्फ़ प्रोडक्शन संगठनों और एनवायरमेंट की जानकारी देने के लिए, -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 पर अपलोड किए गए डेटा को हटा देता है. इसके बाद, Apigee को डेटा भेजने के लिए, -S विकल्प के बिना कमांड को फिर से चलाया जा सकता है.

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

 >  /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, --सहायता

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

-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&timeUnit=hour"

आपको फ़ॉर्म में जवाब दिखेगा:

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