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

Edge for Private Cloud v. 4.17.09

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

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

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

apigee-analytics-collector से अपलोड किए गए डेटा को ऐक्सेस करना

apigee-analytics-collector की मदद से डेटा अपलोड करने के बाद, उसे Apigee 360 में देखा जा सकता है.

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

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

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 सुविधा को इंस्टॉल करने के लिए, नीचे दिए गए निर्देश का इस्तेमाल करें. आपने एक 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 को बिना रूट ऐक्सेस वाले उपयोगकर्ता के तौर पर चलाना होगा. इस उपयोगकर्ता के पास "apigee" उपयोगकर्ता का पूरा सूडो ऐक्सेस होना चाहिए.

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

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

निर्देश

इस्तेमाल करना

-एच, --सहायता

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

-D, --dimension <dimension>

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

-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 की सहायता टीम के पास टिकट सबमिट करें.

-आर, --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/?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM"

यह कमांड, Edge Get API मैसेज की संख्या वाले एपीआई का इस्तेमाल करता है. इस कमांड में:

  • apigee_mgmt_api_email:apigee_mgmt_api_password से, Edge /stats API का ऐक्सेस रखने वाले खाते का ईमेल पता पता चलता है.
  • <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 में, Apigee पर डेटा अपलोड करने के लिए, Apigee की सहायता टीम से मिले अपने क्रेडेंशियल डालें.
  • {org_name} से संगठन का पता चलता है.
  • {"environments"...} में उस cURL निर्देश के नतीजे शामिल हैं जिसका इस्तेमाल आपने ऊपर आंकड़े इकट्ठा करने के लिए किया.