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

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

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

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

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

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

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

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

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

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

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

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

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

इंस्टॉल करना

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

/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" का पूरा सूडो ऐक्सेस पाने के लिए कॉन्फ़िगर करने के लिए उपयोगकर्ता, "visudo" का उपयोग करें CANNOT TRANSLATE जोड़ने के लिए 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 management API पर TLS को चालू किया जाता है, तो यह इस तरह का होता है:

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

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

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

/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 पर अपलोड करें. इसके बाद आप -S विकल्प के बिना, निर्देश को फिर से चला सकते हैं. Apigee के लिए डेटा इकट्ठा करना.

-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 विकल्प शामिल करें ज़्यादा जानकारी वाला आउटपुट और -R विकल्प apigee-analytics-collector से जनरेट किए गए कर्ल निर्देश देखने के लिए:

/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, --help

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

-D, --dimension dimension

इकट्ठा किया जाने वाला ट्रैफ़िक डाइमेंशन. मान्य मान हैं:

  • apiproducts
  • apiproxy (डिफ़ॉल्ट)
  • apps
  • devs
-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 API का ऐक्सेस है. आम तौर पर, Edge सिस्टम एडमिन का ईमेल या संगठन के एडमिन का ईमेल के लिए भी कर सकते हैं.

-p, --apigee_mgmt_api_password apigee_mgmt_api_password

Edge management API वाले ईमेल खाते से जुड़ा पासवर्ड, जिसे इसने तय किया है -u.

-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

ट्रैफ़िक के आंकड़ों की क्वेरी करने के लिए, शुरू होने वाली समय सीमा, फ़ॉर्म में: "MM/DD/YYYY HH:MM".

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

-z, --time_range_end time_range_end

ट्रैफ़िक के आंकड़ों की क्वेरी करने के लिए समय सीमा खत्म, फ़ॉर्म में: "04/01/2016 24:00".

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

-t, --time_unit time_unit

ट्रैफ़िक डेटा के लिए समय की इकाई. डिफ़ॉल्ट वैल्यू hour है. मान्य समय की इकाइयां हैं:

  • second
  • minute
  • hour (डिफ़ॉल्ट)
  • day
  • week

अगर आपने -t को week और -d को 365 का इस्तेमाल करते हैं, तो Apigee, ज़्यादा डेटा दिखाता है. डेटा को 52 अलग-अलग ग्रुप में बांटा जाता है एंट्री (हर हफ़्ते के लिए एक).

-S, --standard_output

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

-c, --apigee_analytics_client_id apigee_analytics_client_id

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

-r, --apigee_analytics_secret apigee_analytics_secret

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

-R, --include_curl_commands

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

-v, --verbose

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

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

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

हालांकि, अगर मशीन में बाहरी इंटरनेट ऐक्सेस नहीं है, तो Edge management API का इस्तेमाल करके ट्रैफ़िक डेटा इकट्ठा करें. इसके बाद, 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 API के ऐक्सेस वाले खाते का ईमेल पता.
  • ms_IP, Edge का आईपी पता या डीएनएस नाम है मैनेजमेंट सर्वर.
  • org_name और env_name संगठन और पर्यावरण की सुरक्षा करता है.
  • apiproxy वह डाइमेंशन है जो मेट्रिक को एपीआई प्रॉक्सी के हिसाब से ग्रुप करता है.
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है तय करता है इकट्ठा करने के लिए मेट्रिक की समय इकाइयों में विभाजित समय सीमा को. ध्यान दें कि curl निर्देश, समय में स्पेस के लिए हेक्स कोड %20 का इस्तेमाल करता है रेंज.

उदाहरण के लिए, 24 घंटे की अवधि में API प्रॉक्सी मैसेज की संख्या घंटे दर घंटे इकट्ठा करने के लिए, का अनुसरण किया जा रहा है एपीआई कॉल.

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"

(ध्यान दें कि timeRange में यूआरएल के कोड में बदले गए वर्ण होते हैं.)

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

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