Edge माइक्रोगेटवे के लिए कार्रवाई और कॉन्फ़िगरेशन रेफ़रंस

आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस पेज पर जाएं Apigee X दस्तावेज़.
जानकारी

एज माइक्रोगेटवे वी॰ 2.3.x

खास जानकारी

इस विषय में, Edge Microgateway को मैनेज और कॉन्फ़िगर करने के तरीकों, जैसे कि निगरानी करने, लॉग इन करना, और डीबग करना शामिल है.

कॉन्फ़िगरेशन में बदलाव करना

जिन कॉन्फ़िगरेशन फ़ाइलों के बारे में आपको जानकारी होनी चाहिए, उनमें ये शामिल हैं:

  • सिस्टम की डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल
  • नए शुरू किए गए Edge Microgateway इंस्टेंस के लिए डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल
  • रनिंग इंस्टेंस के लिए डाइनैमिक कॉन्फ़िगरेशन फ़ाइल

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

सिस्टम का डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल

Edge Microgateway इंस्टॉल करने पर, एक डिफ़ॉल्ट सिस्टम कॉन्फ़िगरेशन फ़ाइल यहां दी जाती है:

[prefix]/lib/node_modules/edgemicro/config/default.yaml

जहां [prefix], npm प्रीफ़िक्स डायरेक्ट्री है. देखें कहां हैं क्या Edge Microgateway इंस्टॉल किया गया है.

सिस्टम कॉन्फ़िगरेशन फ़ाइल बदलने पर, आपको Edge को फिर से शुरू करना होगा, फिर से कॉन्फ़िगर करना होगा, और रीस्टार्ट करना होगा माइक्रोगेटवे:

  1. edgemicro init पर कॉल करें
  2. edgemicro configure [params] पर कॉल करें
  3. edgemicro start [params] पर कॉल करें

नए शुरू किए गए Edge Microgateway इंस्टेंस के लिए डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल

edgemicro init को चलाने पर, सिस्टम कॉन्फ़िगरेशन फ़ाइल (ऊपर बताया गया है), default.yaml, को इस डायरेक्ट्री में रखा गया है: ~/.edgemicro

अगर कॉन्फ़िगरेशन फ़ाइल को ~/.edgemicro में बदला जाता है, तो आपको उसे फिर से कॉन्फ़िगर करके रीस्टार्ट करना होगा एज माइक्रोगेटवे:

  1. edgemicro stop
  2. edgemicro configure [params]
  3. edgemicro start [params]

डाइनैमिक मौजूदा इंस्टेंस के लिए कॉन्फ़िगरेशन फ़ाइल

edgemicro configure [params] चलाने पर, एक डाइनैमिक कॉन्फ़िगरेशन फ़ाइल ~/.edgemicro में बनाई गई है. फ़ाइल का नाम इसके मुताबिक रखा गया है पैटर्न: [org]-[env]-config.yaml, जहां org और env, आपका Apigee Edge संगठन है और एनवायरमेंट के नाम. कॉन्फ़िगरेशन में बदलाव करने के बाद, उन्हें फिर से लोड करने के लिए, इस फ़ाइल का इस्तेमाल करें वह भी बिना किसी रुकावट के. उदाहरण के लिए, यदि आप कोई प्लग इन जोड़ते और कॉन्फ़िगर करते है तो आप कॉन्फ़िगरेशन का इस्तेमाल करें, जैसा कि नीचे बताया गया है.

अगर Edge माइक्रोगेटवे चल रहा है, तो (शून्य-डाउनटाइम विकल्प):

  1. Edge Microgateway कॉन्फ़िगरेशन को फिर से लोड करें:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    कहां:

    • org आपके Edge संगठन का नाम है (यह ज़रूरी है कि संगठन का एडमिन).
    • env आपके संगठन का एक एनवायरमेंट है. जैसे, टेस्ट या प्रोडक्शन).
    • key वह कुंजी है जो कॉन्फ़िगर करने के दौरान पहले वापस मिलती थी आदेश.
    • secret वह कुंजी है जिसे पिछले कॉन्फ़िगर करने का निर्देश.

    उदाहरण

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824

अगर एज माइक्रोगेटवे को बंद कर दिया जाता है, तो:

  1. Edge माइक्रोगेटवे को रीस्टार्ट करें:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]

    कहां:

    • org आपके Edge संगठन का नाम है (यह ज़रूरी है कि संगठन का एडमिन).
    • env आपके संगठन का एक एनवायरमेंट है. जैसे, टेस्ट या प्रोडक्शन).
    • key वह कुंजी है जो कॉन्फ़िगर करने के दौरान पहले वापस मिलती थी आदेश.
    • secret वह कुंजी है जिसे पिछले कॉन्फ़िगर करने का निर्देश.

    उदाहरण

    edgemicro start -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824

कॉन्फ़िगरेशन फ़ाइल का एक उदाहरण यहां दिया गया है. कॉन्फ़िगरेशन फ़ाइल सेटिंग के बारे में जानकारी के लिए, Edge Microgateway देखें कॉन्फ़िगरेशन रेफ़रंस.

edge_config:
  bootstrap: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test
  jwt_public_key: 'https://docs-test.apigee.net/edgemicro-auth/publicKey'
  managementUri: 'https://api.enterprise.apigee.com'
  vaultName: microgateway
  authUri: 'https://%s-%s.apigee.net/edgemicro-auth'
  baseUri: >-
    https://edgemicroservices.apigee.net/edgemicro/%s/organization/%s/environment/%s
  bootstrapMessage: Please copy the following property to the edge micro agent config
  keySecretMessage: The following credentials are required to start edge micro
  products: 'https://docs-test.apigee.net/edgemicro-auth/products'
edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  config_change_poll_interval: 600
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
headers:
  x-forwarded-for: true
  x-forwarded-host: true
  x-request-id: true
  x-response-time: true
  via: true
oauth:
  allowNoAuthorization: false
  allowInvalidAuthorization: false
  verify_api_key_url: 'https://docs-test.apigee.net/edgemicro-auth/verifyApiKey'
analytics:
  uri: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/axpublisher/organization/docs/environment/test

एनवायरमेंट वैरिएबल सेट करना

कमांड-लाइन इंटरफ़ेस के निर्देश जिन्हें आपके Edge संगठन और और एज माइक्रोगेटवे को शुरू करने के लिए ज़रूरी कुंजी और सीक्रेट को इनमें सेव किया जा सकता है एनवायरमेंट वैरिएबल:

  • EDGEMICRO_ORG
  • EDGEMICRO_ENV
  • EDGEMICRO_KEY
  • EDGEMICRO_SECRET

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

Edge माइक्रोगेटवे पर एसएसएल को कॉन्फ़िगर करना सर्वर

एसएसएल का इस्तेमाल करने के लिए, माइक्रोगेटवे सर्वर को कॉन्फ़िगर किया जा सकता है. उदाहरण के लिए, एसएसएल को कॉन्फ़िगर करके, एज माइक्रोगेटवे के ज़रिए "https" का इस्तेमाल करके एपीआई को कॉल किया जा सकता है प्रोटोकॉल का इस्तेमाल करें, जैसे:

https://localhost:8000/myapi

माइक्रोगेटवे सर्वर पर SSL कॉन्फ़िगर करने के लिए, इन चरणों का पालन करें:

  1. openssl यूटिलिटी या अपनी पसंद के किसी भी तरीके का इस्तेमाल करके, एसएसएल सर्टिफ़िकेट और कुंजी जनरेट करें या हासिल करें.
  2. एज माइक्रोगेटवे में edgemicro:ssl एट्रिब्यूट जोड़ें कॉन्फ़िगरेशन फ़ाइल है. विकल्पों की पूरी सूची के लिए, नीचे दी गई टेबल देखें. जानकारी के लिए Edge Microgateway कॉन्फ़िगरेशन में बदलाव करने के लिए, कॉन्फ़िगरेशन में बदलाव करना देखें. उदाहरण के लिए:
     edgemicro:
         ssl:
             key: <absolute path to the SSL key file>
             cert: <absolute path to the SSL cert file>
             passphrase: admin123 #option added in v2.2.2
             rejectUnauthorized: true #option added in v2.2.2
  3. Edge Microgateway को रीस्टार्ट करें. किस वह कॉन्फ़िगरेशन फ़ाइल जिसमें आपने बदलाव किया है: डिफ़ॉल्ट फ़ाइल या रनटाइम कॉन्फ़िगरेशन फ़ाइल.

यहां एसएसएल कॉन्फ़िगर करके, कॉन्फ़िगरेशन फ़ाइल के Edgemicro सेक्शन का उदाहरण दिया गया है:

edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
  ssl:
    key: /MyHome/SSL/em-ssl-keys/server.key
    cert: /MyHome/SSL/em-ssl-keys/server.crt
    passphrase: admin123 #option added in v2.2.2
    rejectUnauthorized: true #option added in v2.2.2

यहां पर काम करने वाले सभी सर्वर विकल्पों की सूची दी गई है:

विकल्प ब्यौरा
key ca.key फ़ाइल का पाथ (PEM फ़ॉर्मैट में).
cert ca.cert फ़ाइल का पाथ (PEM फ़ॉर्मैट में).
pfx ऐसी pfx फ़ाइल का पाथ जिसमें निजी पासकोड, सर्टिफ़िकेट, और PFX फ़ॉर्मैट में क्लाइंट के CA सर्टिफ़िकेट.
passphrase ऐसी स्ट्रिंग जिसमें निजी पासकोड या PFX के लिए लंबा पासवर्ड होता है.
ca उस फ़ाइल का पाथ जिसमें PEM फ़ॉर्मैट में भरोसेमंद सर्टिफ़िकेट की सूची है.
ciphers इस्तेमाल करने के लिए, साइफ़र के बारे में जानकारी देने वाली स्ट्रिंग. इनको अलग करने के लिए {/9} का इस्तेमाल करें.
rejectUnauthorized अगर सही है, तो सर्वर के सर्टिफ़िकेट की पुष्टि, दिए गए CA की सूची से की जाती है. अगर आपने पुष्टि नहीं हो सकी, तो एक गड़बड़ी दिखती है.
secureProtocol इस्तेमाल किया जाने वाला एसएसएल तरीका. उदाहरण के लिए, एसएसएल को वर्शन 3 पर ज़बरदस्ती लागू करने के लिए SSLv3_method.
servername SNI (सर्वर नेम इंडिकेशन) TLS एक्सटेंशन के लिए सर्वर का नाम.

क्लाइंट के एसएसएल/टीएलएस विकल्पों का इस्तेमाल करना

टारगेट से कनेक्ट करते समय, एज माइक्रोगेटवे को TLS या एसएसएल क्लाइंट के तौर पर कॉन्फ़िगर किया जा सकता है एंडपॉइंट के बारे में भी बताएंगे. माइक्रोगेटवे कॉन्फ़िगरेशन फ़ाइल में, एसएसएल/टीएलएस सेट करने के लिए, टारगेट एलिमेंट का इस्तेमाल करें के विकल्प.

इस उदाहरण में ऐसी सेटिंग दी गई हैं जिन्हें सभी होस्ट पर लागू किया जाएगा:

targets:
   ssl:
     client:
       key: /Users/jdoe/nodecellar/twowayssl/ssl/client.key
       cert: /Users/jdoe/nodecellar/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

इस उदाहरण में, सेटिंग सिर्फ़ बताए गए होस्ट पर लागू होती हैं:

targets:
   host: 'myserver.example.com'
   ssl:
     client:
       key: /Users/myname/twowayssl/ssl/client.key
       cert: /Users/myname/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

यहां TLS का एक उदाहरण दिया गया है:

targets:
   host: 'myserver.example.com'
   tls:
     client:
       pfx: /Users/myname/twowayssl/ssl/client.pfx
       passphrase: admin123
       rejectUnauthorized: true

यहां क्लाइंट के लिए काम करने वाले सभी विकल्पों की सूची दी गई है:

विकल्प ब्यौरा
pfx ऐसी pfx फ़ाइल का पाथ जिसमें निजी पासकोड, सर्टिफ़िकेट, और PFX फ़ॉर्मैट में क्लाइंट के CA सर्टिफ़िकेट.
key ca.key फ़ाइल का पाथ (PEM फ़ॉर्मैट में).
passphrase ऐसी स्ट्रिंग जिसमें निजी पासकोड या PFX के लिए लंबा पासवर्ड होता है.
cert ca.cert फ़ाइल का पाथ (PEM फ़ॉर्मैट में).
ca उस फ़ाइल का पाथ जिसमें PEM फ़ॉर्मैट में भरोसेमंद सर्टिफ़िकेट की सूची है.
ciphers इस्तेमाल करने के लिए, साइफ़र के बारे में जानकारी देने वाली स्ट्रिंग. इनको अलग करने के लिए {/9} का इस्तेमाल करें.
rejectUnauthorized अगर सही है, तो सर्वर के सर्टिफ़िकेट की पुष्टि, दिए गए CA की सूची से की जाती है. अगर आपने पुष्टि नहीं हो सकी, तो एक गड़बड़ी दिखती है.
secureProtocol इस्तेमाल किया जाने वाला एसएसएल तरीका. उदाहरण के लिए, एसएसएल को वर्शन 3 पर ज़बरदस्ती लागू करने के लिए SSLv3_method.
servername SNI (सर्वर नेम इंडिकेशन) TLS एक्सटेंशन के लिए सर्वर का नाम.

पुष्टि करने की कस्टम सेवा का इस्तेमाल करना

Edge Microgateway डिफ़ॉल्ट रूप से, OAuth2 की पुष्टि करने के लिए Apigee Edge पर डिप्लॉय किए गए प्रॉक्सी का इस्तेमाल करता है. यह प्रॉक्सी, edgemicro configure चलाने पर लागू होती है. डिफ़ॉल्ट रूप से, इस प्रॉक्सी का यूआरएल Edge माइक्रोगेटवे कॉन्फ़िगरेशन फ़ाइल में इस तरह दिया गया है:

authUri: https://myorg-myenv.apigee.net/edgemicro-auth

अगर आप पुष्टि करने की प्रक्रिया को मैनेज करने के लिए, अपनी पसंद के मुताबिक सेवा का इस्तेमाल करना चाहते हैं, तो कॉन्फ़िगरेशन फ़ाइल में आपकी सेवा को पॉइंट करने के लिए, authUri वैल्यू. इसके लिए उदाहरण के लिए, आपके पास एक ऐसी सेवा हो सकती है जो पहचान की पुष्टि करने के लिए LDAP का इस्तेमाल करती है.

मैनेज करना लॉग फ़ाइलें

Edge Microgateway हर अनुरोध और जवाब की जानकारी लॉग करता है. लॉग फ़ाइलें काम की होती हैं डीबग करने और समस्या हल करने के बारे में जानकारी.

लॉग फ़ाइलें कहां सेव की जाती हैं

डिफ़ॉल्ट रूप से, लॉग फ़ाइलें /var/tmp में सेव की जाती हैं.

डिफ़ॉल्ट लॉग को बदलने का तरीका फ़ाइल डायरेक्ट्री

जिस डायरेक्ट्री में लॉग फ़ाइलें सेव की जाती हैं उसकी जानकारी Edge Microgateway कॉन्फ़िगरेशन में दी जाती है फ़ाइल से लिए जाते हैं. कॉन्फ़िगरेशन में बदलाव करने के बारे में जानकारी पाने के लिए, कॉन्फ़िगरेशन में बदलाव करना लेख पढ़ें.

edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

कोई दूसरी लॉग फ़ाइल डायरेक्ट्री तय करने के लिए, dir की वैल्यू बदलें.

कंसोल को लॉग भेजें

लॉगिंग को कॉन्फ़िगर किया जा सकता है, ताकि लॉग की जानकारी को लॉग फ़ाइल से मेल खाना चाहिए. to_console फ़्लैग को 'सही है' पर इस तरह सेट करें:

edgemicro:
  logging:
    to_console: true  

इस सेटिंग को चुनने पर, लॉग को स्टैंडर्ड आउट मोड पर भेजा जाएगा. वर्तमान में, आप दोनों को लॉग नहीं भेज सकते stdout और लॉग फ़ाइल में जोड़े.

डेटा लॉग करने का लेवल सेट करने का तरीका

आपके पास ये लॉग लेवल सेट करने का विकल्प है: जानकारी, चेतावनी दें, और गड़बड़ी ठीक करें. हमारा सुझाव है कि जानकारी का लेवल सेट करें. यह सभी एपीआई अनुरोधों को लॉग करता है और दिया गया है और यह डिफ़ॉल्ट है.

लॉग इंटरवल बदलने का तरीका

इन इंटरवल को Edge Microgateway कॉन्फ़िगरेशन फ़ाइल में कॉन्फ़िगर किया जा सकता है. बनाने के विवरण के लिए कॉन्फ़िगरेशन में बदलाव, कॉन्फ़िगरेशन बनाना बदलाव के बारे में ज़्यादा जानें.

कॉन्फ़िगर किए जा सकने वाले एट्रिब्यूट ये हैं:

  • stats_log_interval: (डिफ़ॉल्ट: 60) अंतराल, सेकंड में, जब आंकड़ें रिकॉर्ड, एपीआई लॉग फ़ाइल पर लिखा जाता है.
  • rotate_interval: (डिफ़ॉल्ट: 24) इंटरवल, घंटों में, जब लॉग फ़ाइलें घुमाया गया. उदाहरण के लिए:
edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

ध्यान दें: संग्रहित की गई लॉग फ़ाइलों को कंप्रेस नहीं किया जाता. इंटरवल शुरू होने पर, नई लॉग फ़ाइल को नए टाइमस्टैंप से बनाया जाता है.

अच्छा लॉग फ़ाइल मैनेज करने के तरीके

समय के साथ लॉग फ़ाइल का डेटा इकट्ठा होने पर, Apigee का सुझाव है कि आप इन तरीकों का इस्तेमाल करें तरीके:

लॉग फ़ाइल का नाम रखने का तरीका

हर Edge Microgateway इंस्टेंस तीन तरह की लॉग फ़ाइलें बनाता है:

  • api - Edge से फ़्लो करने वाले सभी अनुरोधों और जवाबों को लॉग करता है माइक्रोगेटवे. इस फ़ाइल में, एपीआई काउंटर (आंकड़े) और गड़बड़ियों को भी लॉग किया जाता है.
  • err - stderr को भेजे गए कुछ भी लॉग करता है.
  • out - stdout को भेजी गई किसी भी चीज़ को लॉग करता है.

इस तरह का नाम रखना है:

edgemicro-<Host Name>-<Instance ID>-<Log Type>.log

उदाहरण के लिए:

edgemicro-mymachine-local-MTQzNTgNDMxODAyMQ-api.log
edgemicro-mymachine-local-MTQzNTg1NDMODAyMQ-err.log
edgemicro-mymachine-local-mtqzntgndmxodaymq-out.log

लॉग फ़ाइल के कॉन्टेंट के बारे में जानकारी

इसमें जोड़ा गया: v2.3.3

डिफ़ॉल्ट रूप से, लॉगिंग सेवा डाउनलोड की गई प्रॉक्सी, प्रॉडक्ट, और JSON को मिटा देती है वेब टोकन (JWT). अगर आपको इन ऑब्जेक्ट को लॉग फ़ाइलों में दिखाना है, तो एज माइक्रोगेटवे को शुरू करने पर DEBUG=*. उदाहरण के लिए:

DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456

"api" की सामग्री लॉग फ़ाइल

"api" लॉग फ़ाइल में अनुरोधों और जवाबों के फ़्लो के बारे में पूरी जानकारी दी गई है एज माइक्रोगेटवे तक पहुंचा जा सकता है. "api" लॉग फ़ाइलों के नाम इस तरह रखे जाते हैं:

edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log

एज माइक्रोगेटवे को किए गए हर अनुरोध के लिए, "एपीआई" में चार इवेंट कैप्चर किए जाते हैं लॉग फ़ाइल:

  • क्लाइंट का अनुरोध
  • टारगेट के लिए किया गया अनुरोध
  • टारगेट से मिलने वाला जवाब
  • क्लाइंट को भेजा जाने वाला जवाब

इनमें से हर एंट्री को शॉर्टहैंड नोटेशन में दिखाया जाता है, ताकि लॉग बनाने में मदद मिल सके फ़ाइलें अधिक संक्षिप्त हो जाती हैं. यहां सैंपल के तौर पर चार इवेंट दिए गए हैं. इनमें से हर इवेंट के बारे में जानकारी दी गई है. लॉग में फ़ाइल में वे इस तरह दिखते हैं (लाइन नंबर सिर्फ़ दस्तावेज़ में रेफ़रंस के लिए होते हैं, वे लॉग फ़ाइल में डालें).

(1) 1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
(2) 1436403888665 info treq m=GET, u=/, h=127.0.0.18080, i=0
(3) 1436403888672 info tres s=200, d=7, i=0
(4) 1436403888676 info res s=200, d=11, i=0

आइए, इन्हें एक-एक करके देखते हैं:

1. क्लाइंट से आने वाले अनुरोध का नमूना:

1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
  • 1436403888651 - यूनिक्स तारीख स्टैंप
  • info - यह कॉन्टेक्स्ट पर निर्भर करता है. इसके लिए, कोई जानकारी या चेतावनी दी जा सकती है या कोई गड़बड़ी हो सकती है लॉग लेवल के हिसाब से. यह किसी आंकड़ों के रिकॉर्ड के आंकड़े हो सकता है, चेतावनियों के लिए चेतावनी दे सकता है या गड़बड़ी की जानकारी मिलती है.
  • req - इवेंट की पहचान करता है. इस मामले में, क्लाइंट.
  • m - अनुरोध में इस्तेमाल की गई एचटीटीपी क्रिया.
  • u - बेसपाथ के बाद का यूआरएल का हिस्सा.
  • h - होस्ट और पोर्ट नंबर जहां Edge Microgateway है सुना जा रहा है.
  • r - वह रिमोट होस्ट और पोर्ट जहां क्लाइंट अनुरोध करता है की उत्पत्ति हुई.
  • i - अनुरोध आईडी. इवेंट के चारों एंट्री में, यह आईडी एक ही होगा. हर अनुरोध को एक यूनीक अनुरोध आईडी असाइन किया गया है. लॉग रिकॉर्ड को अनुरोध के आईडी से जोड़ने पर, टारगेट के इंतज़ार के समय के बारे में अहम जानकारी.
  • d - अनुरोध मिलने के बाद से मिलीसेकंड में अवधि एज माइक्रोगेटवे. ऊपर दिए गए उदाहरण में, अनुरोध 0 के लिए टारगेट का जवाब मिला था 7 मिलीसेकंड (लाइन 3) के बाद, और चार अतिरिक्त चरण के बाद क्लाइंट को जवाब भेजा जाता है मिलीसेकंड (पंक्ति 4). दूसरे शब्दों में, अनुरोध का कुल इंतज़ार समय 11 मिलीसेकंड था, जिसमें टारगेट ने कौनसे 7 मिलीसेकंड लिए और एज माइक्रोगेटवे ने 4 मिलीसेकंड लिए वह भी ऐसा कर सकता है.

2. टारगेट के लिए किए गए आउटगोइंग अनुरोध का सैंपल:

1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
  • 1436403888651 - यूनिक्स तारीख स्टैंप
  • info - यह कॉन्टेक्स्ट पर निर्भर करता है. इसके लिए, कोई जानकारी या चेतावनी दी जा सकती है या कोई गड़बड़ी हो सकती है लॉग लेवल के हिसाब से. यह किसी आंकड़ों के रिकॉर्ड के आंकड़े हो सकता है, चेतावनियों के लिए चेतावनी दे सकता है या गड़बड़ी की जानकारी मिलती है.
  • treq - इवेंट की पहचान करता है. इस मामले में, टारगेट अनुरोध.
  • m - टारगेट अनुरोध में इस्तेमाल की गई एचटीटीपी क्रिया.
  • u - बेसपाथ के बाद का यूआरएल का हिस्सा.
  • h - बैकएंड टारगेट का होस्ट और पोर्ट नंबर.
  • i - लॉग एंट्री का आईडी. इवेंट की चारों एंट्री में, यह जानकारी शेयर की जाएगी आईडी.

3. टारगेट से आने वाले रिस्पॉन्स का सैंपल

1436403888672 info tres s=200, d=7, i=0

1436403888651 - यूनिक्स तारीख स्टैंप

  • info - यह कॉन्टेक्स्ट पर निर्भर करता है. इसके लिए, कोई जानकारी या चेतावनी दी जा सकती है या कोई गड़बड़ी हो सकती है लॉग लेवल के हिसाब से. यह किसी आंकड़ों के रिकॉर्ड के आंकड़े हो सकता है, चेतावनियों के लिए चेतावनी दे सकता है या गड़बड़ी की जानकारी मिलती है.
  • tres - इवेंट की पहचान करता है. इस मामले में, टारगेट रिस्पॉन्स.
  • s - एचटीटीपी रिस्पॉन्स की स्थिति.
  • d - मिलीसेकंड में अवधि. एपीआई कॉल में इतना समय लगा टारगेट किया जा सकता है.
  • i - लॉग एंट्री का आईडी. इवेंट की चारों एंट्री में, यह जानकारी शेयर की जाएगी आईडी.

4. क्लाइंट को भेजे जाने वाले जवाब का सैंपल

1436403888676 info res s=200, d=11, i=0

1436403888651 - यूनिक्स तारीख स्टैंप

  • info - यह कॉन्टेक्स्ट पर निर्भर करता है. इसके लिए, कोई जानकारी या चेतावनी दी जा सकती है या कोई गड़बड़ी हो सकती है लॉग लेवल के हिसाब से. यह किसी आंकड़ों के रिकॉर्ड के आंकड़े हो सकता है, चेतावनियों के लिए चेतावनी दे सकता है या गड़बड़ी की जानकारी मिलती है.
  • res - इवेंट की पहचान करता है. इस स्थिति में, क्लाइंट.
  • s - एचटीटीपी रिस्पॉन्स की स्थिति.
  • d - मिलीसेकंड में अवधि. इतना समय लग चुका है एपीआई कॉल से लिया गया समय. इसमें टारगेट एपीआई और Edge को लगने वाला समय शामिल है माइक्रोगेटवे.
  • i - लॉग एंट्री का आईडी. इवेंट की चारों एंट्री में, यह जानकारी शेयर की जाएगी आईडी.

लॉग फ़ाइल शेड्यूल

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

Edge Microgateway का कॉन्फ़िगरेशन रेफ़रंस

इवेंट की जगह कॉन्फ़िगरेशन फ़ाइल

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

Edge_config एट्रिब्यूट

इन सेटिंग का इस्तेमाल Edge Microgateway इंस्टेंस के बीच इंटरैक्शन को कॉन्फ़िगर करने के लिए किया जाता है Apigee Edge.

  • बूटस्ट्रैप: (डिफ़ॉल्ट: कोई नहीं) एज पर ले जाने वाला यूआरएल Apigee Edge पर चलने वाली माइक्रोगेटवे के लिए खास सेवा. Edge Microgateway इस सेवा का इस्तेमाल इन कामों के लिए करता है Apigee Edge से संपर्क कर सकते हैं. यह URL तब मिलता है जब आप सार्वजनिक/निजी कुंजी का जोड़ा: edgemicro genkeys. सेटिंग ज़्यादा जानकारी के लिए, Edge Microgateway को कॉन्फ़िगर और कॉन्फ़िगर किया जा सकता है.
  • jwt_public_key: (डिफ़ॉल्ट: कोई नहीं) Edge माइक्रोगेटवे पर ले जाने वाला यूआरएल Apigee Edge पर डिप्लॉय की गई प्रॉक्सी. यह प्रॉक्सी, साइन किया हुआ ऐक्सेस टोकन जारी कर सकता है. जब आप आदेश को निष्पादित करते हैं, तो यह URL लौटाया जाता है: प्रॉक्सी डिप्लॉय करें: Edgemicro कॉन्फ़िगरेशन. सेटिंग ज़्यादा जानकारी के लिए, Edge Microgateway को कॉन्फ़िगर और कॉन्फ़िगर किया जा सकता है.

Edgemicro एट्रिब्यूट

ये सेटिंग, Edge Microgateway प्रोसेस को कॉन्फ़िगर करती हैं.

  • पोर्ट: (डिफ़ॉल्ट: 8000) वह पोर्ट नंबर जिस पर Edge माइक्रोगेटवे प्रोसेस सुनती है.
  • max_connections: (डिफ़ॉल्ट: -1) इससे एक साथ आने वाले कनेक्शन जो Edge Microgateway को मिल सकते हैं. अगर यह संख्या पार करने पर, यह स्टेटस दिखता है:

    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है res.statusCode = 429; // Too many requests
  • max_connections_hard: (डिफ़ॉल्ट: -1) एक साथ ज़्यादा से ज़्यादा कितने डिवाइस जोड़े जा सकते हैं से अनुरोध करता है कि Edge Microgateway को कनेक्शन बंद करने से पहले मिल सके. यह सेटिंग का मकसद, डिनायल ऑफ़ सर्विस अटैक को रोकना है. आम तौर पर, इसे इससे बड़ी संख्या पर सेट करें max_connections.
  • लॉगिंग:
    • level: (डिफ़ॉल्ट: गड़बड़ी)
      • info - यह Edge Microgateway इंस्टेंस.
      • चेतावनी - सिर्फ़ चेतावनी मैसेज लॉग करता है.
      • गड़बड़ी - सिर्फ़ गड़बड़ी के मैसेज को लॉग करता है.
    • dir: (डिफ़ॉल्ट: /var/tmp) वह डायरेक्ट्री जहां लॉग फ़ाइलें मौजूद होती हैं सेव किया गया.
    • stats_log_interval: (डिफ़ॉल्ट: 60) अंतराल, सेकंड में, जब आंकड़ें रिकॉर्ड, एपीआई लॉग फ़ाइल में लिखा जाता है.
    • rotate_interval: (डिफ़ॉल्ट: 24) इंटरवल, घंटों में, जब लॉग फ़ाइलें घुमाया गया.
  • dir: ./gateway डायरेक्ट्री से ./plugins डायरेक्ट्री या कोई ऐब्सलूट पाथ.
  • क्रम: आपके Edge माइक्रोगेटवे में जोड़ने के लिए, प्लगिन मॉड्यूल की सूची इंस्टेंस. मॉड्यूल उसी क्रम में काम करेंगे जिस क्रम में वे यहां दिए गए हैं.
  • डीबग: Edge माइक्रोगेटवे प्रोसेस में, रिमोट डीबगिंग की सुविधा जोड़ दी जाती है.
    • पोर्ट: वह पोर्ट नंबर जिस पर संगीत सुनना है. उदाहरण के लिए, अपना IDE डीबगर सेट करें सुनने के लिए.
    • आर्ग: डीबग प्रोसेस के लिए तर्क. उदाहरण के लिए: args --nolazy
  • config_change_poll_interval: (डिफ़ॉल्ट: 600 सेकंड) एज माइक्रोगेटवे समय-समय पर नए कॉन्फ़िगरेशन को लोड करता है और अगर कुछ बदलाव होता है, तो फिर से लोड करता है. पोल Edge पर किए गए किसी भी बदलाव (प्रॉडक्ट में बदलाव, माइक्रोगेटवे-अवेयर प्रॉक्सी वगैरह) को चुनता है लोकल कॉन्फ़िगरेशन फ़ाइल में किए गए बदलावों से भी बचें.
  • disable_config_poll_interval: (डिफ़ॉल्ट: गलत) सेट करें अपने-आप होने वाले बदलाव को बंद करने के लिए सही पर मतदान.

हेडर एट्रिब्यूट

ये सेटिंग कॉन्फ़िगर करती हैं कि कुछ एचटीटीपी हेडर का इस्तेमाल कैसे किया जाए.

  • x-forwarded-for: (डिफ़ॉल्ट: सही) रोकने के लिए गलत पर सेट करें टारगेट को भेजे जाने वाले हेडर के लिए x-forwarded-for हेडर.
  • x-forwarded-host: (डिफ़ॉल्ट: सही) रोकने के लिए गलत पर सेट करें टारगेट को भेजे जाने वाले x-forwarded-host हेडर.
  • x-request-id: (डिफ़ॉल्ट: सही) इसे रोकने के लिए 'गलत' पर सेट करें x-request-id हेडर को टारगेट को पास करना होगा.
  • x-response-time: (डिफ़ॉल्ट: true) इसे रोकने के लिए, 'गलत' पर सेट करें टारगेट को भेजे जाने वाले x-response-time हेडर के साथ.
  • के ज़रिए: (डिफ़ॉल्ट: सही) गलत पर सेट करें, ताकि हेडर के ज़रिए से: को लक्ष्य तक पहुंचाया गया.

oauth एट्रिब्यूट

इन सेटिंग से यह कॉन्फ़िगर किया जाता है कि Edge Microgateway की मदद से क्लाइंट की पुष्टि कैसे की जाती है.

  • allowNoAuthorization: (डिफ़ॉल्ट: गलत) अगर सही पर सेट किया जाता है, तो एपीआई कॉल को अनुमति वाले हेडर के बिना एज माइक्रोगेटवे से गुज़रने की अनुमति दी गई है. इसे इस पर सेट करें 'गलत' है, तब अनुमति देने वाला हेडर ज़रूरी है (डिफ़ॉल्ट).
  • allowInvalidAuthorization: (डिफ़ॉल्ट: गलत) अगर 'सही है' पर सेट किया जाता है, तो एपीआई कॉल अगर ऑथराइज़ेशन हेडर में पास किया गया टोकन अमान्य है या उसकी समयसीमा खत्म हो गई है, तो उसे पास किया जा सकता है. इसे सेट करें मान्य टोकन (डिफ़ॉल्ट) का इस्तेमाल करने के लिए, 'गलत' का इस्तेमाल करें.
  • अनुमति देने वाला हेडर: (डिफ़ॉल्ट: अनुमति देना: बेयरर) Edge Microgateway को ऐक्सेस टोकन भेजें. आप उन मामलों में डिफ़ॉल्ट को बदलना चाह सकते हैं जहां टारगेट को किसी दूसरे मकसद के लिए, अनुमति वाले हेडर का इस्तेमाल करना होगा.
  • api-key-header: (डिफ़ॉल्ट: x-api-key) हेडर या क्वेरी का नाम एक पैरामीटर का इस्तेमाल करके Edge माइक्रोगेटवे को एपीआई पासकोड भेजा जाता है. एपीआई पासकोड का इस्तेमाल करना भी देखें.
  • keepAuthHeader: (डिफ़ॉल्ट: गलत) अगर 'सही' पर सेट किया जाता है, तो अनुमति देने वाला हेडर जो अनुरोध भेजा जाता है उसे टारगेट पर भेज दिया जाता है (इसे सुरक्षित रखा जाता है).

प्लग इन के लिए खास एट्रिब्यूट

हर प्लग इन के लिए कॉन्फ़िगर किए जा सकने वाले एट्रिब्यूट की जानकारी के लिए, प्लग इन का इस्तेमाल करना देखें.

प्रॉक्सी फ़िल्टर करना

आपके पास यह फ़िल्टर करने की सुविधा है कि Edge Microgateway इंस्टेंस किन माइक्रोगेटवे-अवेयर प्रॉक्सी को प्रोसेस करेगा. Edge Microgateway के शुरू होने पर, यह सभी माइक्रोगेटवे-अवेयर प्रॉक्सी को डाउनलोड करता है संगठन से जुड़ा हो. नीचे दिए गए कॉन्फ़िगरेशन का इस्तेमाल करके यह तय करें कि माइक्रोगेटवे प्रोसेस हो जाएगा. उदाहरण के लिए, यह कॉन्फ़िगरेशन प्रॉक्सी को माइक्रोगेटवे को सीमित करता है तीन पर प्रोसेस होगा: edgemicro_proxy-1, edgemicro_proxy-2, और edgemicro_proxy-3:

proxies:
  - edgemicro_proxy-1
  - edgemicro_proxy-2
  - edgemicro_proxy-3

आंकड़ों के डेटा को मास्क करना

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

analytics:
  mask_request_uri: 'string_to_mask'
  mask_request_path: 'string_to_mask'

डीबग करना और समस्या का हल

डीबगर से कनेक्ट करना

एज माइक्रोगेटवे को डीबगर की मदद से चलाया जा सकता है. जैसे, node-inspector. यह इनके लिए काम का है का इस्तेमाल करें.

  1. डीबग मोड में Edge माइक्रोगेटवे को रीस्टार्ट करें. ऐसा करने के लिए, DEBUG=* को इसमें जोड़ें शुरुआती निर्देश की शुरुआत में मौजूद है. उदाहरण के लिए:

    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है DEBUG=* edgemicro start -o myorg -e test -k db4e9e8a95aa7fabfdeacbb1169d0a8cbe42bec19c6b98129e02 -s 6e56af7c1b26dfe93dae78a735c8afc9796b077d105ae5618ce7ed
  2. अपना डीबगर शुरू करें और डीबग करने की प्रोसेस के लिए इसे पोर्ट नंबर पर सुनने के लिए सेट करें.
  3. इसके बाद, एज माइक्रोगेटवे कोड इस्तेमाल करके ब्रेकपॉइंट सेट किया जा सकता है, वॉच एक्सप्रेशन सेट किए जा सकते हैं, और वगैरह.

डीबग मोड से जुड़े स्टैंडर्ड Node.js फ़्लैग तय किए जा सकते हैं. उदाहरण के लिए, --nolazy से, एसिंक्रोनस कोड को डीबग करने में मदद मिलती है.

लॉग फ़ाइलों की जांच की जा रही है

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

एपीआई पासकोड की सुरक्षा का इस्तेमाल करना

API (एपीआई) कुंजियों की मदद से, Edge के लिए अनुरोध करने वाले क्लाइंट की पुष्टि आसानी से की जा सकती है माइक्रोगेटवे. उपभोक्ता कुंजी (इसे Client-ID भी कहा जाता है) वैल्यू को कॉपी करके, एपीआई पासकोड हासिल किया जा सकता है Apigee Edge प्रॉडक्ट से मिला है जिसमें Edge Microgateway की पुष्टि करने वाला प्रॉक्सी शामिल है.

कुंजियों को कैश मेमोरी में सेव करना

एपीआई पासकोड, कैश मेमोरी में सेव किए गए बेयरर टोकन के लिए इस्तेमाल किए जाते हैं. आप सेटिंग करके कैश मेमोरी में सेव होने की सुविधा बंद कर सकते हैं Edge पर आने वाले अनुरोधों के लिए Cache-Control: no-cache हेडर माइक्रोगेटवे.

अगर Apigee का इस्तेमाल किया जा रहा है, तो समस्या हल करने के ये ज़रूरी तरीके हैं Edge का प्राइवेट क्लाउड वर्शन 15.07

Edge Private Cloud 15.07 पर, API पासकोड से जुड़ी सुरक्षा का इस्तेमाल करने के लिए, आपको यह समाधान लागू करना होगा यहां बताया गया है. इस तरीके का इस्तेमाल करने के लिए, आपको Node.js फ़ाइल की एक लाइन edgemicro-auth प्रॉक्सी पर जाएं और Edge Microgateway को रीस्टार्ट करें.

Edge के यूज़र इंटरफ़ेस (यूआई) में समाधान को लागू करें

इस प्रक्रिया के लिए आपको Edgemicro start निर्देश को फिर से चलाना होगा जब आपका काम पूरा हो जाए.

  1. Edge यूज़र इंटरफ़ेस (यूआई) में, प्रॉक्सी एडिटर में Edgemicro-auth प्रॉक्सी खोलें.
  2. 'डेवलप करें' टैब चुनें.
  3. Navigator में, स्क्रिप्ट के तहत, JavaScript फ़ाइल खोलें जिसे verify-api-key.js कहते हैं.
  4. लाइन 109:
    पर जाएं
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
    api_product_list: apigeeToken.app && apigeeToken.app.apiproducts ? apigeeToken.app.apiproducts : []
  5. "api_product_list" के बाद वाले हिस्से को बदलें: "हार्ड-कोडेड" के साथ प्रॉडक्ट का कलेक्शन ऐसे नाम जो उन एपीआई पासकोड से जुड़े हों जिनका आपको इस्तेमाल करना है. इसलिए, उदाहरण के लिए, अगर आपको किसी ऐसे डेवलपर ऐप्लिकेशन की कुंजी का इस्तेमाल करना जिसमें "Product-1" हो और "प्रॉडक्ट-2" फिर आप उसे कोड में बदल देते हैं, इस तरह की पंक्ति:

    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है api_product_list: ["Product-1", "Product-2"]
  6. 'सेव करें' पर क्लिक करें.
  7. Edgemicro start निर्देश चलाएं.

स्थानीय Edge Microgateway कोड बेस में लागू करें

इस प्रक्रिया के लिए, आपको Edgemicro Configure निर्देश को फिर से चलाना होगा, इसके बाद, Edgemicro start हो.

  1. खोलें फ़ाइल <microgateway-root-dir>/edge/auth/api/controllers/verify-api-key.js, जहां <microgateway-root-dir> वह डायरेक्ट्री है जिसमें Edge है आपके npm install निर्देश लागू होने पर, माइक्रोगेटवे इंस्टॉल किया गया था.
  2. लाइन 109:
    पर जाएं
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
    api_product_list: apigeeToken.app && apigeeToken.app.apiproducts ? apigeeToken.app.apiproducts : []
  3. "api_product_list" के बाद वाले हिस्से को बदलें: "हार्ड-कोडेड" के साथ प्रॉडक्ट का कलेक्शन ऐसे नाम जो उन एपीआई पासकोड से जुड़े हों जिनका आपको इस्तेमाल करना है. इसलिए, उदाहरण के लिए, अगर आपको किसी ऐसे डेवलपर ऐप्लिकेशन की कुंजी का इस्तेमाल करना जिसमें "Product-1" हो और "प्रॉडक्ट-2" फिर आप उसे कोड में बदल देते हैं, इस तरह की पंक्ति:

    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है api_product_list: ["Product-1", "Product-2"]
  4. फ़ाइल सेव करें.
  5. EdgemicroConfigure निर्देश का इस्तेमाल करें. इसके अलावा, अगर Edge Private Cloud का इस्तेमाल किया जा रहा है, तो Edgemicro private network का इस्तेमाल किया जा सकता है. यह निर्देश, Edgemicro-auth प्रॉक्सी को फिर से डिप्लॉय करता है.
  6. Edgemicro start निर्देश चलाएं.

OAuth2 टोकन सुरक्षा का इस्तेमाल किया जा रहा है

प्रॉक्सी अनुरोधों के साथ OAuth टोकन का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, सुरक्षित एज माइक्रोगेटवे.

इनकी मदद से एक API कुंजी

प्रॉक्सी अनुरोधों के साथ API कुंजियों का इस्तेमाल करने के बारे में जानकारी के लिए, सुरक्षित एज माइक्रोगेटवे.

एपीआई पासकोड का नाम कॉन्फ़िगर करना

डिफ़ॉल्ट रूप से, x-api-key एक नाम होता है. इसे एपीआई पासकोड के हेडर या क्वेरी के लिए इस्तेमाल किया जाता है पैरामीटर. कॉन्फ़िगरेशन में बदलाव करना में दिए गए तरीके से, कॉन्फ़िगरेशन फ़ाइल में जाकर इस डिफ़ॉल्ट सेटिंग को बदला जा सकता है. उदाहरण के लिए, नाम बदलकर apiKey करने के लिए:

oauth:
 allowNoAuthorization: false
 allowInvalidAuthorization: false
 api-key-header: apiKey